 - (defun c:tt ()
- "三点画门"
- (if (and (setq pt1 (getpoint "\n选择门洞插入点: "))
- (setq pt2 (getpoint pt1 "\n指定开启方向端点: "))
- (setq pt3 (getpoint pt2 "\n指定门板宽度确认点: "))
- )
- (progn
- (setq ang (angle pt1 pt2) ; 计算开启角度
- width (* (distance pt2 pt3) 0.5) ; 计算门板宽度
- ww (distance pt1 pt2) ; 门板长度默认取墙厚
- )
- (command "-layer" "m" "门构件" "c" "7" "" "lw" "0.3" "" "") ; 创建门图层
- (setq pt4 (polar pt1 ang ww) ; 右下角点
- pt1a (polar pt1 (+ ang (/ pi 2)) width) ; 计算左上角点
- pt4a (polar pt4 (+ ang (/ pi 2)) width) ; 右上角点
- pt4b (polar pt4 (- ang (/ pi 2)) width)
- )
- (command "pline" pt1 pt1a pt4a pt4 "c")
- (command "arc" pt1 "c" pt2 pt4b) ; 三点画弧
- )
- )
- (princ)
- )
|