egoroom 发表于 2012-7-3 20:21:58

如何将三维多段线转换为二维多段线。。。急用

在论坛上没找到。。。。麻烦解决下。。。

wkq004 发表于 2017-12-25 18:09:47

本帖最后由 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)
)

Andyhon 发表于 2012-7-3 20:59:14

Ref:
http://bbs.mjtd.com/thread-69182-1-1.html

egoroom 发表于 2012-7-3 21:16:53

Andyhon 发表于 2012-7-3 20:59 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-69182-1-1.html

谢了。。能加个框选功能吗

egoroom 发表于 2012-7-3 21:17:25

Andyhon 发表于 2012-7-3 20:59 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-69182-1-1.html

三维多段线太多了。。。

egoroom 发表于 2012-7-3 22:14:48

(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)
   
)

egoroom 发表于 2012-7-3 22:15:20

能加个框选吗。。

egoroom 发表于 2012-7-3 22:23:52

忘高手给解决下。。。谢谢。。。

VBALISPER 发表于 2012-7-4 09:00:33

使用ET工具中的flatten即可实现.

egoroom 发表于 2012-7-4 09:33:20

VBALISPER 发表于 2012-7-4 09:00 static/image/common/back.gif
使用ET工具中的flatten即可实现.

使用ET工具中的flatten使用后,一旦三维多段线多就出问题

egoroom 发表于 2012-7-4 09:33:54

VBALISPER 发表于 2012-7-4 09:00 static/image/common/back.gif
使用ET工具中的flatten即可实现.

上面的那个很好,就是没有框选功能。。
页: [1] 2
查看完整版本: 如何将三维多段线转换为二维多段线。。。急用