模拟CASS微导线
;;[功能]模拟CASS微导线;;[用法](LC:Microwire 起点 终点 方向点 距离)
;(car (trans (mapcar '- pt3 pt1) 0 (mapcar '- pt2 pt1)))左右判断
(defun LC:Microwire (pt1 pt2 pt3 dis / ang1 a)
(setq ang1 (angle pt1 pt2)
a (abs (- (angle pt1 pt3) ang1))
a (if (> a pi)
(- (* pi 2) a)
a
)
)
(cond
((<= a (* pi 0.25));延伸方向
(polar pt2 ang1 dis)
)
((and (<= (* pi 0.25) a (* pi 0.75)) (> (car (trans (mapcar '- pt3 pt1) 0 (mapcar '- pt2 pt1))) 0));左侧垂直方向
(polar pt2 (+ ang1 (* pi 0.5)) dis)
)
((and (<= (* pi 0.25) a (* pi 0.75)) (< (car (trans (mapcar '- pt3 pt1) 0 (mapcar '- pt2 pt1))) 0));右侧垂直方向
(polar pt2 (- ang1 (* pi 0.5)) dis)
)
((<= (* pi 0.75) a pi);相反方向
(polar pt2 ang1 (- dis))
)
)
)还请各位大佬优化一下 我来坐沙发 谢谢! 13648893846 分享学习!!!!!! 谢谢! 13648893846 分享学习!!!!!!
页:
[1]