; ----------------------------------------------------------------------- ; BEAMS.LSP draws a shortened line, such as the lines used to designate ; beams on a steel framing plan. The line is shortened at each ; end by the distance of INPUT DRAWING UNITS. This routine was ; written to provide a steel framing calculation program a ; consistent joist and beam end offset. ; version 2.0 July 2, 1995 updates BEAMS to allow for continuous ; use. Major code change uses (ENTMAKE) instead of the line command. ; Local variables established. ; THIS FILE WAS REFINED IN OCTOBER 2003 BY JEFF RAYHORN ; TO CREATE 2 SEPARATE ROUTINES: ONE FOR A COL-2-COL BEAM & ONE ; FOR A BEAM-2-BEAM CONNECTED BEAM, IN BOTH CASES THE "SHORTENING" ; DISTANCE BEING PRESET INTO THE ROUTINE & ELIMINATING THE PROMPT ; FOR "Setback Distance." ; Jeff Rayhorn further modified in 7-05 for Sinclair Pratt Cameron, P.C. (defun C:BCC (/ CLY OSM ORT TMECHO OLDSTR OLDEND ANGL NEWSTR NEWEND EXSTAT GAP) (setq cly (getvar "CLAYER") osm (getvar "OSMODE") ort (getvar "ORTHOMODE") tmecho (getvar "CMDECHO") ) (setvar "CMDECHO" 0) (setvar "OSMODE" 64) (if (null (tblsearch "LAYER" "BEAMS")) (command "LAYER" "N" "BEAMS" "C" "GREEN" "BEAMS" "") );; end if no BEAMS layer (setq GAP (* 0.09375 #sc) ) (initget 1) (setq OLDSTR (getpoint "\nThe correct gap is set - pick your Column: ") ) (initget 1) (setq OLDEND (getpoint OLDSTR "\nCONTINUE to the next Column: ") ) (while (not (null OLDEND)) (setq angl (angle OLDSTR OLDEND) ) (setq NEWSTR (polar OLDSTR angl GAP) ) (setq NEWEND (polar OLDEND (- angl PI) GAP ) ) (entmake (list '(0 . "LINE") '(8 . "BEAMS") (cons 10 NEWSTR) (cons 11 NEWEND) ) ) (setq OLDSTR OLDEND) (setq OLDEND (getpoint OLDSTR "\nCONTINUE to the next Column: ")) );;end of while oldend not null (setvar "CMDECHO" TMECHO) (setvar "ORTHOMODE" ORT) (setvar "OSMODE" OSM) (setvar "CLAYER" CLY) (setq EXSTAT "SPC Column-to-Column Beams routine") );end of function definition ;;------------------------------------------------------------------------------- ;;------------------------------------------------------------------------------- (defun C:BBB (/ CLY OSM ORT TMECHO OLDSTR OLDEND ANGL NEWSTR NEWEND EXSTAT GAP) (setq cly (getvar "CLAYER") osm (getvar "OSMODE") ort (getvar "ORTHOMODE") tmecho (getvar "CMDECHO") ) (setvar "CMDECHO" 0) (setvar "OSMODE" 512) (if (null (tblsearch "LAYER" "BEAMS")) (command "LAYER" "N" "BEAMS" "C" "GREEN" "BEAMS" "") );; end if no BEAMS layer (setq GAP (* 0.0625 #sc) ) (initget 1) (setq OLDSTR (getpoint "\nThe correct gap is set - pick your Beam: ") ) (setvar "OSMODE" 128) (initget 1) (setq OLDEND (getpoint OLDSTR "\nCONTINUE to the next Beam: ") ) (while (not (null OLDEND)) (setq angl (angle OLDSTR OLDEND) ) (setq NEWSTR (polar OLDSTR angl GAP) ) (setq NEWEND (polar OLDEND (- angl PI) GAP ) ) (entmake (list '(0 . "LINE") '(8 . "BEAMS") (cons 10 NEWSTR) (cons 11 NEWEND) ) ) (setq OLDSTR OLDEND) (setq OLDEND (getpoint OLDSTR "\nCONTINUE to the next Beam: ")) );;end of while oldend not null (setvar "CMDECHO" TMECHO) (setvar "ORTHOMODE" ORT) (setvar "OSMODE" OSM) (setvar "CLAYER" CLY) (setq EXSTAT "SPC Beam-to-Beam Beams routine") );end of function definition ;;------------------------------------------------------------------------------- ;;------------------------------------------------------------------------------- (defun C:BCB (/ CLY OSM ORT TMECHO OLDSTR OLDEND ANGL NEWSTR NEWEND EXSTAT GAP1 GAP2) (setq cly (getvar "CLAYER") osm (getvar "OSMODE") ort (getvar "ORTHOMODE") tmecho (getvar "CMDECHO") ) (setvar "CMDECHO" 0) (setvar "OSMODE" 64) (if (null (tblsearch "LAYER" "BEAMS")) (command "LAYER" "N" "BEAMS" "C" "GREEN" "BEAMS" "") );; end if no BEAMS layer (setq GAP1 (* 0.09375 #sc) GAP2 (* 0.0625 #sc) ) (initget 1) (setq OLDSTR (getpoint "\nThe correct gap is set - pick your Column: ") ) (setvar "OSMODE" 128) (initget 1) (setq OLDEND (getpoint OLDSTR "\nCONTINUE to the Beam: ") ) (while (not (null OLDEND)) (setq angl (angle OLDSTR OLDEND) ) (setq NEWSTR (polar OLDSTR angl GAP1) ) (setq NEWEND (polar OLDEND (- angl PI) GAP2 ) ) (entmake (list '(0 . "LINE") '(8 . "BEAMS") (cons 10 NEWSTR) (cons 11 NEWEND) ) ) (setq OLDSTR OLDEND) (setq OLDEND (getpoint OLDSTR "\nCONTINUE to the next Beam: ")) );;end of while oldend not null (setvar "CMDECHO" TMECHO) (setvar "ORTHOMODE" ORT) (setvar "OSMODE" OSM) (setvar "CLAYER" CLY) (setq EXSTAT "SPC Column-to-Beam Beams routine") );end of function definition ;;-------------------------------------------------------------------------------