
lisp里面点表的格式是怎样的,比如说一个多段线返回的点表?
2个回答
2017-04-18 · 知道合伙人软件行家
关注

展开全部
点表的样式可以在cad命令行查看,autolisp代码如下:
;命令TES;计算多段线节点坐标并加入表在命令行显示
(defun c:tes ( / ent i p1 ss1)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(if (null vlax-dump-object) (vl-load-com) );加载vlax函数
(if (and (setq ent (entsel "\n请选择多段线"))
(setq ent (car ent));提取lisp对象
(= (cdr (assoc 0 (entget ent))) "LWPOLYLINE");确认是多段线
)
(progn
(setq i (vlax-curve-getEndParam ent));计算节点数量
(if (vlax-curve-isClosed ent) (setq i (- i 1)) );如果对象封闭节点数量减少1
(setq ss1 '());建立空表
(while (> i -1);循环计算
(setq p1 (vlax-curve-getPointAtParam ent i));计算节点3D点
(setq ss1 (cons p1 ss1));点加人表
(setq i (- i 1));上一个节点
);while;循环结束
(princ ss1);命令行显示坐标表
)
)
(princ);程序结束
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询