如何将三维多段线转换为二维多段线。。。急用
在论坛上没找到。。。。麻烦解决下。。。 本帖最后由 wkq004 于 2017-12-25 18:13 编辑只加了框选
(defun C:tt (/ mspace ss n obj pts)
(VL-LOAD-COM)
(setq mSpace (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
(princ "\n选择集内的三维线转成多段线:")
(if (setq ss (ssget '((0 . "POLYLINE"))))
(repeat (setq n (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss (setq n (1- n)))))
(setq pts (vlax-variant-value (vla-get-coordinates obj)))
(vla-AddPolyline mSpace pts)
)
)
(princ)
)
Ref:
http://bbs.mjtd.com/thread-69182-1-1.html Andyhon 发表于 2012-7-3 20:59 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-69182-1-1.html
谢了。。能加个框选功能吗 Andyhon 发表于 2012-7-3 20:59 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-69182-1-1.html
三维多段线太多了。。。 (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)
) 能加个框选吗。。 忘高手给解决下。。。谢谢。。。 使用ET工具中的flatten即可实现. VBALISPER 发表于 2012-7-4 09:00 static/image/common/back.gif
使用ET工具中的flatten即可实现.
使用ET工具中的flatten使用后,一旦三维多段线多就出问题 VBALISPER 发表于 2012-7-4 09:00 static/image/common/back.gif
使用ET工具中的flatten即可实现.
上面的那个很好,就是没有框选功能。。
页:
[1]
2