最近在画新建建筑底图时,经常画一些开洞符号
论坛上很多大佬开发了很强的代码
不过,本人小白,对一些高级代码比较难理解
就自己写一个比较麻烦的~
各位前辈大佬多批评指正~
- (defun c:JS-HKD ( / a b c d x0 x1 y0 y1 p1 p2 p3 p4 p11 p22)
- (setq #k (getvar "clayer")) ;;取得当前图层
- (command "layer" "M" "S_辅助线" "C" 3 "" "")
- (setq p1 (getpoint"\n输入矩形的一个角点"))
- (setq p2 (getpoint"\n输入矩形的另一角点"))
- ;分离坐标
- (setq a (car p1))
- (setq b (cadr p1))
- (setq c (car p2))
- (setq d (cadr p2))
- ;判断取值
- (setq x0 (min a c))
- (setq y0 (min b d))
- (setq x1 (max a c))
- (setq y1 (max b d))
- ;赋值/对角坐标点
- (setq p11 (list x0 y0))
- (setq p22 (list x1 y1))
- ;读取差值
- (setq -x (- x1 x0))
- (setq -y (- y1 y0))
- ;给定折点
- (setq p3 (list (+ x0 (/ -x 4))(+ y0 (* -y 0.6))))
- ;绘图
- (command "rectangle" p11 p22 "")
- (command "pline" p11 p3 p22 "")
- (setvar "clayer" #k) ;;恢复原来图层
- (princ)
- )
|