明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3677|回复: 8

三维多段线可以转成二维多段线吗?

[复制链接]
发表于 2007-11-25 17:41 | 显示全部楼层 |阅读模式

三维多段线可以转成二维多段线吗?

在线等,求大侠们援手!

 楼主| 发表于 2007-11-26 20:17 | 显示全部楼层
怎么转啊?期待高手们来解决下。
发表于 2007-11-26 22:28 | 显示全部楼层

用 ET 的Flatten 命令试试。

 楼主| 发表于 2007-11-27 15:48 | 显示全部楼层
本帖最后由 作者 于 2007-11-27 16:13:47 编辑

可以用。多谢了,研究下源程序,学习下,呵。

有点晕,看了会。源程序太乱了。

原理有大侠们讲下吗?

发表于 2007-11-27 19:49 | 显示全部楼层

人家的源程序那叫乱吗?呵呵。那叫专业,呵呵。不过我也看得晕。

 楼主| 发表于 2007-11-28 11:28 | 显示全部楼层
秋枫发表于2007-11-27 19:49:00人家的源程序那叫乱吗?呵呵。那叫专业,呵呵。不过我也看得晕。

都是函数调来调去的,真是晕。哈哈。
发表于 2009-2-28 09:31 | 显示全部楼层
看看我的图!
发表于 2009-2-28 09:40 | 显示全部楼层
为什么我的文件传不上去啊,老是让我正确选择要上传的文化,我选择要上传文件的类型了,可是好象选取不中啊,为什么啊?
 楼主| 发表于 2013-6-29 15:20 | 显示全部楼层
竟然看到了自己原来的贴子,现在这问题我也可以解决了:
;;;;
;;;;编制:孙寒宇
;;;;2013年6月29日
;;;;

(defun C:3dto2d ()
    (VL-LOAD-COM)
    (setq AcadObject (vlax-get-acad-object))  
    (setq AcadDocument (vla-get-ActiveDocument Acadobject))
    (setq mSpace (vla-get-ModelSpace Acaddocument))
    (setq selectall (ssget '((0 . "polyline"))))         ;过滤选择,指定选择类型
    (setq index 0)                                                 ;第一个指针
    (setq n 0)                                                        ;第二个指针
    (setq selong (sslength selectall))                    ;取得选择集的长度
       (repeat selong                                               ;指定循环的次数和选择集的长度一致,进入循环
(setq ename (ssname selectall index))  
(setq ent_tab (entget ename))
(setq str_0 (cdr (assoc 0 ent_tab )))
(setq Newobj (vlax-ename->vla-object ename))
(setq pts (vlax-variant-value (vla-get-coordinates Newobj)))
(vla-AddPolyline mSpace pts)
(entdel ename)                                               ;删了原来的3D线;
(setq table (entget (entlast)))                          ;对生成的2D线进行操作,目的是对它进行封
(if (= 2 (gcd (+ 2 (cdr (assoc '70 table))) 2))
                                        (progn  (setq orclosed (cdr (assoc '70 table)))
                                                (entmod (subst (cons 70 (+ orclosed 1) ) (assoc '70 table) table))
                                                (entupd (entlast))
                                                (redraw)
                                        )
                )                                                       ;封闭操作完成
(princ (strcat "\n将所选" (Itoa selong) "中的第" (itoa (+ 1 n)) "号3D多段线转为2D多段线...."))
(princ)
(setq n (+ 1 n))
(setq index (+ 1 index))
  );结束循环

       );结束程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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