rail/common.lsp [src]
Common functions for rail calculations
(make-rail-fab-common template eval-form)
Common function to make rail fab drawings
Opens TEMPLATE, sets up title block and variables, and evals EVAL-FORM. Then it saves and
closes the drawing.
(rail-ascend side)
Returns the ascend direction of the stair or wall rail at SIDE
VARS:
(SIDE STR (MEMBER SIDE '("i" "o")))
WITH-DATA
(rail-calc-n-mid-posts len)
Returns the number of mid posts based on outside post centerline
Maximum post centerline is 48 inches
VARS:
(LEN nil (NUMBERP LEN))
TESTS:
(= (RAIL-CALC-N-MID-POSTS 12) 0)
(= (RAIL-CALC-N-MID-POSTS 48) 0)
(= (RAIL-CALC-N-MID-POSTS 48.01) 1)
(rail-calc-picket-spacing len)
Returns the space between pickets based on panel length
Max space between is 3 7/8 inches
VARS:
(LEN nil (NUMBERP LEN))
(rail-sequence side)
Returns the sequence for the stair or wall rail at SIDE
Handles giving rails -L and -R sequence when rail is the same type both sides.
VARS:
(SIDE STR (MEMBER SIDE '("i" "o")))
WITH-DATA
(stair-rail-ab side)
Returns the AB length of the handgrab at SIDE
VARS:
(SIDE STR (MEMBER SIDE '("i" "o")))
WITH-DATA
(wall-rail-brackets ab)
Returns the list of wall rail bracket locations for a given AB length
Max centerline distance is 60 inches
VARS:
(AB nil (NUMBERP AB))
TESTS:
(EQUAL (WALL-RAIL-BRACKETS 24) '(6 18))
(EQUAL (WALL-RAIL-BRACKETS 72) '(6 66))
(EQUAL (WALL-RAIL-BRACKETS 73) '(6 36 67))
(z-offset-stair-rail side)
Returns the 3D Z-offset to the face of the stair rail at SIDE
If the rail is not top-mounted, returns the same value as z-offset-stringer
VARS:
(SIDE STR (MEMBER SIDE '("i" "o")))
WITH-DATA
(z-offset-stair-rail-handgrab side)
Returns the 3D Z-offset to centerline of stair rail handgrab at SIDE
VARS:
(SIDE STR (MEMBER SIDE '("i" "o")))
WITH-DATA
(z-offset-stringer side)
Returns the 3D Z-offset to the face of stringer at SIDE
VARS:
(SIDE STR (MEMBER SIDE '("i" "o")))
WITH-DATA
(z-offset-wall-rail side)
Returns the 3D Z-offset to centerline of wall rail at SIDE
VARS:
(SIDE STR (MEMBER SIDE '("i" "o")))
WITH-DATA