马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - (defun c:tt (/ e p index p0 bulge l l1)
- (if (setq
- e (car (xdrx_entsel "\nPick Pline: " '((0 . "lwpolyline"))))
- )
- (while
- (and
- (progn
- (sssetfirst nil (ssget "P"))
- t
- )
- (setq p (getpoint "\nPoint: "))
- )
- (progn
- (setq p (xdrx_curve_getclosestpoint e p)
- index (fix (xdrx_curve_getparamatpoint e p))
- p0 (xdrx_curve_getpointatparam e index)
- bulge (xdrx_polyline_getbulgeat e index)
- l (xdrx_curve_getdistatpoint
- e
- p0
- (xdrx_curve_getpointatparam e (1+ index))
- )
- l1 (xdrx_curve_getdistatpoint e p0 p)
- )
- (xdrx_polyline_addvertexat e (1+ index) p)
- (xdrx_polyline_setbulgeat e index (* (/ l1 l) bulge))
- (xdrx_polyline_setbulgeat
- e
- (1+ index)
- (* (/ (- l l1) l) bulge)
- )
- )
- )
- )
- (princ)
- )
|