成功了!明亮的非常感谢。
这是供将来寻找它的人使用的代码。
- (defun c:grl3 (/ bb cl l os p1 p2 p3 p4)
- (setq os (getvar 'OSMODE))
- (setq cl (getvar 'CLAYER))
- (setvar 'OSMODE 183)
- (command "LAYER" "M" "Doors & Windows" "C" "21" "" "")
- (setq p1 (getpoint "Pick First Corner: ")
- p2 (getcorner p1 "\n Pick Diagonal Corner: ")
- l (list p1 p2)
- bb (list (apply 'mapcar (cons 'min l)) (apply 'mapcar (cons 'max l)))
- p3 (car bb) p4 (cadr bb)
- p1 (list (car p3) (cadr p4))
- p2 (list (car p4) (cadr p3))
- )
- (setvar 'OSMODE 0)
- (command "_LINE" (list (+ (car p1) 4) (cadr p1)) (list (+ (car p3) 4) (cadr p3)) "")
- (command "_LINE" (list (car p1) (- (cadr p1) 4)) (list (car p4) (- (cadr p4) 4)) "")
- (command "_LINE" (list (- (car p2) 4) (cadr p2)) (list (- (car p4) 4) (cadr p4)) "")
- (command "_LINE" (list (car p2) (+ (cadr p2) 4)) (list (car p3) (+ (cadr p3) 4)) "")
- (setvar 'CLAYER cl)
- (setvar 'OSMODE os)
- (princ)
- )
|