(defun BLDPTS () (setq WDTH (getdist "\nEnter House Width: ") DPTH (getdist "\nEnter House Depth: ") SOFITA (getdist "\nEnter size of Soffit A: ") SOFITB (getdist "\nEnter size of Soffit B: ") FSIZE (getdist "\nEnter size of Fascia: ") RSIZE (getdist "\nEnter size of Rake: ") FRETRN (getdist "\nEnter size of Cornice Return: ") PTCH (getreal "\nEnter Pitch (? in 12): ") STPT (getpoint "\nDigitize Start Point: ") X1 (car STPT) X2 (- (car STPT) SOFITB) X3 (- (car STPT) SOFITA) Y (cadr STPT) Y1 (- (cadr STPT) SOFITA) Y2 (+ Y1 (SQRT (+ (EXPT RSIZE 2.0) (EXPT (/ (* RSIZE 12.0) PTCH) 2.0 ) ) ) ) Y3 (+ Y1 FRETRN) Y4 (+ Y1 (+ (/ DPTH 2.0) SOFITA)) Z1 (caddr STPT) Z2 (+ (caddr STPT) FSIZE) Z3 (+ Z2 (* (/ PTCH 12.0) (- Y4 Y2))) Z4 (+ Z2 (* (/ PTCH 12.0) (- Y4 Y1))) PT1 (list X3 Y1 Z1) PT2 (list X3 Y3 Z1) PT3 (list X3 Y3 Z2) PT4 (list X3 Y1 Z2) PT5 (list X2 Y1 Z2) PT6 (list X2 Y2 Z2) PT7 (list X1 Y2 Z2) PT8 (list X1 Y3 Z2) PT9 (list X2 Y3 Z2) PT10 (list X1 Y3 Z1) PT11 (list X2 Y4 Z3) PT12 (list X1 Y4 Z3) PT13 (list X2 Y4 Z4) PT14 (list (+ X2 WDTH (* SOFITB 2.0)) Y4 Z4) PT15 (list (+ X1 WDTH) Y Z1) PT16 (list (+ X3 WDTH (* SOFITA 2.0)) Y1 Z2) PT17 (list (car PT16) Y1 Z1) PT18 (list (+ X1 (/ WDTH 2.0)) Y4 Z4) PT19 (list (car PT18) Y1 Z2) PT20 (list (+ X2 WDTH (* SOFITB 2.0)) Y1 Z2) PT21 (list X1 Y4 Z2) PT22 (list X1 Y4 Z1) );end of setq statements );end of BLDPTS defun ;***** (defun ADFACE (P1 P2 P3 P4) (command "3dface" P1 P2 P3 P4 "" ) (setq FACE (entlast)) (ssadd FACE SELSET) );end ADFACE defun ;***** (defun 4CRNR () (command "mirror" SELSET "" PT13 PT18 "n" "mirror" SELSET "" PT18 PT19 "n" "array" SELSET "" "p" PT18 "2" "180" "y" ) (setq SELSET (ssadd)) );end 4CRNR defun ;***** (defun C:3DGAB () (if (/= (getvar "FLATLAND") 0) (setvar "FLATLAND" 0)) (BLDPTS) (echo-off) (SET-LAY "3-DFACE") (setq SELSET (ssadd)) (ADFACE PT1 PT2 PT3 PT4) (ADFACE PT3 PT4 PT5 PT9) (ADFACE PT6 PT7 PT8 PT9) (ADFACE PT2 PT3 PT8 PT10) (ADFACE PT1 PT2 PT10 STPT) (ADFACE PT5 PT6 PT11 PT13) (ADFACE PT6 PT7 PT12 PT11) (ADFACE PT7 PT21 PT12 PT7) (ADFACE PT8 PT21 PT22 PT10) (4CRNR) (ADFACE PT1 PT4 PT16 PT17) (ADFACE PT1 STPT PT15 PT17) (ADFACE PT5 PT13 PT14 PT20) (command "mirror" SELSET "" PT13 PT18 "n" ) (prin1) (REST-LAY) (echo-on) );end 3DGAB defun C: