三维多段线可以转成二维多段线吗?
<p>三维多段线可以转成二维多段线吗?</p><p>在线等,求大侠们援手!</p> 怎么转啊?期待高手们来解决下。 <p>用 ET 的Flatten 命令试试。</p> 本帖最后由 作者 于 2007-11-27 16:13:47 编辑 <br /><br /> <p>可以用。多谢了,研究下源程序,学习下,呵。</p><p>有点晕,看了会。源程序太乱了。</p><p>原理有大侠们讲下吗?</p> <p>人家的源程序那叫乱吗?呵呵。那叫专业,呵呵。不过我也看得晕。</p> 秋枫发表于2007-11-27 19:49:00static/image/common/back.gif人家的源程序那叫乱吗?呵呵。那叫专业,呵呵。不过我也看得晕。<p></p>都是函数调来调去的,真是晕。哈哈。 看看我的图! 为什么我的文件传不上去啊,老是让我正确选择要上传的文化,我选择要上传文件的类型了,可是好象选取不中啊,为什么啊? 竟然看到了自己原来的贴子,现在这问题我也可以解决了:
;;;;
;;;;编制:孙寒宇
;;;;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))
);结束循环
);结束程序
页:
[1]