newbuser 发表于 2015-7-22 22:02:03

(defun Ent:Make_Poly (pts / e)
(setq e (Entmake (list '(0 . "POLYLINE") '(70 . 9))))
(foreach p pts
    (entmake (list '(0 . "VERTEX") '(70 . 32) (cons 10 p)))
)
(entmake '((0 . "SEQEND")))
e
)
(defun c:3l ()
(setq os (getvar 'osmode))
(setvar 'osmode 8)
(setq lst '())
(while (setq p (getpoint))
(setq lst (append lst (list p)))
)
(Ent:Make_Poly lst)
(setq e (entlast))
(setq obj (vlax-ename->vla-object e))
(if (equal (vlax-get-property obj 'closed) :vlax-true)
    (progn
      (vla-put-closed obj :vlax-false)
    )
    (progn
      nil
      )
)
(setvar 'osmode os)
)

hastan 发表于 2015-7-22 23:11:12

hastan 发表于 2015-7-23 06:16:38

newbuser 发表于 2015-7-23 07:59:26

你的要求是很难实现的啊。弧线都是多段线或者是arc类型的实体,不可能在同一坐标系下令两点高程处于不同高程。你还是不要想弧线了。
关于你说的框选改好有些困难啊,你的三维多段线都不在点上,用程序很难判断的。即便是在点上,对于一个没有节点的三维多段线无论如何都无法让中间点随你的点走。可能是我的理解不太正确,我只能这样解释了。

hastan 发表于 2015-7-23 19:22:01

xyp1964 发表于 2015-7-23 21:00:12

;; 先合并成整体再处理

hastan 发表于 2015-7-23 23:32:14

hastan 发表于 2015-7-24 19:09:15

hastan 发表于 2015-7-24 22:50:57

hastan 发表于 2015-7-24 22:51:38

页: 1 [2] 3 4 5
查看完整版本: 多段線z值批量改為正確高程