13648893846 发表于 2019-1-13 00:06:21

模拟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))
                )
        )
)还请各位大佬优化一下

杜阳 发表于 2019-1-17 21:40:41

我来坐沙发   

yoyoho 发表于 2019-1-17 22:25:05

谢谢! 13648893846 分享学习!!!!!!

kugoo999 发表于 2019-1-24 09:09:37

谢谢! 13648893846 分享学习!!!!!!
页: [1]
查看完整版本: 模拟CASS微导线