gothee 发表于 2014-8-22 17:43:15

关于三维多段线转二维多段线的问题

本帖最后由 gothee 于 2014-8-23 10:27 编辑

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

闭合处理不好,原三维多段线有闭合的和不闭合的,转为二维多段线后都变成了不闭合,求大神改进。。


代码原贴:http://bbs.mjtd.com/thread-69182-1-1.html,原三维多段线保留,生成新的二维多段线。
                  http://bbs.mjtd.com/thread-95157-1-1.html,原三维多段线转为二维多段线。



gothee 发表于 2014-8-22 17:44:54

本帖最后由 gothee 于 2014-8-25 08:46 编辑

希望实现原三维多段线转为二维多段线后,原属性是闭合的还闭合,不闭合的还是不闭合。。

gothee 发表于 2014-8-25 14:28:29

有木有大神帮下忙啊??

llsheng_73 发表于 2014-8-26 09:21:18

gothee 发表于 2014-8-22 17:44 static/image/common/back.gif
希望实现原三维多段线转为二维多段线后,原属性是闭合的还闭合,不闭合的还是不闭合。。

先判断出原三维多线段是否闭合再决定多线段的70组是否加1

gothee 发表于 2014-8-26 17:52:59

楼上能否帮我改下lisp。。
页: [1]
查看完整版本: 关于三维多段线转二维多段线的问题