明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3454|回复: 15

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

  [复制链接]
发表于 2012-7-4 14:11 | 显示全部楼层 |阅读模式
  1. (defun C:trans2d ()
  2.   (VL-LOAD-COM)
  3.   
  4.   (setq AcadObject (vlax-get-acad-object))
  5.   (setq AcadDocument (vla-get-ActiveDocument Acadobject))
  6.   (setq mSpace (vla-get-ModelSpace Acaddocument))

  7.   (setq ename (car (entsel "选择要转换的三维多段线:")))
  8.   (setq ent_data (entget ename))
  9.   (setq str_0 (cdr (assoc 0 ent_data)))
  10.   (while (/= str_0 "POLYLINE")
  11.     (setq ename (car (entsel "选择的实体非三维多段线,请重新选择!:")))
  12.     (setq ent_data (entget ename))
  13.     (setq str_0 (cdr (assoc 0 ent_data)))
  14.    )
  15.       (setq obj (vlax-ename->vla-object ename))
  16.       (setq pts (vlax-variant-value (vla-get-coordinates obj)))
  17.       (vla-AddPolyline mSpace pts)
  18.       (princ)
  19.      
  20. )

 楼主| 发表于 2012-7-4 14:12 | 显示全部楼层
这是原文连接。。。
http://bbs.mjtd.com/thread-69182-1-1.html
没有框选功能。望改进。。
发表于 2012-7-4 14:21 | 显示全部楼层
原址 10# 未合
发表于 2012-7-4 15:31 | 显示全部楼层
(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)     
)
 楼主| 发表于 2012-7-4 16:27 | 显示全部楼层
VBALISPER 发表于 2012-7-4 15:31
(defun C:t2()
        (VL-LOAD-COM)
  

你写的可以用了。。。太感谢了。。。
发表于 2012-7-4 18:57 | 显示全部楼层
egoroom 发表于 2012-7-4 16:27
你写的可以用了。。。太感谢了。。。

必须的.呵呵.我试过了才发上来的.不然就出丑了.
 楼主| 发表于 2012-7-4 22:10 | 显示全部楼层
VBALISPER 发表于 2012-7-4 18:57
必须的.呵呵.我试过了才发上来的.不然就出丑了.

能改个三维多段线转多段线的吗?。。。再麻烦下
发表于 2012-7-4 22:25 | 显示全部楼层
你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可
 楼主| 发表于 2012-7-4 22:43 | 显示全部楼层
VBALISPER 发表于 2012-7-4 22:25
你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可

不好意思。我不懂cad函数,我是做模型的。。。主要用3dsmax,想多学习点cad。。呵呵
 楼主| 发表于 2012-7-4 22:48 | 显示全部楼层
VBALISPER 发表于 2012-7-4 22:25
你干嘛不学着自己改.二维多段线和多段线就二字之差.也只改那么几个字母即可

再麻烦下。。。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-8 13:25 , Processed in 1.021892 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表