匿名用户
1级
2018-11-24 回答
(defun c:lwx() ; (setq p0 (getpoint "确定基点:")) ; (setq d (getreal "\n:")) ; (setq ld (getreal "\n:")) ; (if (> ld (* 2 d)) ; (princ "OK") (setq ld (* 2 d)) )(setq p1 (polar p0 (* 0.5 pi) (* 0.5 d))) ;计算p1至p14点坐标. (setq p2 (polar p1 0 (- ld (* 2 d)))) ;(polar ) (setq p3 (polar p1 0 (- ld (* 0.1 d)))) ;返回点的坐标,该点距的距离为, (setq p4 (polar p2 (* -0.5 pi) (* 0.1 d))) ;与X轴正方向的夹角为 (setq p5 (polar p4 0 (* 2 d))) (setq p6 (polar p0 0 ld)) (setq p7 (polar p0 0 (- ld (* 0.1 d)))) (setq p8 (polar p0 0 (- ld (* 2 d)))) (setq p9 (polar p0 (* 0.5 pi) d)) (setq p10 (polar p9 pi (* 0.7 d))) (setq p11 (polar p1 pi (* 0.7 d))) (setq p12 (polar p0 pi (* 0.7 d))) (setq p13 (polar p0 pi (* 0.9 d))) (setq p14 (polar p0 0 (+ ld (* 0.2 d)))) (setq ss (getvar "clayer")) ;取出当前层信息 (command "layer" "m" "center" "l" "center" "center" "") ;建立中心线层,并令其为当前层 (command "line" p13 p14 "") ;绘中心线 (setvar "clayer" ss) ;切换到连续线层 (command "pline" p0 "w" 0.6 0.6 p9 p10 p12 "") ;(command "pline" p11 p3 p5 p6 "") (command "pline" p2 p8 "" "pline" p3 p7 "") (command "line" p4 p5 "") (command "mirror" "c" p10 p6 "" p0 p6 "n") ; (command "ltscale" 5) ;改变线型比例 (princ) ;打印空行) ;程序结束