求助:xy平面任意两点作xz面上的矩形
请高手们帮忙设计一个lisp程序。
设计意图:利用点击建筑平面图中窗平面的两个角点,生成离地的窗洞,窗台高度H1,窗高H2,窗宽W。
操作顺序:在xy平面任意点击A点和B点,UCS坐标自动从任意状态改为以AB为X轴,原竖向的Z轴变成新UCS坐标的Y轴, 原Y轴变成新UCS坐标的Z轴,这时提示输入窗台高度H1和H2,自动画矩形。
;;;画矩形(连续绘制模式)
(defun C:LK (/ PT1 PT2 PT3 H w h k p1 p2 p3 p4)
(setq os (getvar "osmode"))
(setq cm (getvar "cmdecho"))
(setvar "osmode" 9)
(setvar "cmdecho" 0)
(command "ucs" "w")
(while (and (setq PT1 (getpoint "\nSpecify first point:"))
(setq PT2 (getpoint PT1 "\nSpecify secondly point:"))
)
(setq PT1x (car PT1) PT1y (cadr PT1) PT1z (caddr PT1))
(setq PT3 (list PT1x PT1y (+ PT1z 1000)))
(command "_.ucs" "n" "3" PT1 PT2 PT3)
(setq H (getdist "\n底边离地高度: "))
(setq w (distance PT1 PT2))
(setq h (getdist "\n矩形造型的高度: "))
(setq p1 (polar PT1 (/ pi 2) H))
(setq p2 (polar p1 (/ pi 2) h))
(setq p3 (polar p2 0 w))
(setq p4 (polar p1 0 w))
(command "pline" p1 p2 p3 p4 "c" "")
(setvar "osmode" os)
(setvar "cmdecho" cm)
(princ )
)
)
我写了以上一段,问题很多,第一ucs坐标经常出错,第二即使显示ucs坐标正确但矩形位置总是错的 已解决,原因是ucs没设好
页:
[1]