匹配图层
大家好。。。我需要紧急帮助,希望有人能帮我。
我有一个包含我的标准图层的图形(母图形),在其他图形中,我有相同的图层,但其中一些图层与相同的颜色、线宽和线型不匹配。
是否有lisp可以从(母图形)中拉出图层并相应地修改其他图形中的图层?
谢谢XXXXXXXX 听起来您对使用绘图标准(.dws)感兴趣,或者您可能只是想从绘图中窃取。 对不起,那不是我现在需要的。
我想根据(母图)中的图层修改图层。 正如我之前建议的那样,您应该考虑使用标准文件(.DWS)。。。从帮助中:
CAD标准概述
HTH公司 打开“mother drawing”并另存为新的dwg。打开工作图,用ctrl+c组合键复制所有内容,切换到新创建的dwg并粘贴到原始坐标。。。 使用设计中心从“母亲”图纸中借用内容。 下面是一些应该将图层表数据导出到lisp文件(mother.lsp)中的内容,该文件可以反复使用。它对线条宽度一无所知
;;;EXPORT LAYER TABLES IN LSP FORMAT
;;;IGNORES XREF LAYERS
(defun c:x-laylsp (/ wf td ln lt lc ls lf lz ll)
(setq wf (open "mother.lsp" "w"))
(write-line "(command \"_.LAYER\")" wf)
(while (setq td (tblnext "LAYER" (not td)))
(setq ln (cdr (assoc 2 td))
lt (cdr (assoc 6 td))
lc (abs (cdr (assoc 62 td)))
ls (if (minusp (cdr (assoc 62 td))) "_Off" "_On")
lf (cdr (assoc 70 td))
lz (if (= (logand lf 1) 1) "_Freeze" "_Thaw")
ll (if (= (logand lf 4) 4) "_Lock" "_Unlock"))
(if (/= (logand lf 16) 16)
(progn
(write-line (strcat "(if (not (tblsearch \"LAYER\" \"" ln "\"))") wf)
(write-line (strcat " (command \"_New\" \"" ln "\") (princ))") wf)
(write-line (strcat "(if (tblsearch \"LTYPE\" \"" lt "\")") wf)
(write-line (strcat " (command \"_LTYPE\" \"" lt "\" \"" ln "\")")wf)
(write-line (strcat " (alert \"LINETYPE " lt " Does Not Exist In This Drawing\"))") wf)
(write-line (strcat "(command \"_Color\" \"" (itoa lc) "\" \"" ln "\")") wf)
(write-line (strcat "(command \"" ll "\" \"" ln "\")") wf)
(write-line (strcat "(command \"" ls "\" \"" ln "\")") wf)
(write-line (strcat "(command \"" lz "\" \"" ln "\")") wf)))
)
(write-line "(command \"\")" wf)
(close wf)
(prin1))
在子图形中:
命令:(加载“MOTHER”)
-大卫 也许我错了,但我认为如果你从母图创建了一个绘图模板。然后基于该模板开始一个新的图形,然后将给定的图形插入其中,然后所有具有类似名称的层都将具有母图形的属性。不需要lisp。
实际上,插入的任何层(或所述层上的实体)都将继承接收图形层的层特性。
使用图形标准文件(.DWS)可以“管理”图形,使其符合给定的标准。这些标准文件可以是严格的,也可以是灵活的,例如,在这种情况下,仅标准化层。 已经有很多方法了。图形标准是单向的(不是最快的,因为每次更改都需要单击)。
然后,saveas、erase all和copy-n-paste的想法已经过时了,但还不错——不幸的是,它没有考虑到纸空间选项卡和非图形化的东西,例如注册应用程序中的扩展数据(不总是需要的,但可能会导致插件/垂直应用程序出现问题)。或者,您可以使用Insert&Explode,基本上也是这样,但添加了所有非图形内容。对于选项卡,需要从另一个DWG(在选项卡的右键单击菜单上)导入它们。
至于设计中心。。。如果层还不存在,那就好了。但是,如果它有并且有一个非标准的颜色呢?不,不幸的是,对于这种情况,DC不是最好的。实际上,Lee的Steal和DC做的一样,它不会用导入的属性覆盖现有层,它只导入新层。
另一种方法可能是使用层状态。在母DWG中创建LS,并将其导出到LAS文件。然后导入并应用到其他文件中(甚至可以使用Lisp layerstate-*函数编写脚本,或者在较新版本的ACad中,LAYER命令还具有状态管理器)。
编辑:另一种方法是使用图层平移命令(LayTrans)。这样,您就不需要DWS,如果愿意,可以映射到DWG/DWT。然后只需单击地图相同按钮&平移。不幸的是,这无法在多个DWG上编写脚本。
页:
[1]
2