hanyu_gis 发表于 2007-11-25 17:41:00

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

<p>三维多段线可以转成二维多段线吗?</p><p>在线等,求大侠们援手!</p>

hanyu_gis 发表于 2007-11-26 20:17:00

怎么转啊?期待高手们来解决下。

秋枫 发表于 2007-11-26 22:28:00

<p>用 ET 的Flatten 命令试试。</p>

hanyu_gis 发表于 2007-11-27 15:48:00

本帖最后由 作者 于 2007-11-27 16:13:47 编辑 <br /><br /> <p>可以用。多谢了,研究下源程序,学习下,呵。</p><p>有点晕,看了会。源程序太乱了。</p><p>原理有大侠们讲下吗?</p>

秋枫 发表于 2007-11-27 19:49:00

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

hanyu_gis 发表于 2007-11-28 11:28:00

秋枫发表于2007-11-27 19:49:00static/image/common/back.gif人家的源程序那叫乱吗?呵呵。那叫专业,呵呵。不过我也看得晕。

<p></p>都是函数调来调去的,真是晕。哈哈。

yuquanhanhan 发表于 2009-2-28 09:31:00

看看我的图!

yuquanhanhan 发表于 2009-2-28 09:40:00

为什么我的文件传不上去啊,老是让我正确选择要上传的文化,我选择要上传文件的类型了,可是好象选取不中啊,为什么啊?

hanyu_gis 发表于 2013-6-29 15:20:36

竟然看到了自己原来的贴子,现在这问题我也可以解决了:
;;;;
;;;;编制:孙寒宇
;;;;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]
查看完整版本: 三维多段线可以转成二维多段线吗?