mekis 发表于 2022-7-6 06:43:53

选择线型,分解

你好
我的问题是,一些假设为直线的直线被定义为多段线。下面的代码只分解一个选定的对象,有什么问题吗?
 
谢谢
/M
 
1.选择线型“LBR”
2、分解(要生成多段线->直线)
 

(if (setq lSet (ssget "_X" '((6 . "LBR"))))
((sssetfirst nil lSet))
)
(command ".explode" lSet)

MSasu 发表于 2022-7-6 07:07:20

默认情况下,从AutoLISP调用EXPLODE命令时,每次接受一个项目。
(if (setq lSet (ssget '((6 . "LBR"))))
(repeat (sslength lSet)
(command "_EXPLODE" (ssname lSet 0))
(ssdel (ssname lSet 0) lSet)
)
)
或者,通过VLISP调用:
(if (setq lSet (ssget '((6 . "LBR"))))
(vl-cmdf "_EXPLODE" lSet "")
)

MSasu 发表于 2022-7-6 07:22:13

另外两种方法:
(if (setq lSet (ssget "_X" '((6 . "LBR"))))
(progn
(setvar "QAFLAGS" 1)
(command "_EXPLODE" lSet "")
(setvar "QAFLAGS" 0)
)
)
(if (setq lSet (ssget "_X" '((6 . "LBR"))))
(progn
(initcommandversion 2)
(command"_EXPLODE" lSet "")
(initcommandversion 1)
)
)

mekis 发表于 2022-7-6 07:43:33

Thx有这么多选择

MSasu 发表于 2022-7-6 07:47:21

此外,仅为多段线添加过滤器也可能有用:
(setq lSet (ssget "_X" '((0 . "LWPOLYLINE") (6 . "LBR"))))
页: [1]
查看完整版本: 选择线型,分解