求助,论坛上三维多段线转二维多段线,望加个款选功能
(defun C:trans2d ()(VL-LOAD-COM)
(setq AcadObject (vlax-get-acad-object))
(setq AcadDocument (vla-get-ActiveDocument Acadobject))
(setq mSpace (vla-get-ModelSpace Acaddocument))
(setq ename (car (entsel "选择要转换的三维多段线:")))
(setq ent_data (entget ename))
(setq str_0 (cdr (assoc 0 ent_data)))
(while (/= str_0 "POLYLINE")
(setq ename (car (entsel "选择的实体非三维多段线,请重新选择!:")))
(setq ent_data (entget ename))
(setq str_0 (cdr (assoc 0 ent_data)))
)
(setq obj (vlax-ename->vla-object ename))
(setq pts (vlax-variant-value (vla-get-coordinates obj)))
(vla-AddPolyline mSpace pts)
(princ)
)
这是原文连接。。。
http://bbs.mjtd.com/thread-69182-1-1.html
没有框选功能。望改进。。 原址 10# 未合 (defun C:t2()
(VL-LOAD-COM)
(setq AcadObject (vlax-get-acad-object))
(setq AcadDocument (vla-get-ActiveDocument Acadobject))
(setq mSpace (vla-get-ModelSpace Acaddocument))
(setq ss1 (ssget '((0 . "POLYLINE"))))
(setq n (sslength ss1))
(setq m 0)
(while (< m n)
(setq ename (ssname ss1 m))
(setq ent_data (entget ename))
(setq str_0 (cdr (assoc 0 ent_data)))
(while (/= str_0 "POLYLINE")
(setq ename (car (entsel "选择的实体非三维多段线,请重新选择!:")))
(setq ent_data (entget ename))
(setq str_0 (cdr (assoc 0 ent_data)))
)
(setq obj (vlax-ename->vla-object ename))
(setq pts (vlax-variant-value (vla-get-coordinates obj)))
(vla-AddPolyline mSpace pts)
(setq m (+ 1 m))
);while
(command "_erase" ss1 "")
(princ)
) VBALISPER 发表于 2012-7-4 15:31 static/image/common/back.gif
(defun C:t2()
(VL-LOAD-COM)
你写的可以用了。。。太感谢了。。。 egoroom 发表于 2012-7-4 16:27 static/image/common/back.gif
你写的可以用了。。。太感谢了。。。
必须的.呵呵.我试过了才发上来的.不然就出丑了. VBALISPER 发表于 2012-7-4 18:57 static/image/common/back.gif
必须的.呵呵.我试过了才发上来的.不然就出丑了.
能改个三维多段线转多段线的吗?。。。再麻烦下 你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可
VBALISPER 发表于 2012-7-4 22:25 static/image/common/back.gif
你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可
不好意思。我不懂cad函数,我是做模型的。。。主要用3dsmax,想多学习点cad。。呵呵 VBALISPER 发表于 2012-7-4 22:25 static/image/common/back.gif
你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可
再麻烦下。。。谢谢
页:
[1]
2