曲线定距等分lisp_急求多段线等分之后,快速输出各个等分点距离多段线(曲线)起始点的距离,lisp程序!...

;等分多段线

(defun c:tes ( / d1 d2 ent n n1 p1)

(vl-load-com)

(setq n 1)

(while (

(initget 7)

(setq n (getint "\n请输入大于1的等分数值"))

)

(if (and (setq ent (entsel "\n请选择曲线"))

(setq ent (car ent))

(not (vl-catch-all-error-p (vl-catch-all-apply 'vlax-curve-getEndParam (list ent))));确认是曲线

)

(progn

(setq d1 (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)));曲线长度

(if (vlax-curve-isClosed ent) (setq n1 -1) (setq n1 0));判断是否封闭

(setq ss '())

(while (

(setq d2 (/ (* d1 n1) n));点到起点的长度

(setq p1 (vlax-curve-getPointAtDist ent d2));求得坐标

(setq ss (cons (list d2 p1) ss))

(entmake (list '(0 . "POINT") '(100 . "AcDbEntity") '(100 . "AcDbPoint") (cons 10 p1)));绘制等分点

);while

(princ (vl-prin1-to-string (reverse ss)));命令行输出距离及坐标

)

)

(princ)

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值