52
156
104
后起之秀
(defun d2r (a)(* pi (/ a 180)))(defun r2d (a)(* 180.0 (/ a pi)))(defun c:rbt ()(getVariables-Elevation-WDE) (getInput-RoofBattenTile)(setVariables-Elevation-WDE)(ANGset) ;(processInput-RoofBattenTile)) (defun getInput-RoofBattenTile ();/ IP SP TP SH MDF ND(setq IP (getpoint "\nPick Insertion Point << "))(setq SP (getpoint IP "\nPick or Enter Width << ")))(defun ANGset ()(setq x-checkIP (list (car IP)))(setq x-checkSP (list (car SP)))(cond ((< x-checkIP x-checkSP) (setq ANG (angle IP SP)) (setq ANG (r2d ANG)) (setq ANG+180 (+ 180 ANG)) (processInput-RoofBattenTile) ) ((> x-checkIP x-checkSP) (setq ANG (angle IP SP)) (setq ANG (r2d ANG)) (setq ANG (+ ANG 180)) (setq ANG+180 (+ 360 ANG)) (processInput-RoofBattenTile) ) )) (defun processInput-RoofBattenTile ();(setq ANG (angle IP SP));(setq ANG (r2d ANG)) ;(setq ANG+180 (- 360 ANG)) (setq width (distance IP SP));Roof Battens(setq Batten-P1 (polar IP (d2r (+ ANG 0)) 55))(setq Batten-P2 (polar Batten-P1 (d2r (+ ANG 0)) 70)) (setq Batten-P3 (polar Batten-P2 (d2r (+ ANG 90)) 35))(setq Batten-P3A (polar Batten-P3 (d2r (+ ANG 90)) 35)) (setq Batten-P4 (polar Batten-P3 (d2r (+ ANG 180)) 70))(setq Batten-P4A (polar Batten-P4 (d2r (+ ANG 90)) 35)) (setq Batten-P5 (polar SP (d2r (+ ANG 180)) 65))(setq Batten-P6 (polar Batten-P5 (d2r (+ ANG 180)) 70))(setq Batten-P7 (polar Batten-P6 (d2r (+ ANG 90)) 35))(setq Batten-P8 (polar Batten-P7 (d2r (+ ANG 0)) 70)) ;Batten UCS for array(setq BattenUCS (* ANG -1)) ;Batten Spacing(setq BattenCtrs 330)(setq BattenDist (distance IP SP))(setq BattenSpace1 (/ BattenDist BattenCtrs))(setq BattenSpace (+ (fix BattenSpace1) 1))(setq BattenSpace-1 (- BattenSpace 1)) (setq WidthDivide (/ Width BattenSpace-1))(CheckBatten) )(defun CheckBatten ()(if (< WidthDivide 330) (progn (alert "Less than 330 ctrs")(DrawObject-RoofBattenTile<330) ) (progn (alert "More than 330 ctrs")(DrawObject-RoofBattenTile>330) ) ) )(defun DrawObject-RoofBattenTile<330 ()(command"cecolor" "yellow";Roof Battens"pline" Batten-P1 Batten-P2 Batten-P3 Batten-P4 "c""ucs" "z" BattenUCS"-array" "last" "" "r" "1" BattenSpace BattenCtrs"ucs" """pline" Batten-P4 Batten-P3 Batten-P3a Batten-P4a "c""cecolor" "8""line" Batten-P1 Batten-P3 """ucs" "z" BattenUCS"-array" "last" "" "r" "1" BattenSpace BattenCtrs"ucs" """line" Batten-P2 Batten-P4 """ucs" "z" BattenUCS"-array" "last" "" "r" "1" BattenSpace BattenCtrs"ucs" """line" Batten-P4 Batten-P3A """line" Batten-P3 Batten-P4A "";Last Batten;"cecolor" "yellow";"pline" Batten-P5 Batten-P6 Batten-P7 Batten-P8 "c";"cecolor" "8";"line" Batten-P5 Batten-P7 "";"line" Batten-P6 Batten-P8 "";Roof Tile