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