- A+
所属分类:CAD二次开发
最近点可以有2种理解,一种是始终与一点开始计算最近点,另一种是以上一点开始计算距离,依次开始计算,这样的话就可以连成一条曲线。
直接上菜
(defun c:tt (/ lst ss n en pt lst pt1)
(setq ss (ssget '((0 . "point"))) n 0);;请选择点
(repeat (sslength ss);;循环选择
(setq en (ssname ss n);;提取图元
pt (trans(cdr (assoc 10 (entget en))) en 1);;取得点坐标 UCS
lst (cons pt lst);;加入表
n (+ n 1)
)
)
(princ lst)
(setq pt (getpoint "huojibk.com指定开始点"))
(command "spline") ;样条曲线命令
(repeat (length lst);循环计算
(setq lst (vl-sort lst
'(lambda (a b)
(> (distance a pt) (distance b pt));最近点排续
)
)
)
(setq pt1 (last lst));最后一个
(command pt pt1 )
(setq pt (last lst))
(setq lst (cdr(reverse lst)))
)
(command "" "" "")
)
复制
2022年8月20日 上午11:29 沙发
非常好!受益匪浅