外部参照';s
我写了一个脚本,autocad将打开一个指定的文件,执行一系列命令,然后创建一个dxf。在开始执行命令之前,我希望它选择所有外部参照并将其移动到特定层。
我尝试了“(ssget“X”((0)块引用“))”以及“(ssget“X”((0)外部参考“)”
似乎什么都没用。。。。
有什么想法吗? 也许这对你有用。。。很少测试
(vl-load-com)
(setq ss (ssget "_X" '((0 . "INSERT")))
idx -1
)
(repeat (sslength ss)
(setq obj (vlax-ename->vla-object (ssname ss (setq idx (1+ idx)))))
(if
(vlax-property-available-p obj 'Path)
(vlax-put obj 'Layer "LayerName")
)
)
因此,它必须符合以下脚本。理想情况下,这将在开始时完成,就在缩放/范围之后。
open
"f:/Retail_Focus/Retail_Focus_Data/Retail_Focus_Stores/DPatel/Tests/DXF 1/1004 Test L1.dwg"
.ZOOM
E
.layer T 0 T A350* T "BORDER INFORMATION" T AISLE* T CONST* T CORNICE T ELEC* T NOTE T "PLOT SHADE*" T FIX* T SEARS* T TAPE* T WIPEOUT T BCB* T ARCH* T DIV* T DEPT* ON 0 ON A350* ON "BORDER INFORMATION" ON AISLE* ON CONST* ON CORNICE ON ELEC* ON NOTE ON "PLOT SHADE*" ON FIX* ON SEARS* ON TAPE* ON WIPEOUT ON BCB* ON ARCH* ON DIV* ON DEPT*
.XREF B ****
.layer LO "*####*" LO "AISLE DEFINITION" LO TAPE* LO DIV* LO DEPT*
ERASE
ALL
.PURGE ALL * N
.REGENALL
.DXFOUT "K:/KmartApplications/Intactix/ProFloor/current_dxf/1004 L1.DXF" 3
.close
y 我试过你给我的,lpseifert,但最后我要么得到了“nil”要么得到了“(>)”。 如果您已经在脚本文件中插入了代码,我建议您调试它以找到错误所在。
如果您在命令行中输入代码,并且得到“(>”,请尝试按enter键。
如果你得到“零”,它可能会起作用;检查外部参照,查看图层是否已更改。
页:
[1]