批量选择图元(多段线、直线、样条曲线、圆弧)转换成多段线
(defun C:tt (/ PP PTLIST SEL T0 n)
(princ "\n请选择<多段线><直线段><样条曲线><圆弧>:")
(setq sea (ssget (list '(0 . "LWPOLYLINE,LINE,SPLINE,arc"))))
(initget 7)
(setq n 1000
(princ (strcat "\n共选择" (itoa (sslength sea)) "条线。"))
(getpt sea)
)
忙乎了一天,收点辛苦费。 wjl1014 发表于 2013-4-4 21:59
看看这个行不行。
亲测可行。。。。 辛苦费当然可以收!俺们自当交学费了。 不知道为什么,我的感觉好慢啊 选择对象:
共选择6条线。<图元名: 7ef9a268><图元名: 7ef9a260><图元名: 7ef9a258>; 错误: no function
definition: VLAX-ENAME->VLA-OBJECT
老大你的不行。。。。。
连直线都不行。。。。
(vl-load-com) (defun c:pp (/ pet ss)
(setq pet (getvar "PEDITACCEPT"))
(setvar "peditaccept" 1)
(setq entlist nil
ss1 (ssadd)
ss2 (ssadd)
)
(setq ss (ssget (list '(0 . "LWPOLYLINE,LINE,SPLINE,ARC"))))
(setq ssl (sslength ss)
i 0)
(princ "\n开始循环")
(repeat ssl
(setq a (ssname ss i))
(setq b (entget a))
(setq e (cdr (assoc 0 b)))
(princ e)
(princ "\n开始分类……")
(if (= e "SPLINE")
(ssadd a ss1)
(ssadd a ss2)
)
(princ "\n分类完成")
(princ (strcat "ss1对象数=" (itoa (sslength ss1)) "ss2对象数=" (itoa (sslength ss2))))
(setq i (1+ i))
)
(if (=(sslength ss1) 0)
(command "_pedit" (ssname ss 0) "j" ss "" "")
(command "_pedit" "m"ss "" 99"j" "" "")
)
(setvar "PEDITACCEPT" pet)
(princ)
)
;*** 请不要在注释下添加文字! ***|;
看看这个行不行。 flytoday 发表于 2013-4-4 21:50 static/image/common/back.gif
选择对象:
共选择6条线。; 错误: no function
definition: VLAX-ENAME->VLA-OBJECT
(vl-load-com) wjl1014 发表于 2013-4-4 21:58 static/image/common/back.gif
楼主这个木得反应嘛!附件不知道是不是 就是这个源码呢