是否可以用块替换点?
选择块(具有属性的点)和相同的功能….?!?!:哭泣:
当然在我的代码中,将单词“POINT”替换为“INSERT”(在两个位置),更改提示,所有提示都应该仍然有效
再次感谢!您的申请我的生活更轻松。。。
[摘自www.millan.net]
好东西advex! 这是另一个,基于点距离。。。选择第一个点,然后根据最近的下一个点进行常规连接:
(defun pointsarray ( ptst ptl / dptpt dptptlst mindptpt pten ptl )
(foreach pt ptl
(setq dptpt (distance ptst pt))
(setq dptptlst (cons dptpt dptptlst))
)
(setq dptptlst (vl-remove 0.0 dptptlst))
(setq mindptpt (eval (cons 'min dptptlst)))
(mapcar '(lambda (pt) (if (= (distance ptst pt) mindptpt) (setq pten pt))) ptl)
(setq ptlst (cons ptst ptlst))
(setq ptl (vl-remove ptst ptl))
(if (not (null ptl)) (pointsarray pten ptl) )
ptlst
)
(defun c:pts2lines ( / ss ssn pt ptl ptst ptlst )
(prompt "\nSelect points that you want to connect with lines")
(setq ss (ssget '((0 . "POINT") (210 0.0 0.0 1.0)) ))
(setq ssn (sslength ss) i ssn)
(repeat ssn
(setq pt (cdr (assoc 10 (entget (ssname ss (setq i (1- i)))))))
(setq ptl (cons pt ptl))
)
(setq ptl (reverse ptl))
(vl-cmdf "_.OSNAP" "node")
(setq ptst (getpoint "\nPick start point from witch to create continous array of lines obtained from rest of selected points"))
(setq ptlst (pointsarray ptst ptl))
(vl-cmdf "_.LINE")
(foreach pt ptlst
(vl-cmdf pt)
)
(vl-cmdf "")
(princ)
)
M、 R。
顺便说一句,如果要绘制多段线,只需将(vl cmdf“_.LINE”)替换为(vl cmdf“_.PLINE”)
感谢您发布应用程序,但算法不同。添加到收藏! 有趣的是,这些线是在选定点的所有可能组合中绘制的,但采用了三角剖分标准,这是MDT的一个示例。这意味着没有考虑交叉线。更好的是,我们可以选择交易三角形,但这将是一个计划。
页:
1
[2]