当年老柴还是设计师的时候, 我们整个设计部门就只有三个人,每个人负责一个项目。有的时候某一个项目比较紧急时,那个设计师就只能加班加点了。 通过上面这个例子,我们能知道一点: 旧的设计方式造成的设计工作无法并行,由此造成的效率低下是很可怕的。 那么,如何把设计项目平铺展开,做到能把更多的人力资源并行设计呢?这里就需要用到一个很多大型设计单位里面很常用的功能: 外部参照。
当年老柴还是设计师的时候, 我们整个设计部门就只有三个人,每个人负责一个项目。有的时候某一个项目比较紧急时,那个设计师就只能加班加点了。
通过上面这个例子,我们能知道一点: 旧的设计方式造成的设计工作无法并行,由此造成的效率低下是很可怕的。
那么,如何把设计项目平铺展开,做到能把更多的人力资源并行设计呢?这里就需要用到一个很多大型设计单位里面很常用的功能: 外部参照。
在以前没有外部参照的时候,当我们要把一张已经存在的图纸 (可能是上下游的其他同事的图纸) 加入到当前图纸的时候,一般都是用 INSERT 命令,然后点击“浏览”按钮来找寻一个 DWG 图纸,就能把这张图纸当做一个块插入绘图空间中。
而这种方法的坏处是显而易见的:
插入块以后,和源文件就失去了联系,源文件的后续更改不会被引入到新文件中;
由于是整体插入到图形中,所以文件尺寸会比较大;
在本文件的编辑也无法反馈到源文件中。
那么,为什么用外部参照就一目了然了,我们来看看外部参照中插入一个 DWG 文件的流程:
首先,找到面板中的“插入”选项卡中的“附着”
可以看到,附着 ATTACH 命令其实是支持很多文件类型的:
这里我们先不管其他文件类型(当然,其实很多我以前已经讲过了,比如 PDF 和点云),直接选择一个 DWG 文件作为外部参照插入(是的,又是这张 Block & Table ):
可以看见,除了显示的稍微淡了一点,其他好像并没有和插入一个块有差别,那么我们就通过各种方面来了解外部参照,这次我们先讲两点:
外部参照的显示
外部参照的灰度问题
可以在选项对话框中找到“显示”选项卡,右下角的“外部参照显示”条,拖动一下即可改变淡显效果。
以下是 0 或者小于 0 时的效果:
外部参照的图层问题
打开图层管理器,可以看到有很多名字是灰色显示的图层,这些就是外部参照所带来的图层,这些图层不可删除,不可重命名,也不可置为当前。
但是能够通过改变图层的打开关闭状态,或者是颜色属性等来修改外部参照对象中部分对象的显示结果:
外部参照的全局打开/关闭
使用 XREF 命令打开外部参照面板,就能够看到当前文件所附着的所有外部参照文件:
可以通过选中某一个外部参照,然后右键选择“卸载”的方式来将外部参照不显示,“重载”显示……
拆离的话可以连外部参照的引用都一并删除,这时,外部参照面板中的 Block & Table 项目就会消失,如果需要恢复就需要重新用 ATTACH 或者 XATTACH 命令重新插入一下。 绑定的话我们下次课会提到。
外部参照的更新
外部参照的双向更新
前面提到过,外部参照是一种可以实现双向更新的功能,在上面的例子中,当我的外部参照文件 Block & Table 有任何的更新并且保存了之后,主文件的打开方会收到一条这样的气泡通知:
而如果点击气泡通知中蓝色的链接,就会在当前文件中更新外部参照文件的显示。
这样的话,外部参照的拥有者和头文件的拥有者可以在互相有交互的情况下来进行设计项目的并行设计了。
上面是从外部参照更新到主文件的流程,接下来我们将在主文件中更新外部参照文件。
在选中外部参照的 DWG 之后,右键打开右键菜单:
选择“在位编辑外部参照”或者“打开外部参照”,会用不同的方式直接打开外部参照文件:
在位编辑外部参照:在当前文件中编辑外部参照文件,非选中外部参照文件的对象会被灰显;
打开外部参照:将外部参照文件在新的文件窗口中打开编辑;
在编辑完并且保存之后,外部参照文件同样会更新。
上面我们讲到了外部参照中的显示与更新功能, 这次我们先来讲一个关于绑定的:
外部参照的绑定
我们在使用外部参照的时候,一般都是作为外部文件来使用的,但是呢,有的时候我们希望把一部分外部参照的内容给绑定到本文件中,这个时候就需要用到绑定功能。
绑定功能有两个方式来实现:
首先是在外部参照面板中选中一个 DWG 的外部参照文件,从右键菜单中来进行“绑定”:
点击“绑定”后,会出现绑定方式的对话框:
这样的绑定,是将所有的文件内容(图形元素和格式数据)都变成当前图形中的一部分,而两种方法的绑定结果会略有不一致,我们用一个 Block.dwg 中名叫 Door 的块来做比较:
绑定: 绑定后的命名内容,会在绑定时用【原外部参照文件名 $0$ 命名对象】的命名方式来重命名,这样的方法主要是为了防止同名对象冲突,进行唯一命名的方式。
所以,绑定后的这个新块的名称就是 Block$0$Door 。
插入: 插入后的命名内容,都会直接使用原外部参照文件中的对象名来重命名,这时候如果主文件中也有和外部参照文件中一样的对象,就会直接采用重名忽略的手段来处理。
所以,插入后的这个块的名称仍旧是 Door ,但是如果主文件中也有叫 Door 的块,那就会用主文件中的 Door 来替换掉外部参照中的 Door 。
可能有的时候我们并不需要把整个图形对象都绑定进来,而只是需要把外部参照中的一些命名数据比如块或者图层导入到当前文件中,并且我不希望像设计中心 Design Center 那样需要处理重名忽略的情况,那么我们就可以使用 XBIND 命令。
运行 XBIND 命令之后,会打开“外部参照绑定”的对话框:
可以看到,有部分样式是有对象的,展开就可以把定义直接通过“添加”按钮增加到右边,最后点确定就会把选中的定义绑定到当前文件。注意默认的绑定方式是“绑定” (感觉我在说绕口令)
最后一种情况则和上面的正好相反,我希望从外部参照的图形对象中复制一部分对象到本文件中,那么也是可以办到的 (话说这种是不是有点像打不过就加入呢?)
这里需要用到 NCOPY 命令。
*PS :
NCOPY 命令曾经是 Express Tools 的一个小功能,因为实在太好用,广受好评,所以在某一个版本的 AutoCAD 中直接被拿到了本体,这样那些在安装的时候没有安装 Express Tools 组件的用户也可以使用它了。
使用 NCOPY 命令非常简单,直接运行命令,然后点击选择对象就可以了:
这里注意, NCOPY 的命令只能通过点击来选择对象,并不能通过框选来复数选择对象。 在选择完回车后,还可以通过指定一个位移的方式,来把复制出来的对象移动出去,以免新创建的对象和外部参照中的对象叠在一起。
这样就能把一部分的外部参照的对象复制出来,然后就能直接使用了。
显示、更新、绑定都讲完了, 这次我们主要来讲解关于路径的一些问题:
首先我们来看看路径的分类:
完整路径: 最常用的路径方式,记录的是外部参照文件的强地址,也就是说只要外部参照文件不换地方并且能够被访问到,这个外部参照永远就有效;
相对路径: 由于上下游的交流问题,文件难免会被发送,这个时候,相对路径就比较常用了。只要保持外部参照文件和主文件的相对路径关系不变(在同一盘符下的相对路径关系),就可以直接显示外部参照文件。
比如主文件如果是 C:DocumentsMain.dwg
而外部参照文件如果在 C:DownloadsXref.dwg
那么用 XATTACH 命令,以相对路径的方式添加到 Main.dwg 中之后,文件的保存路径显示就变成了: ..DownloadsXref.dwg
其中,【..】表示上一层文件夹,【.】则表示同一级别的文件。
*PS :
在最新的 AutoCAD 中,相对路径已经是插入外部参照时的默认选项,哪怕主文件没有保存也是这样。 只有当主文件保存到和外部参照不同的盘符的时候,才会被自动改成“完整路径”。
无路径: 不管什么路径,除了主文件旁以外,还会搜索下面几个路径中有没有指定文件:
在“选项”对话框的“文件”选项卡以及 PROJECTNAME 系统变量中定义的工程搜索路径
在“选项”对话框的“文件”选项卡上定义的支持搜索路径
在 Windows 应用程序快捷方式中指定的“启动”文件夹
了解了外部参照路径的类型以后,我们来看一个 Mac 独有的功能:路径映射。
在老柴当设计师的时候,我们当时会设置一个服务器,在服务器上的固定位置,放置一些可以作为外部参照插入的各类文件,比如图框或者公司 Logo 等等。而之前有个同学来私信,说他们公司也是这样操作的,唯一不同的是,他们组其他人都是用的 Windows 电脑,而他使用的是 Mac 电脑。
这里由于 OS 不同,所造成的问题就出现了,由于这是一个网络盘符,所以只能用绝对路径,但是同一个路径,在 Windows 和 Mac 上的表达方式则是完全不一致的,例如:
Windows : \my_fileserverprojects est itle.dwg
Mac : smb://my_fileserver/projects/test/title.dwg
看到了没有?不光前缀不一样,连斜杠的方向都是反的啊啊啊啊啊啊
当然, Mac 中的网络路径需要先映射到本地,这样就会变成:
/Volumes/my_filesercer/projects/title.dwg
所以如果是放置在服务器上的绝对路径的外部参照文件,那么在 Mac 上打开的话,就绝对无法加载 任何 的外部参照文件了。
那么有没有解决方案呢?当然有啦,这就是外部参照路径映射。
首先,运行 XREFPATHMAP 命令,会打开 Server Path Mapping 的对话框:
在对话框中,点击+
把 Windows 地址和映射到本地的 Mac 地址做个匹配即可。
注意这个并不会修改文件中的外部参照路径,所以不用担心打开保存后 Windows 端无法再打开。
至此,大部分的外部参照文件相关的功能都讲的差不多了,感谢阅读。