;Filename: BEAMSEC.LSP Draw Reinforced Concrete Beam. (c)1997. BANH NGUYEN (defun BS1 () (setvar "blipmode" 1) (setvar "dimscale" 26) (setvar "cmdecho" 0) (prompt"\n***** BEAMSEC1.LSP Copyright 1997, Architect:BANH NGUYEN *****") (prompt"\n********** NEEDED to set LIMITS 1440 x 1080 or Larger **********\n") ;;;;Get information (setq p1 (getpoint"\n Pick Lower Left Beam Section Corner. ")) (setq w (getdist p1"\n Beam Width in Centimeter . <20 cm>? ")) (if (= w nil)(setq w 20)) (setq h (getdist p1"\n Beam Height in Centimeter. <40 cm>? ")) (if (= h nil)(setq h 40)) (setq l (getdist p1"\n Beam Length in Centimeter. <500 cm>? ")) (if (= l nil)(setq l 500)) ;;;;Draw concrete section (setq p2 (list (+(car p1) w) (cadr p1))) (setq p3 (list (car p2) (+(cadr p1) h))) (setq p4 (list (car p1) (cadr p3))) (command "viewres" "" 20000 "") (command "pline" p1 p2 p3 p4 p1 "") ;;;;Draw beam steel section (setq p5 (list (+(car p1) 3) (+(cadr p1) 3))) (setq p6 (list (-(car p2) 3) (+(cadr p2) 3))) (setq p7 (list (car p6) (-(cadr p3) 3))) (setq p8 (list (car p5) (cadr p7))) (setq b 1.066666) (setq f (* 2 b)) (command "donut" 0.01 f p5 "" "donut" 0.01 f p6 "" "donut" 0.01 f p7 "" "donut" 0.01 f p8 "") ;;;;Draw beam stirrup (setq e (* b 0.7071)) (setq p9a (list (car p5) (-(cadr p5) b))) (setq p9b (list (-(car p5) b) (cadr p5))) (setq p9c (list (-(car p8) e) (-(cadr p8) e))) (setq p9d (list (+(car p9c) 2) (-(cadr p9c) 2))) (setq p9e (list (+(car p8) e) (+(cadr p8) e))) (setq p9f (list (+(car p9e) 2) (-(cadr p9e) 2))) (setq p10a (list (car p6) (-(cadr p6) b))) (setq p10b (list (+(car p6) b) (cadr p6))) (setq p11a (list (car p7) (+(cadr p7) b))) (setq p11b (list (+(car p7) b) (cadr p7))) (setq p12a (list (car p8) (+(cadr p8) b))) (setq p12b (list (-(car p8) b) (cadr p8))) (command "line" p9a p10a "" ;Draw stirrup "line" p10b p11b "" "line" p11a p12a "" "line" p12b p9b "" "line" p9c p9d "" "line" p9e p9f "") ;;;;Draw beam (setq p9 (list (+(car p2) 60) (cadr p2))) (setq p10 (list (+(car p9) l) (cadr p2))) (setq p11 (list (car p10) (cadr p3))) (setq p12 (list (car p9) (cadr p3))) (command "pline" p9 p10 p11 p12 p9 "") ;Draw whole beam ;;;;Draw beam longitudinal steel (setq i (/ f 2.5)) (setq p13 (list (car p9) (cadr p6))) (setq p13a (list (-(car p13) 30) (cadr p13))) (setq p13b (list (car p13a) (+(cadr p13a) 4))) (setq p13c (list (+(car p13b) 2.5) (cadr p13b))) (setq p14 (list (car p10) (cadr p6))) (setq p14a (list (+(car p14) 30) (cadr p14))) (setq p14b (list (car p14a) (+(cadr p14) 4))) (setq p14c (list (-(car p14b) 2.5) (cadr p14b))) (setq p15 (list (car p10) (cadr p7))) (setq p15a (list (+(car p15) 30) (cadr p15))) (setq p15b (list (car p15a) (-(cadr p15) 4))) (setq p15c (list (-(car p15b) 2.5) (cadr p15b))) (setq p16 (list (car p9) (cadr p7))) (setq p16a (list (-(car p16) 30) (cadr p16))) (setq p16b (list (car p16a) (-(cadr p16a) 4))) (setq p16c (list (+(car p16b) 2.5) (cadr p16b))) (command "pline" p13c "w" i i p13b "A" p13a "L" p14a "A" p14b "L" p14c "" "pline" p15c p15b "A" p15a "L" p16a "A" p16b "L" p16c "w" 0 0 "") ;;;;Draw beam stirrup (command "line" p13 p16 "") (setq ma (/ l 80)) (fix ma) (setq count 0) (while (< count ma) (setq nu (+ 5 (/ count 0.28))) (command "array" "last" "" "R" 1 3 nu "") (setq count (1+ count)) );while ;Draw stirrup (command "line" p14 p15 "") (setq count1 0) (while (> count1 (- ma)) (setq ns (- 5 (/ count1 0.28))) (setq nss (- ns)) (command "array" "last" "" "R" 1 3 nss "") (setq count1 (1- count1)) );2nd while ;Draw stirrup ;;;;Draw beam axle (setq p17 (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 5))) (setq p18 (list (/(+(car p11)(car p12)) 2) (+(cadr p3) 10))) (command "color" "green" "ltscale" 20 "" "linetype" "set" "dashdot" "" "line" p17 p18 "" "linetype" "set" "continuous" "" "color" "white") ;Draw beam axle ;;;;Dimension (setq pdim1 (list (/(+(car p1)(car p2)) 2) (+ (cadr p3) 14))) (setq pdim2 (list (-(car p1) 14) (/(+(cadr p1) (cadr p4)) 2))) (setq pdim3 (list (/(+(car p11)(car p12)) 2) (+ (cadr p3) 14))) (command "luprec" 1 "" "dim1" "hor" p3 p4 pdim1 "" "dim1" "ver" p1 p4 pdim2 "" "dim1" "hor" p11 p12 pdim3 "" "color" "yellow") ;;;;Dtext for beam (setq pd (list (/(+(car p1)(car p2)) 2) (- (cadr p1) 24))) (setq p17a (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 24))) (setq p17aa (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 48))) (princ"\n Text at beam section. ") (command "dtext" "j" "c" pd 7 0 ;Text (princ"\n Text at middle beam. ") "dtext" "j" "c" p17a 7 0 (princ"\n Text for beam name. ") "dtext" "j" "c" p17aa 9 0 "color" "white" "redraw") (alert " ERASE or COPY Needed Entities Architect: BANH NGUYEN Copyright 1997 Thanks For Using This LISP File") (princ"\nBEAMSEC.LSP Draws Reinforced Concrete Beam. Start --> BES") (princ) );defun bs1 ;Filename: BEAMSEC.LSP Draw Reinforced Concrete Beam. (c)1997. BANH NGUYEN (defun BS2 () (setvar "blipmode" 1) (setvar "dimscale" 26) (setvar "cmdecho" 0) ;(command "dim1" "save" "banh") (prompt"\n***** BEAMSEC2.LSP Copyright 1997, Architect:BANH NGUYEN *****") (prompt"\n********** NEEDED to set LIMITS 1440 x 1080 or Larger **********\n") ;;;;Get information (setq p1 (getpoint"\n Pick Lower Left Beam Section Corner. ")) (setq w (getdist p1"\n Beam Width in Centimeter . <20 cm>? ")) (if (= w nil)(setq w 20)) (setq h (getdist p1"\n Beam Height in Centimeter. <40 cm>? ")) (if (= h nil)(setq h 40)) (setq l (getdist p1"\n Beam Length in Centimeter. <500 cm>? ")) (if (= l nil)(setq l 500)) (setq cw (getdist p1"\n Column Width in Centimeter . <20 cm>?")) (if (= cw nil)(setq cw 20)) ;;;;Draw concrete section (setq p2 (list (+(car p1) w) (cadr p1))) (setq p3 (list (car p2) (+(cadr p1) h))) (setq p4 (list (car p1) (cadr p3))) (command "viewres" "" 20000 "") (command "pline" p1 p2 p3 p4 p1 "") ;;;;Draw beam steel section (setq p5 (list (+(car p1) 3) (+(cadr p1) 3))) (setq p6 (list (-(car p2) 3) (+(cadr p2) 3))) (setq p7 (list (car p6) (-(cadr p3) 3))) (setq p8 (list (car p5) (cadr p7))) (setq b 1.066666) (setq f (* 2 b)) (command "donut" 0.01 f p5 "" "donut" 0.01 f p6 "" "donut" 0.01 f p7 "" "donut" 0.01 f p8 "") ;;;;Draw beam stirrup (setq e (* b 0.7071)) (setq p9a (list (car p5) (-(cadr p5) b))) (setq p9b (list (-(car p5) b) (cadr p5))) (setq p9c (list (-(car p8) e) (-(cadr p8) e))) (setq p9d (list (+(car p9c) 2) (-(cadr p9c) 2))) (setq p9e (list (+(car p8) e) (+(cadr p8) e))) (setq p9f (list (+(car p9e) 2) (-(cadr p9e) 2))) (setq p10a (list (car p6) (-(cadr p6) b))) (setq p10b (list (+(car p6) b) (cadr p6))) (setq p11a (list (car p7) (+(cadr p7) b))) (setq p11b (list (+(car p7) b) (cadr p7))) (setq p12a (list (car p8) (+(cadr p8) b))) (setq p12b (list (-(car p8) b) (cadr p8))) (command "line" p9a p10a "" ;Draw stirrup "line" p10b p11b "" "line" p11a p12a "" "line" p12b p9b "" "line" p9c p9d "" "line" p9e p9f "") ;;;;Draw beam (setq p9 (list (+(car p2) 40 cw) (cadr p2))) (setq p10 (list (+(car p9) l) (cadr p2))) (setq p11 (list (car p10) (cadr p3))) (setq p12 (list (car p9) (cadr p3))) (command "pline" p9 p10 p11 p12 p9 "") ;Draw whole beam ;;;;Draw beam longitudinal steel (setq i (/ f 2.5)) (setq p13 (list (car p9) (cadr p6))) (setq p13a (list (-(car p13) cw -4) (cadr p13))) (setq p13b (list (car p13a) (+(cadr p13a) 4))) (setq p13c (list (+(car p13b) 2.5) (cadr p13b))) (setq p14 (list (car p10) (cadr p6))) (setq p14a (list (+(car p14) cw -4) (cadr p14))) (setq p14b (list (car p14a) (+(cadr p14) 4))) (setq p14c (list (-(car p14b) 2.5) (cadr p14b))) (setq p15 (list (car p10) (cadr p7))) (setq p15a (list (car p14a) (cadr p15))) (setq p15b (list (+(car p15a) 2) (-(cadr p15a) 2))) (setq p15c (list (car p15b) (+(cadr p14b) 5))) (setq p15d (list (-(car p15c) 4) (cadr p15c))) (setq p15e (list (car p15d) (+(cadr p15d) 2.5))) (setq p16 (list (car p9) (cadr p7))) (setq p16a (list (car p13a) (cadr p16))) (setq p16b (list (-(car p16a) 2) (-(cadr p16a) 2))) (setq p16c (list (car p16b) (+(cadr p13b) 5))) (setq p16d (list (+(car p16c) 4) (cadr p16c))) (setq p16e (list (car p16d) (+(cadr p16d) 2.5))) (command "pline" p13c "w" i i p13b "A" p13a "L" p14a "A" p14b "L" p14c "" "pline" p16e p16d "A" p16c "L" p16b "A" p16a "L" p15a "a" p15b "l" p15c "a" p15d "l" p15e "w" 0 0 "") ;;;;Draw column (setq t1 (list (car p12) (+(cadr p12) h))) (setq t2 (list (-(car t1) cw) (cadr t1))) (setq t3 (list (car t1) (-(cadr p9) h))) (setq t4 (list (car t2) (cadr t3))) (setq tm (list (/(+(car t1) (car t2)) 2) (cadr t1))) (setq t1a (list (+(car t1) 15) (cadr t1))) (setq t1b (list (+(car tm) 3) (cadr tm))) (setq t1c (list (car t1b) (-(cadr t1b) 2))) (setq t2a (list (-(car t2) 15) (cadr t2))) (setq t2b (list (-(car tm) 3) (cadr tm))) (setq t2c (list (car t2b) (+(cadr t2b) 2))) (setq t3a (list (+(car t3) 15) (cadr t3))) (setq t3b (list (+(car tm) 3) (cadr t3a))) (setq t3c (list (car t3b) (-(cadr t3b) 2))) (setq t4a (list (-(car t4) 15) (cadr t4))) (setq t4b (list (-(car tm) 3) (cadr t4))) (setq t4c (list (car t4b) (+(cadr t4b) 2))) (setq j1 (list (car p11) (+(cadr p11) h))) (setq j2 (list (+(car j1) cw) (cadr j1))) (setq j3 (list (car j1) (-(cadr p10) h))) (setq j4 (list (car j2) (cadr j3))) (setq jm (list (/(+(car j1) (car j2)) 2) (cadr j1))) (setq j1a (list (-(car j1) 15) (cadr j1))) (setq j1b (list (-(car jm) 3) (cadr jm))) (setq j1c (list (car j1b) (+(cadr j1b) 2))) (setq j2a (list (+(car j2) 15) (cadr j2))) (setq j2b (list (+(car jm) 3) (cadr jm))) (setq j2c (list (car j2b) (-(cadr j2b) 2))) (setq j3a (list (-(car j3) 15) (cadr j3))) (setq j3b (list (-(car jm) 3) (cadr j3a))) (setq j3c (list (car j3b) (+(cadr j3b) 2))) (setq j4a (list (+(car j4) 15) (cadr j4))) (setq j4b (list (+(car jm) 3) (cadr j4))) (setq j4c (list (car j4b) (-(cadr j4b) 2))) (command "color" "c" "line" t3 t1 "" "line" t4 t2 "" "line" j3 j1 "" "line" j4 j2 "" "color" "r" "line" t2a t2b t2c t1c t1b t1a "" "line" t4a t4b t4c t3c t3b t3a "" "line" j2a j2b j2c j1c j1b j1a "" "line" j4a j4b j4c j3c j3b j3a "" "color" "w") ;;;;Draw beam stirrup (command "line" p13 p16 "") (setq ma (/ l 80)) (fix ma) (setq count 0) (while (< count ma) (setq nu (+ 5 (/ count 0.28))) (command "array" "last" "" "R" 1 3 nu "") (setq count (1+ count)) );while ;Draw stirrup (command "line" p14 p15 "") (setq count1 0) (while (> count1 (- ma)) (setq ns (- 5 (/ count1 0.28))) (setq nss (- ns)) (command "array" "last" "" "R" 1 3 nss "") (setq count1 (1- count1)) );2nd while ;Draw stirrup ;;;;Draw beam axle (setq p17 (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 5))) (setq p18 (list (/(+(car p11)(car p12)) 2) (+(cadr p3) 10))) (command "color" "green" "ltscale" 20 "" "linetype" "set" "dashdot" "" "line" p17 p18 "" "linetype" "set" "continuous" "" "color" "white") ;Draw beam axle ;;;;Dimension (setq pdim1 (list (/(+(car p1)(car p2)) 2) (+ (cadr p3) 14))) (setq pdim2 (list (-(car p1) 14) (/(+(cadr p1) (cadr p4)) 2))) (setq pdim3 (list (/(+(car p11)(car p12)) 2) (+ (cadr p3) 14))) (setq pdim4 (list (/(+(car t1)(car t2)) 2) (+ (cadr t1) 14))) (setq pdim5 (list (/(+(car j1)(car j2)) 2) (+ (cadr j1) 14))) (command "luprec" 1 "" "dim1" "hor" p3 p4 pdim1 "" "dim1" "ver" p1 p4 pdim2 "" "dim1" "hor" p11 p12 pdim3 "" "dim1" "hor" t2 t1 pdim4 "" "dim1" "hor" j1 j2 pdim5 "") ;;;;Dtext for beam (setq pd (list (/(+(car p1)(car p2)) 2) (- (cadr p1) 24))) (setq p17a (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 24))) (setq p17aa (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 48))) (princ"\n Text at beam section. ")(princ) (command "color" "m" "dtext" "j" "c" pd 7 0 ;Text (princ"\n Text at middle beam. ") "dtext" "j" "c" p17a 7 0 (princ"\n Text for beam name. ") "dtext" "j" "c" p17aa 9 0 "color" "white" "redraw") (alert " ERASE or COPY Needed Entities Architect: BANH NGUYEN Copyright 1997 Thanks For Using This LISP File") (princ"\nBEAMSEC.LSP Draws Reinforced Concrete Beam. Start -> BES") (princ) );defun BS2 ;Filename: BEAMSEC.LSP Draw Reinforced Concrete Beam. (c)1997. BANH NGUYEN (defun BS3 () (setvar "blipmode" 1) (setvar "dimscale" 26) (setvar "cmdecho" 0) ;(command "dim1" "save" "banh") (prompt"\n***** BEAMSEC3.LSP Copyright 1997, Architect:BANH NGUYEN *****") (prompt"\n********** NEEDED to set LIMITS 1440 x 1080 or Larger **********\n") ;;;;Get information (setq p1 (getpoint"\n Pick Lower Left Beam Section Corner. ")) (setq w (getdist p1"\n Beam Width in Centimeter . <20 cm>? ")) (if (= w nil)(setq w 20)) (setq h (getdist p1"\n Beam Height in Centimeter. <40 cm>? ")) (if (= h nil)(setq h 40)) (setq l (getdist p1"\n Beam Length in Centimeter. <500 cm>? ")) (if (= l nil)(setq l 500)) ;;;;Draw concrete section at end (setq p2 (list (+(car p1) w) (cadr p1))) (setq p3 (list (car p2) (+(cadr p1) h))) (setq p4 (list (car p1) (cadr p3))) (command "viewres" "" 20000 "") (command "pline" p1 p2 p3 p4 p1 "") ;;;;Draw beam steel section at end (setq p5 (list (+(car p1) 3) (+(cadr p1) 3))) (setq p6 (list (-(car p2) 3) (+(cadr p2) 3))) (setq p7 (list (car p6) (-(cadr p3) 3))) (setq p8 (list (car p5) (cadr p7))) (setq pm1 (list (/(+(car p7) (car p8)) 2) (cadr p7))) (setq b 1.066666) (setq f (* 2 b)) (command "donut" 0.01 f p5 "" "donut" 0.01 f p6 "" "donut" 0.01 f p7 "" "donut" 0.01 f p8 "" "donut" 0.01 f pm1 "") ;;;;Draw beam (setq p9 (list (-(car p1) 10) (+(cadr p1) h 60))) (setq p10 (list (+(car p9) l) (cadr p9))) (setq p11 (list (car p10) (+(cadr p10) h))) (setq p12 (list (car p9) (cadr p11))) (command "pline" p9 p10 p11 p12 p9 "") ;Draw whole beam ;;;;Draw beam stirrup at end section (setq e (* b 0.7071)) (setq p9a (list (car p5) (-(cadr p5) b))) (setq p9b (list (-(car p5) b) (cadr p5))) (setq p9c (list (-(car p8) e) (-(cadr p8) e))) (setq p9d (list (+(car p9c) 2) (-(cadr p9c) 2))) (setq p9e (list (+(car p8) e) (+(cadr p8) e))) (setq p9f (list (+(car p9e) 2) (-(cadr p9e) 2))) (setq p10a (list (car p6) (-(cadr p6) b))) (setq p10b (list (+(car p6) b) (cadr p6))) (setq p11a (list (car p7) (+(cadr p7) b))) (setq p11b (list (+(car p7) b) (cadr p7))) (setq p12a (list (car p8) (+(cadr p8) b))) (setq p12b (list (-(car p8) b) (cadr p8))) (command "line" p9a p10a "" ;Draw stirrup "line" p10b p11b "" "line" p11a p12a "" "line" p12b p9b "" "line" p9c p9d "" "line" p9e p9f "") ;;;;Draw concrete section at middle (setq p1n (list (/(+(car p9) (car p10)) 2) (cadr p1))) (setq p1m (list (-(car p1n) (/ w 2)) (cadr p1n))) (setq p2m (list (+(car p1m) w) (cadr p1m))) (setq p3m (list (car p2m) (+(cadr p1m) h))) (setq p4m (list (car p1m) (cadr p3m))) (command "pline" p1m p2m p3m p4m p1m "") ;;;;Draw beam steel section at middle (setq p5m (list (+(car p1m) 3) (+(cadr p1m) 3))) (setq p6m (list (-(car p2m) 3) (+(cadr p2m) 3))) (setq p7m (list (car p6m) (-(cadr p3m) 3))) (setq p8m (list (car p5m) (cadr p7m))) (setq pm1m (list (/(+(car p5m) (car p6m)) 2) (cadr p5m))) (command "donut" 0.01 f p5m "" "donut" 0.01 f p6m "" "donut" 0.01 f p7m "" "donut" 0.01 f p8m "" "donut" 0.01 f pm1m "") ;;;;Draw beam stirrup at middle section (setq p9am (list (car p5m) (-(cadr p5m) b))) (setq p9bm (list (-(car p5m) b) (cadr p5m))) (setq p9cm (list (-(car p8m) e) (-(cadr p8m) e))) (setq p9dm (list (+(car p9cm) 2) (-(cadr p9cm) 2))) (setq p9em (list (+(car p8m) e) (+(cadr p8m) e))) (setq p9fm (list (+(car p9em) 2) (-(cadr p9em) 2))) (setq p10am (list (car p6m) (-(cadr p6m) b))) (setq p10bm (list (+(car p6m) b) (cadr p6m))) (setq p11am (list (car p7m) (+(cadr p7m) b))) (setq p11bm (list (+(car p7m) b) (cadr p7m))) (setq p12am (list (car p8m) (+(cadr p8m) b))) (setq p12bm (list (-(car p8m) b) (cadr p8m))) (command "line" p9am p10am "" ;Draw stirrup "line" p10bm p11bm "" "line" p11am p12am "" "line" p12bm p9bm "" "line" p9cm p9dm "" "line" p9em p9fm "") ;;;;Draw beam longitudinal steel (setq i (/ f 2.5)) (setq p13 (list (car p9) (+(cadr p9) 3))) (setq p13a (list (-(car p13) 30) (cadr p13))) (setq p13b (list (car p13a) (+(cadr p13a) 4))) (setq p13c (list (+(car p13b) 2.5) (cadr p13b))) (setq p14 (list (car p10) (cadr p13))) (setq p14a (list (+(car p14) 30) (cadr p14))) (setq p14b (list (car p14a) (+(cadr p14a) 4))) (setq p14c (list (-(car p14b) 2.5) (cadr p14b))) (setq p15 (list (car p10) (-(cadr p11) 3))) (setq p15a (list (+(car p15) 30) (cadr p15))) (setq p15b (list (car p15a) (-(cadr p15a) 4))) (setq p15c (list (-(car p15b) 2.5) (cadr p15b))) (setq p16 (list (car p9) (cadr p15))) (setq p16a (list (-(car p16) 30) (cadr p16))) (setq p16b (list (car p16a) (-(cadr p16a) 4))) (setq p16c (list (+(car p16b) 2.5) (cadr p16b))) (setq pa1 (list (+(car p16) (/ l 5)) (cadr p16))) (setq pa2 (list (+(car pa1) (- h 6)) (cadr p13))) (setq pa3 (list (-(car p15) (/ l 5)) (cadr p15))) (setq pa4 (list (-(car pa3) (- h 6)) (cadr p13))) (command "pline" p13c "w" i i p13b "A" p13a "L" p14a "A" p14b "L" p14c "" "pline" p15c p15b "A" p15a "L" p16a "A" p16b "L" p16c "" "pline" pa1 pa2 "" "pline" pa3 pa4 "w" 0 0 "") ;;;;Draw beam stirrup (command "line" p13 p16 "") (setq ma (/ l 80)) (fix ma) (setq count 0) (while (< count ma) (setq nu (+ 5 (/ count 0.28))) (command "array" "last" "" "R" 1 3 nu "") (setq count (1+ count)) );while ;Draw stirrup (command "line" p14 p15 "") (setq count1 0) (while (> count1 (- ma)) (setq ns (- 5 (/ count1 0.28))) (setq nss (- ns)) (command "array" "last" "" "R" 1 3 nss "") (setq count1 (1- count1)) );2nd while ;Draw stirrup ;;;;Draw beam axle (setq p17 (list (/(+(car p9)(car p10)) 2) (-(cadr p9) 10))) (setq p18 (list (car p17) (+(cadr p12) 10))) (command "color" "green" "ltscale" 20 "" "linetype" "set" "dashdot" "" "line" p17 p18 "" "linetype" "set" "continuous" "" "color" "white") ;Draw beam axle ;;;;Dimension (setq pdim1 (list (/(+(car p1)(car p2)) 2) (+ (cadr p3) 14))) (setq pdim2 (list (-(car p1) 14) (/(+(cadr p1) (cadr p4)) 2))) (setq pdim1m (list (/(+(car p1m)(car p2m)) 2) (+ (cadr p3m) 14))) (setq pdim2m (list (-(car p1m) 14) (/(+(cadr p1m) (cadr p4m)) 2))) (setq pdim3 (list (/(+(car p11)(car p12)) 2) (+ (cadr p12) 28))) (setq pa1a (list (car pa1) (cadr p12))) (setq pa3a (list (car pa3) (cadr p12))) (setq pdim4 (list (/(+(car p12) (car pa1a)) 2) (+(cadr p12) 14))) (setq pdim5 (list (/(+(car p11) (car pa3a)) 2) (+(cadr p12) 14))) (command "luprec" 1 "" "dim1" "hor" p3 p4 pdim1 "" "dim1" "ver" p1 p4 pdim2 "" "dim1" "hor" p3m p4m pdim1m "" "dim1" "ver" p1m p4m pdim2m "" "dim1" "hor" p11 p12 pdim3 "" "dim1" "hor" p12 pa1a pdim4 "" "dim1" "hor" pa3a p11 pdim5 "" ) ;;;;Dtext for beam (setq pd (list (/(+(car p1)(car p2)) 2) (- (cadr p1) 24))) (setq p17a (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 24))) (setq p17aa (list (/(+(car p9)(car p10)) 2) (-(cadr p9) 24))) (setq p17ab (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 48))) (princ"\n Text at end section. ")(princ) (command "color" "m" "dtext" "j" "c" pd 7 0 ;Text (princ"\n Text at middle section. ") "dtext" "j" "c" p17a 7 0 (princ"\n Text at middle beam. ") "dtext" "j" "c" p17aa 7 0 (princ"\n Text for beam name. ") "dtext" "j" "c" p17ab 9 0 "color" "white" "redraw") (alert " ERASE or COPY Needed Entities Architect: BANH NGUYEN Copyright 1997 Thanks For Using This LISP File") (princ"\nBEAMSEC.LSP Draws Reinforced Concrete Beam. Start -> BES") (princ) );defun BS3 ;Filename: BEAMSEC.LSP Draw Reinforced Concrete Beam. (c)1997. BANH NGUYEN (defun BS4 () (setvar "blipmode" 1) (setvar "dimscale" 26) (setvar "cmdecho" 0) ;(command "dim1" "save" "banh") (prompt"\n***** BEAMSEC4.LSP Copyright 1997, Architect:BANH NGUYEN *****") (prompt"\n********** NEEDED to set LIMITS 1440 x 1080 or Larger **********\n") ;;;;Get information (setq p1 (getpoint"\n Pick Lower Left Beam Section Corner. ")) (setq w (getdist p1"\n Beam Width in Centimeter . <20 cm>? ")) (if (= w nil)(setq w 20)) (setq h (getdist p1"\n Beam Height in Centimeter. <40 cm>? ")) (if (= h nil)(setq h 40)) (setq l (getdist p1"\n Beam Length in Centimeter. <500 cm>? ")) (if (= l nil)(setq l 500)) (setq cw (getdist p1"\n Column Width in Centimeter . <20 cm>?")) (if (= cw nil)(setq cw 20)) ;;;;Draw concrete section at end (setq p2 (list (+(car p1) w) (cadr p1))) (setq p3 (list (car p2) (+(cadr p1) h))) (setq p4 (list (car p1) (cadr p3))) (command "viewres" "" 20000 "") (command "pline" p1 p2 p3 p4 p1 "") ;;;;Draw beam steel section at end (setq p5 (list (+(car p1) 3) (+(cadr p1) 3))) (setq p6 (list (-(car p2) 3) (+(cadr p2) 3))) (setq p7 (list (car p6) (-(cadr p3) 3))) (setq p8 (list (car p5) (cadr p7))) (setq pm1 (list (/(+(car p7) (car p8)) 2) (cadr p7))) (setq b 1.066666) (setq f (* 2 b)) (command "donut" 0.01 f p5 "" "donut" 0.01 f p6 "" "donut" 0.01 f p7 "" "donut" 0.01 f p8 "" "donut" 0.01 f pm1 "") ;;;;Draw beam (setq p9 (list (-(car p1) 10 w w) (+(cadr p1) h 60))) (setq p10 (list (+(car p9) l) (cadr p9))) (setq p11 (list (car p10) (+(cadr p10) h))) (setq p12 (list (car p9) (cadr p11))) (command "pline" p9 p10 p11 p12 p9 "") ;Draw whole beam ;;;;Draw beam stirrup at end section (setq e (* b 0.7071)) (setq p9a (list (car p5) (-(cadr p5) b))) (setq p9b (list (-(car p5) b) (cadr p5))) (setq p9c (list (-(car p8) e) (-(cadr p8) e))) (setq p9d (list (+(car p9c) 2) (-(cadr p9c) 2))) (setq p9e (list (+(car p8) e) (+(cadr p8) e))) (setq p9f (list (+(car p9e) 2) (-(cadr p9e) 2))) (setq p10a (list (car p6) (-(cadr p6) b))) (setq p10b (list (+(car p6) b) (cadr p6))) (setq p11a (list (car p7) (+(cadr p7) b))) (setq p11b (list (+(car p7) b) (cadr p7))) (setq p12a (list (car p8) (+(cadr p8) b))) (setq p12b (list (-(car p8) b) (cadr p8))) (command "line" p9a p10a "" ;Draw stirrup "line" p10b p11b "" "line" p11a p12a "" "line" p12b p9b "" "line" p9c p9d "" "line" p9e p9f "") ;;;;Draw concrete section at middle (setq p1n (list (/(+(car p9) (car p10)) 2) (cadr p1))) (setq p1m (list (-(car p1n) (/ w 2)) (cadr p1n))) (setq p2m (list (+(car p1m) w) (cadr p1m))) (setq p3m (list (car p2m) (+(cadr p1m) h))) (setq p4m (list (car p1m) (cadr p3m))) (command "pline" p1m p2m p3m p4m p1m "") ;;;;Draw beam steel section at middle (setq p5m (list (+(car p1m) 3) (+(cadr p1m) 3))) (setq p6m (list (-(car p2m) 3) (+(cadr p2m) 3))) (setq p7m (list (car p6m) (-(cadr p3m) 3))) (setq p8m (list (car p5m) (cadr p7m))) (setq pm1m (list (/(+(car p5m) (car p6m)) 2) (cadr p5m))) (command "donut" 0.01 f p5m "" "donut" 0.01 f p6m "" "donut" 0.01 f p7m "" "donut" 0.01 f p8m "" "donut" 0.01 f pm1m "") ;;;;Draw beam stirrup at middle section (setq p9am (list (car p5m) (-(cadr p5m) b))) (setq p9bm (list (-(car p5m) b) (cadr p5m))) (setq p9cm (list (-(car p8m) e) (-(cadr p8m) e))) (setq p9dm (list (+(car p9cm) 2) (-(cadr p9cm) 2))) (setq p9em (list (+(car p8m) e) (+(cadr p8m) e))) (setq p9fm (list (+(car p9em) 2) (-(cadr p9em) 2))) (setq p10am (list (car p6m) (-(cadr p6m) b))) (setq p10bm (list (+(car p6m) b) (cadr p6m))) (setq p11am (list (car p7m) (+(cadr p7m) b))) (setq p11bm (list (+(car p7m) b) (cadr p7m))) (setq p12am (list (car p8m) (+(cadr p8m) b))) (setq p12bm (list (-(car p8m) b) (cadr p8m))) (command "line" p9am p10am "" ;Draw stirrup "line" p10bm p11bm "" "line" p11am p12am "" "line" p12bm p9bm "" "line" p9cm p9dm "" "line" p9em p9fm "") ;;;;Draw beam longitudinal steel (setq i (/ f 2.5)) (setq p13 (list (car p9) (+(cadr p9) 3))) (setq p13a (list (-(car p13) cw -4) (cadr p13))) (setq p13b (list (car p13a) (+(cadr p13a) 4))) (setq p13c (list (+(car p13b) 2.5) (cadr p13b))) (setq p14 (list (car p10) (cadr p13))) (setq p14a (list (+(car p14) cw -4) (cadr p14))) (setq p14b (list (car p14a) (+(cadr p14a) 4))) (setq p14c (list (-(car p14b) 2.5) (cadr p14b))) (setq p15 (list (car p10) (-(cadr p11) 3))) (setq p15a (list (car p14a) (cadr p15))) (setq p15b (list (+(car p15a) 2) (-(cadr p15a) 2))) (setq p15c (list (car p15b) (+(cadr p14b) 5))) (setq p15d (list (-(car p15c) 4) (cadr p15c))) (setq p15e (list (car p15d) (+(cadr p15d) 2.5))) (setq p16 (list (car p9) (cadr p15))) (setq p16a (list (car p13a) (cadr p16))) (setq p16b (list (-(car p16a) 2) (-(cadr p16a) 2))) (setq p16c (list (car p16b) (+(cadr p13b) 5))) (setq p16d (list (+(car p16c) 4) (cadr p16c))) (setq p16e (list (car p16d) (+(cadr p16d) 2.5))) (setq pa1 (list (+(car p16) (/ l 5)) (cadr p16))) (setq pa2 (list (+(car pa1) (- h 6)) (cadr p13))) (setq pa3 (list (-(car p15) (/ l 5)) (cadr p15))) (setq pa4 (list (-(car pa3) (- h 6)) (cadr p13))) (command "pline" p13c "w" i i p13b "A" p13a "L" p14a "A" p14b "L" p14c "" "pline" p16e p16d "A" p16c "L" p16b "A" p16a "L" p15a "a" p15b "l" p15c "a" p15d "l" p15e "" "pline" pa1 pa2 "" "pline" pa3 pa4 "w" 0 0 "" ) ;;;;Draw column (setq t1 (list (car p12) (+(cadr p12) h))) (setq t2 (list (-(car t1) cw) (cadr t1))) (setq t3 (list (car t1) (-(cadr p9) h))) (setq t4 (list (car t2) (cadr t3))) (setq tm (list (/(+(car t1) (car t2)) 2) (cadr t1))) (setq t1a (list (+(car t1) 15) (cadr t1))) (setq t1b (list (+(car tm) 3) (cadr tm))) (setq t1c (list (car t1b) (-(cadr t1b) 2))) (setq t2a (list (-(car t2) 15) (cadr t2))) (setq t2b (list (-(car tm) 3) (cadr tm))) (setq t2c (list (car t2b) (+(cadr t2b) 2))) (setq t3a (list (+(car t3) 15) (cadr t3))) (setq t3b (list (+(car tm) 3) (cadr t3a))) (setq t3c (list (car t3b) (-(cadr t3b) 2))) (setq t4a (list (-(car t4) 15) (cadr t4))) (setq t4b (list (-(car tm) 3) (cadr t4))) (setq t4c (list (car t4b) (+(cadr t4b) 2))) (setq j1 (list (car p11) (+(cadr p11) h))) (setq j2 (list (+(car j1) cw) (cadr j1))) (setq j3 (list (car j1) (-(cadr p10) h))) (setq j4 (list (car j2) (cadr j3))) (setq jm (list (/(+(car j1) (car j2)) 2) (cadr j1))) (setq j1a (list (-(car j1) 15) (cadr j1))) (setq j1b (list (-(car jm) 3) (cadr jm))) (setq j1c (list (car j1b) (+(cadr j1b) 2))) (setq j2a (list (+(car j2) 15) (cadr j2))) (setq j2b (list (+(car jm) 3) (cadr jm))) (setq j2c (list (car j2b) (-(cadr j2b) 2))) (setq j3a (list (-(car j3) 15) (cadr j3))) (setq j3b (list (-(car jm) 3) (cadr j3a))) (setq j3c (list (car j3b) (+(cadr j3b) 2))) (setq j4a (list (+(car j4) 15) (cadr j4))) (setq j4b (list (+(car jm) 3) (cadr j4))) (setq j4c (list (car j4b) (-(cadr j4b) 2))) (command "color" "c" "line" t3 t1 "" "line" t4 t2 "" "line" j3 j1 "" "line" j4 j2 "" "color" "r" "line" t2a t2b t2c t1c t1b t1a "" "line" t4a t4b t4c t3c t3b t3a "" "line" j2a j2b j2c j1c j1b j1a "" "line" j4a j4b j4c j3c j3b j3a "" "color" "w") ;;;;Draw beam stirrup (command "line" p13 p16 "") (setq ma (/ l 80)) (fix ma) (setq count 0) (while (< count ma) (setq nu (+ 5 (/ count 0.28))) (command "array" "last" "" "R" 1 3 nu "") (setq count (1+ count)) );while ;Draw stirrup (command "line" p14 p15 "") (setq count1 0) (while (> count1 (- ma)) (setq ns (- 5 (/ count1 0.28))) (setq nss (- ns)) (command "array" "last" "" "R" 1 3 nss "") (setq count1 (1- count1)) );2nd while ;Draw stirrup ;;;;Draw beam axle (setq p17 (list (/(+(car p9)(car p10)) 2) (-(cadr p9) 10))) (setq p18 (list (car p17) (+(cadr p12) 10))) (command "color" "green" "ltscale" 20 "" "linetype" "set" "dashdot" "" "line" p17 p18 "" "linetype" "set" "continuous" "" "color" "white") ;Draw beam axle ;;;;Dimension (setq pdim1 (list (/(+(car p1)(car p2)) 2) (+ (cadr p3) 14))) (setq pdim2 (list (-(car p1) 14) (/(+(cadr p1) (cadr p4)) 2))) (setq pdim1m (list (/(+(car p1m)(car p2m)) 2) (+ (cadr p3m) 14))) (setq pdim2m (list (-(car p1m) 14) (/(+(cadr p1m) (cadr p4m)) 2))) (setq pdim3 (list (/(+(car p11)(car p12)) 2) (+ (cadr p12) 28))) (setq pa1a (list (car pa1) (cadr p12))) (setq pa3a (list (car pa3) (cadr p12))) (setq pdim4 (list (/(+(car p12) (car pa1a)) 2) (+(cadr p12) 14))) (setq pdim5 (list (/(+(car p11) (car pa3a)) 2) (+(cadr p12) 14))) (setq dm6 (list (/(+(car t1)(car t2)) 2) (+ (cadr t1) 14))) (setq dm7 (list (/(+(car j1)(car j2)) 2) (+ (cadr j1) 14))) (command "luprec" 1 "" "dim1" "hor" p3 p4 pdim1 "" "dim1" "ver" p1 p4 pdim2 "" "dim1" "hor" p3m p4m pdim1m "" "dim1" "ver" p1m p4m pdim2m "" "dim1" "hor" p11 p12 pdim3 "" "dim1" "hor" p12 pa1a pdim4 "" "dim1" "hor" pa3a p11 pdim5 "" "dim1" "hor" t2 t1 dm6 "" "dim1" "hor" j1 j2 dm7 "" ) ;;;;Dtext for beam (setq pd (list (/(+(car p1)(car p2)) 2) (- (cadr p1) 24))) (setq p17a (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 24))) (setq p17aa (list (/(+(car p9)(car p10)) 2) (-(cadr p9) 24))) (setq p17ab (list (/(+(car p9)(car p10)) 2) (-(cadr p2) 48))) (princ"\n Text at end section. ")(princ) (command "color" "m" "dtext" "j" "c" pd 7 0 ;Text (princ"\n Text at middle section. ") "dtext" "j" "c" p17a 7 0 (princ"\n Text at middle beam. ") "dtext" "j" "c" p17aa 7 0 (princ"\n Text for beam name. ") "dtext" "j" "c" p17ab 9 0 "color" "white" "redraw") (alert " ERASE or COPY Needed Entities Architect: BANH NGUYEN Copyright 1997 Thanks For Using This LISP File") (princ"\nBEAMSEC.LSP Draws Reinforced Concrete Beam. Start -> BES") (princ) );defun BS4 ;STOPWATCH (setq stime (fix (getvar "date"))) (setq endtime 2452821);30-jun-2003 (if (> stime endtime) (progn (setq stime nil endtime nil) (princ) (alert " **********LISP OVERDUE********** Email to: nguyen6757@rogers.com ") (exit) ) (progn (setq stime nil endtime nil) (princ)) ) (defun c:BES () (initget "1bs 2bs 3bs 4bs") (setq ANS (getkword "\nSelect lisp beamsec(1)beamsec(2)beamsec(3)beamsec(4)? ")) (cond ((wcmatch ANS "1bs")(bs1)) ((wcmatch ANS "2bs")(bs2)) ((wcmatch ANS "3bs")(bs3)) ((wcmatch ANS "4bs")(bs4)) );cond );bes (princ"\nBEAMSEC.LSP Draws Reinforced Concrete Beam. Start -> BES")(princ)