(defun C:win (/ pt1 pt2 pt1x pt1y pt2x pt2y MOl MOr MOt MOb MOBL MOTL MOTR MOBR origOSMODE curLAYER FBL FTL FTR FBR sillleft sillright sash brail mrail Sb Sl St Sr SBL STL STR SBR curLAYER origOSMODE origAPERTURE MRt MRb MRTL MRTR MRBL MRBR picky pickleft pickright breakleft breakright ) (setq pt1 (getpoint "Pick two corners of a window in elevation:")) (setq pt2 (getpoint "Pick second corner:")) (setq pt1x (car pt1)) (setq pt1y (cadr pt1)) (setq pt2x (car pt2)) (setq pt2y (cadr pt2)) (if (< pt1x pt2x) (setq MOl pt1x MOr pt2x ) (setq MOl pt2x MOr pt1x ) ) (if (> pt1y pt2y) (setq MOt pt1y MOb pt2y ) (setq MOt pt2y MOb pt1y ) ) (setq MOBL (list MOl MOb)) (setq MOTL (list MOl MOt)) (setq MOTR (list MOr MOt)) (setq MOBR (list MOr MOb)) (setq origAPERTURE (getvar "aperture")) (setq origPICKBOX (getvar "pickbox")) (setq origOSMODE (getvar "osmode")) (setq curLAYER (getvar "clayer")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setvar "osmode" 0) (setvar "aperture" 1) (setvar "pickbox" 1) (setvar "clayer" "e-bold") (command "line" MOBL MOTL MOTR "") (setvar "clayer" "e-med") (command "line" MOTR MOBR MOBL "") (setq sillthick (getreal "Specify sill thickness: ")) (setq framethick (getreal "Specify Brickmould thickness: ")) (setq Fb (+ MOb sillthick)) (setq Fl (+ MOl framethick)) (setq Ft (- MOt framethick)) (setq Fr (- MOr framethick)) (setq FBL (list Fl Fb)) (setq FTL (list Fl Ft)) (setq FTR (list Fr Ft)) (setq FBR (list Fr Fb)) (command "line" FBL FTL FTR "") (setvar "clayer" "e-fine") (command "line" FTR FBR "") (setq sillleft (list MOl Fb)) (setq sillright (list MOr Fb)) (command "line" sillleft sillright "") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (initget 1 "Casement Hung") (setq wtype (getkword "Specify window type, asement/ung :")) (cond ((equal wtype "Casement") (progn (setq sash (getreal "Specify sash thickness: ")) (setq Sb (+ Fb sash)) (setq Sl (+ Fl sash)) (setq St (- Ft sash)) (setq Sr (- Fr sash)) (setq SBL (list Sl Sb)) (setq STL (list Sl St)) (setq STR (list Sr St)) (setq SBR (list Sr Sb)) (command "line" SBL STL STR "") (setvar "clayer" "e-xfine") (command "line" STR SBR SBL "") )) ;=========================================================================== ((equal wtype "Hung") (progn (setq sash (getreal "Specify side sash width: ")) (setq brail (getreal "Specify bottom rail thickness: ")) (setq mrail (getreal "Specify meeting rail thickness: ")) (setq Sb (+ Fb brail)) (setq Sl (+ Fl sash)) (setq St (- Ft sash)) (setq Sr (- Fr sash)) (setq SBL (list Sl Sb)) (setq STL (list Sl St)) (setq STR (list Sr St)) (setq SBR (list Sr Sb)) (command "line" SBL STL STR "") (setvar "clayer" "e-xfine") (command "line" STR SBR SBL "") (setq MRt (/ (+ mrail St Sb) 2)) (setq MRb (- MRt mrail)) (setq MRTL (list Sl MRt)) (setq MRTR (list Sr MRt)) (command "line" MRTL MRTR "") (setvar "clayer" "e-med") (setq MRBL (list Fl MRb)) (setq MRBR (list Fr MRb)) (command "line" MRBL MRBR "") (setq breakleft (list Sl MRb)) (setq breakright (list Sr MRb)) (setq picky (/ (+ Sb St) 2)) (setq pickleft (list Sl picky)) (setq pickright (list Sr picky)) (command "break" pickleft "f" MRTL breakleft) (command "break" pickright "f" MRTR breakright) ) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setvar "osmode" origOSMODE) (setvar "clayer" curLAYER) (setvar "aperture" origAPERTURE) (setvar "pickbox" origPICKBOX) (princ) )