马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
仅是一个示例, 只写了往起点方向,
 - (defun c:tt (/ e p1 p2 len pts pam c ptl)
- (if (and (setq e (xdrx_entsel "\nSelect spline: " '((0 . "spline"))))
- (setq p1 (getpoint "\nBasepoint: "))
- (setq p2 (getpoint p1 "\nDirect: "))
- (setq len (getdist p1 "\nLength: "))
- )
- (progn
- (setq p1 (xdrx_curve_getclosestpoint (car e) p1)
- p2 (xdrx_curve_getclosestpoint (car e) p2)
- )
- (if (> (xdrx_curve_getparamatpoint (car e) p1)
- (xdrx_curve_getparamatpoint (car e) p2)
- )
- (progn
- (setq pam (xdrx_curve_getparamatpoint (car e) p1))
- (while
- (and (setq c (xdrx_circle_make p1 len))
- (setq pts (xdrx_entity_intersectwith c (car e) 0))
- (setq pts (vl-remove-if
- '(lambda (x)
- (> (xdrx_curve_getparamatpoint
- (car e)
- x
- )
- pam
- )
- )
- pts
- )
- )
- (setq p1 (if (= (length pts) 1)
- (car pts)
- (last (apply 'xdrx_points_sortoncurve
- (cons (car e) pts)
- )
- )
- )
- pam (xdrx_curve_getparamatpoint (car e) p1)
- )
- (setq ptl (cons p1 ptl))
- (progn (xdrx_entity_delete c) t)
- )
- )
- (xdrx_entity_delete c)
- (setq pl (apply 'xdrx_polyline_make ptl))
- (xdrx_setpropertyvalue pl "Color" 1)
- )
- )
- )
- )
- (princ)
- )
|