lisp获取多段线顶点坐标函数,提取多段线凸度

  • A+
所属分类:CAD二次开发

如何提取多段线顶点坐标以及多段线的凸度参数了?多段线点坐标?

大家都知道多段线有圆弧和直线,凸度不等于0说明这段多段线就是圆弧,等于0就是直线,想要提取多段线里面的所有顶点坐标,和凸度很简单,下面代码举例

可以使用 (entget (car (entsel)))代码先查看多段线的数据结构。

自己编写提取一个多段线顶点函数。

;多段线坐标顶点点,凸度
(defun VL-PEL-xy(pel-xy-hj)
(if (setq pel-xy-hj(member (assoc 10 pel-xy-hj) pel-xy-hj))
(cons
(list (cdr(assoc 10 pel-xy-hj));坐标点
(cdr(assoc 40 pel-xy-hj)));凸度
(VL-PEL-xy (cdr pel-xy-hj))
)
)
)

复制

调用函数,调用命令 peee

(defun C:peee ( / p )

(setq p(car (entsel "\n选取对象:")))
(setq p (entget p))

(setq p(VL-PEL-xy p))

(princ p);显示数据
(princ )
)

复制

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: