egoroom 发表于 2012-7-4 14:11:12

求助,论坛上三维多段线转二维多段线,望加个款选功能

(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-4 14:12:35

这是原文连接。。。
http://bbs.mjtd.com/thread-69182-1-1.html
没有框选功能。望改进。。

Andyhon 发表于 2012-7-4 14:21:23

原址 10# 未合

VBALISPER 发表于 2012-7-4 15:31:04

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

egoroom 发表于 2012-7-4 16:27:01

VBALISPER 发表于 2012-7-4 15:31 static/image/common/back.gif
(defun C:t2()
        (VL-LOAD-COM)



你写的可以用了。。。太感谢了。。。

VBALISPER 发表于 2012-7-4 18:57:53

egoroom 发表于 2012-7-4 16:27 static/image/common/back.gif
你写的可以用了。。。太感谢了。。。

必须的.呵呵.我试过了才发上来的.不然就出丑了.

egoroom 发表于 2012-7-4 22:10:56

VBALISPER 发表于 2012-7-4 18:57 static/image/common/back.gif
必须的.呵呵.我试过了才发上来的.不然就出丑了.

能改个三维多段线转多段线的吗?。。。再麻烦下

VBALISPER 发表于 2012-7-4 22:25:46

你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可

egoroom 发表于 2012-7-4 22:43:19

VBALISPER 发表于 2012-7-4 22:25 static/image/common/back.gif
你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可

不好意思。我不懂cad函数,我是做模型的。。。主要用3dsmax,想多学习点cad。。呵呵

egoroom 发表于 2012-7-4 22:48:02

VBALISPER 发表于 2012-7-4 22:25 static/image/common/back.gif
你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可

再麻烦下。。。谢谢
页: [1] 2
查看完整版本: 求助,论坛上三维多段线转二维多段线,望加个款选功能