PSC Code Manual

Index

Files

Filename Description
3D/3d-embed.lsp Function for modeling 3d embeds
3D/3d-guard.lsp Function for modeling 3d guardrails
3D/3d-land.lsp Function for modeling 3d landings
3D/3d-model.lsp Functions for modeling multiple stairs and landings
3D/3d-stair.lsp Functions for modeling 3d stairs & rails
acaddoc.lsp Init file. This file is the entrypoint into the code base
dialog/dialog.lsp Dialog utilities
embed/dialog.lsp Embed dialog functions
embed/draw.lsp Function for drawing embeds
fab/closure-plate.lsp Functions for closure plate fab drawings
fab/data-export.lsp Support functions for FABDATA
fab/guard.lsp Functions for guard fab drawings
fab/handrail-return.lsp Functions for handrail return fab drawings
fab/land-hanger.lsp Functions for calculating landing hanger fabs
fab/land-ledger.lsp Functions for making landing ledger fabs
fab/land-post.lsp Functions for calculating landing post fabs
fab/land-ship-loose.lsp Functions for ship loose landing fabs
fab/land.lsp Functions for landing fab drawings
fab/stair-pan.lsp Functions related to pans in fab drawings
fab/stair-rail.lsp Functions for stair rail fabs
fab/stair-stringer.lsp Functions dealing with stringers in fab drawings
fab/stair.lsp Functions for stair fab drawings
fab/util.lsp Fab drawing utility functions
fab/wall-rail.lsp Functions for wall rail fabs
land/endview.lsp Functions for drawing landing end views
land/land_supp.lsp Functions related to landing support creation
land/util.lsp Utility functions for landings
rail/guard-rail.lsp
rail/rail-section.lsp Functions for creating a rail section
rail/return.lsp Common functions for handrail returns
rail/util.lsp Common functions for rail calculations
shapes/calc-tmatrix.lsp Functions for calculating transformation matrices
shapes/decking.lsp Decking functions
shapes/line.lsp Line utility functions
shapes/shape.lsp utilities for AISC shapes
stair/details.lsp Functions defining stair connection details for submittal and fabrication stages
stair/details/3d-conns.lsp Function for modeling 3d connections
stair/endview.lsp Function to draw a stair end view
stair/stringer.lsp Stair stringer calculation
stair/tread.lsp Functions related to stair tread/riser assemblies
stair/util.lsp Utility functions for stairs
util/alias.lsp Aliases and wrappers
util/arithmetic.lsp Functions related to basic math
util/comparison.lsp Functions related to comparisons
util/conversion.lsp Functions related to conversions
util/document.lsp Functions dealing with VLA Document objects
util/documentation.lsp Functions for documentation build system
util/error.lsp Error-handling functions
util/file.lsp File-handling functions
util/function.lsp Function-handling functions
util/geometry.lsp Functions related to points, vectors, and planes
util/job.lsp Functions related to the job directory
util/json.lsp Functions for creating JSON lists
util/list.lsp List-handling functions
util/object.lsp VLA Object-handling functions
util/object/3D.lsp Functions related to creation of 3D objects
util/object/block.lsp Block-handling functions
util/object/line.lsp Polyline handling functions
util/object/table.lsp Table-handling functions
util/object/text.lsp Functions pertaining to text, mtext, leader, and mleader objects
util/selection.lsp Functions related to user selection
util/string.lsp String functions
util/symbol.lsp Symbol-handling functions
util/test.lsp Functions related to unit testing
util/time.lsp Time- and date-related functions
util/translatexdata.lsp Translation functions for legacy XDATA
util/xdata.lsp XDATA-handling functions

Public Functions A-Z (714 documented)

Function Signature Description
(!avg-time fun num) Prints statistical results after calling !time NUM times
(!time func alert-p) Prints the number of milliseconds it takes to run FUNC
(#! expr-lst) Alias for macro-expand
(2-item-list lst) Returns the elements of LST grouped by twos
(3-item-list lst) Returns the elements of LST grouped by threes
(3d-ret-calc l-dat u-dat) Calculates and returns an insert and vertex list for a handrail return
(3dr-add name def) Creates a 3d block of a stair rail or wall rail based on passed rail definition
(3dr-ret l-dat u-dat) Creates a 3d polyline and extruded solid via passed xdata lists
(<f a b fuzz) Returns nil unless A is less than B by FUZZ
(=f a b fuzz) Return nil unless A and B are equal within FUZZ
(>f a b fuzz) Returns nil unless A is greater than B by FUZZ
(? x) Alias for (if X X)
(?? x default) Alias for (if X X DEFAULT)
(?f n) Alias for (if N N 0.0)
(?n n) Alias for (if N N 0)
(?s s) Alias for (if S S "")
(acos ang) Returns the arccosine of ANG (radians)
(add-3d-conns) handling function for modeling 3d stair connections
(add-bot-ext-qt) Adds any required Quiet Tread at bottom extensions
(add-bulges pts) Returns point list PTS with all points padded to 3D
(add-calcd-objs container extrude-p defs) Processes calculated objects for 2D and 3D blocks
(add-calcd-pipe container extrude-p def) Adds a calculated pipe to CONTAINER
(add-calcd-poly container extrude-p def) Adds a calculated polyline to CONTAINER
(add-cope vtx vec) Called from add-calcd-pipe when a cope definition is included in the points list.
(add-decking add-to pt1 pt2) adds decking to passed container between two passed points
(add-line-btwn x) Adds a line between stringers in top view at x-value X
(add-mleader container ins points text) Wrapper for vla-AddMLeader
(add-mtext container ins text width attachmentpoint) Wrapper for vla-AddMText
(add-polyline container ins vertices closed-p) Adds a LWPolyline to CONTAINER at INS
(add-qt x y wid) Adds a single piece of Quiet Tread
(add-rectangle container width height ins) Adds a rectangular LWPolyline to CONTAINER using add-polyline
(add-shape container ins name) add a shape polyline to a container
(add-slot container ins len dia) Adds a slot polyline to CONTAINER
(add-stair-conc stair-block) Adds concrete tread lines to STAIR-BLOCK
(add-stair-qtread stair-block layer) Adds Quiet Tread to checker plate stair treads in STAIR-BLOCK on LAYER
(add-stair-stn stair-block layer) Adds STN to STAIR-BLOCK on LAYER
(add-stair-stringer inc-list container side str-lay flg-lay) Add a stair stringer outline to CONTAINER
(add-stair-treads stair-block layer) Adds treads to STAIR-BLOCK on LAYER
(add-text container ins text height width alignment) Wrapper for vla-AddMText
(add-to-alist alist-sym key value append-p) Adds an entry for KEY to ALIST pointed to by ALIST-SYM
(add-to-list list-sym elt) Adds ELT to list referred to by LIST-SYM
(add-to-list-at-pos lst-sym elt pos) Adds ELT to list referred to by LST-SYM at POS
(add-top-ext-qt) Adds any required Quiet Tread at top extensions
(add-top-triangle-gusset side) Inserts a top triangle gusset
(add-x-bay ins nor qty wid hgt) Adds a single x-brace bay
(add-x-pan pts ext) Adds the pitched members to an x-bracing bay
(angle-between a1 a2) Returns the angle between angles A1 and A2 (radians)
(angle-desc size) Translates an AISC angle size to a PSC material description
(angle-pts long short thick k) return list of 2D pline vertices for an angle based on leg lengths, thickness, and distance to fillet
(append! lst-sym app-lst) Updates LST-SYM in place using append
(apply-by-twos func lst) Applies FUNC to adjacent elements of LST, accumulates and returns the results.
(assert expr) Throws an error if EXPR evaluates to nil
(assert-all expr-lst) assert all expressions in EXPR-LST. If no errors, return a list of results
(assign-xdata source app-id xd-lst) Applies a formatted data list to an entity as xdata
(attempt-apply func args) If FUNC is a function, returns the result of applying it to ARGS. Else, return nil
(begins-with str pattern) Returns nil unless STR begins with PATTERN
(bend-deduct thick ang rad k) Calculates a bend deduction
(blkref-p obj) Returns T if OBJ is a block reference
(block-containing sourceobj) Searches for the block definition that contains SOURCEOBJ
(blockdef ename) Returns the block definition for insert with ENAME
(blockref2def blockref) Returns the block definition for insert BLOCKREF
(bolts-top-left bolt-qty) Adds bolt centerlines and dimensions on left side of top view
(bolts-top-right bolt-qty) Adds bolt centerlines and dimensions on right side of top view
(bot-chkr-haunch-material) Returns the material list for a bottom checker plate haunch
(bot-chkr-haunch-side fab-p) Draws a bottom checker plate haunch side view
(bot-chkr-haunch-top) Draws a bottom checker plate haunch top view
(bot-conc-haunch-material) Returns the material list for a bottom concrete haunch
(bot-conc-haunch-side fab-p) Draws a bottom concrete haunch side view
(bot-conc-haunch-top) Draws a bottom concrete haunch top view
(bot-string-line-from-bot side) Returns the line along the bottom of the stringer w/ bottom connection point as origin
(bot-string-line-from-top side) Returns the line along the bottom of the stringer w/ top connection point as origin
(bot-triangle-gusset-p ang-y ang-hlen side add-p) Returns nil if there is no bottom triangle gusset required
(calc-aa-or-ah-return s1 s2 aa-p) Common function for calculating returns with a rotation
(calc-aa-return s1 s2) Calculates an AA return for fab
(calc-ah-return s1 s2) Calculates an AH return for fab
(calc-angles pts) Returns a list of internal angles between PTS
(calc-bulge ang) Returns the bulge value corresponding to a fillet of ANG radians
(calc-closure-plate s1 s2) Returns the closure plate definition for the plate between stairs S1 and S2
(calc-dwg-no jobno stairno sigil) Returns the next available fab drawing number with this SIGIL
(calc-ea-return s1 s2) Calculates an EA return for fab
(calc-eh-return s1 s2) Calculates an EH return for fab
(calc-em1 key val) calculates total length of em-1 from segment lengths
(calc-fillet pt1 pt2 pt3 radius) Calculates a fillet for three 2D points at RADIUS
(calc-fillet-3d pts-lst rad) Returns a definition list formatted for use with draw-fillet-3d access with safe-calc-fillet-3d
(calc-ha-return s1 s2) Calculates an HA return for fab
(calc-handrail-return-fab s1 s2) Returns a list of strings representing the return between stairs S1 and S2, or nil
(calc-handrail-return-fabs stairs) Returns the handrail returns for this group of STAIRS grouped by finish
(calc-hh-return s1 s2) Calculates an HH return for fab
(calc-nose-pts) Returns a list of nosing points relative to stair insert
(calc-return-fab-common far-pts rotation-def) Returns the lines and rotation portion of the return table entry
(calc-segs pts) Returns a list of segment lengths between points in PTS
(calc-src-dir) Return the source directory for the current user
(calc-stair-pans) Returns a list of stair pans
(calc-stair-rail-dloop side) Returns a 1-2 item list of returns for this rail
(calc-stair-rail-dloops stairs) Returns a list of D-loops
(calc-stair-rail-fab stair-data) Returns a list of 0-2 stair rail definitions for a stair
(calc-stair-rail-opcl side) Returns the outer post centerline length of a stair rail
(calc-tmatrix x-rot y-rot z-rot x-off y-off z-off x-inv y-inv z-inv) Calculates a transformtion matrix from passed values
(calc-wall-rail-fab stair-data) Return a list of wall rail definitions
(call-out-pans) Adds pan MLEADERS to main view
(catch-all-error attempt) Wrapper for vl-catch-all-error-message
(ceil n) Returns the smallest integer greater than or equal to N
(channel-pts depth bf tw tf) return list of 2D pline vertices for a channel based on depth, width, web thickness, and flange (avg) thickness
(chkargs chkargs-func-name chkargs-args) Validates arguments in the current function.
(chkr-haunch-common end-braced-len unbraced-len top-p) Adds cans and Quiet Tread to checker plate haunches
(circular-nth n lst) Wrapper for nth that treats LST as periodic and infinite
(circular-shift lst n) Returns LST left-shifted N times
(closed-pline-p plineobj) Returns T if passed PLINEOBJ is a closed polyline
(collection->list collection) Returns vlax COLLECTION as a list
(combine-handrail-return-fabs returns) Combines RETURNS with equal finishes into a map
(combine-like-data datalsts keys primary-key) Combines similar data lists
(combine-stair-rail-dloops d-loops) Returns D-LOOPS combined based on finish
(combine-stair-rail-fabs rail-datas) Combines RAIL-DATAS based on template and finish
(combine-wall-rail-fabs rail-datas) Combine rail-datas based on template and finish
(compose funcs-lst) Returns a lambda that is the result of composing functions in FUNCS-LST
(cons-ind-lst len i) Returns a range of integers starting at I (optional) of length LEN, by 1
(cornerkey key) Returns the value of the symbol named [CORNER]_[KEY].
(count-items ci-lst) Returns a list of counts of items in CI-LST
(cross-product v1 v2) Returns the cross product of vectors V1 and V2
(curdate) Returns the current date formatted as DD/MM/YYYY
(d-3dr) wrapper function for 3d rail block generation with 3d stair block
(data-list-p data) Returns T if DATA is a data list
(debug-print msgs) Prints debug messages when *dev-mode* is non-nil
(debug-print-vars vars) Uses debug-print to print symbol values
(dec! int-sym) Decrements INT-SYM destructively
(decking-vertices lng) Returns a list of vertices for decking of passed length
(define-block name plines) Returns a block definition named NAME consisting of closed polylines
(define-block-maybe name plines) Calls define-block only if no block with NAME exists yet
(defined x) Returns nil if X is null.
(defun-r func-sym) Registers the function FUNC-SYM points to
(defun-t test-sym) Registers function at TEST-SYM as a unit test.
(detail-func num top-or-side) If a detail function for detail NUM exists, calls it and returns its value
(detail-side-add-dim-left pt2 space rev) Same as detail-side-add-dim-right but for bottom connections
(detail-side-add-dim-right pt2 space rev) Helper for adding vertical dims to top connection details
(dialog-add-action dac-key action) Adds an action to tile DAC-KEY
(dialog-add-default-action key) Automatically add the default action for KEY
(dialog-copy-value-if-disabled value key toggle) Set KEY to VALUE if TOGGLE is checked
(dialog-dynamic-load files) Dynamically loads a number of DCL files together into a single dcl-id
(dialog-edit-box-action key string) Default action for edit box tiles
(dialog-get-data typed) Returns a list of keys and values from the current dialog
(dialog-init file name source) Runs a dialog and returns a data list of keys and values
(dialog-load-defaults source) Populates the dialog with values from SOURCE, or the defaults file
(dialog-load-defaults-partial) Loads keys from load-defaults-keys into dialog
(dialog-popup-idx key value) Returns the index of VALUE in popup list for KEY
(dialog-popup-list-get key) Retusnr the list currently associated with popup tile KEY
(dialog-popup-list-get-def key) Returns the list associated with popup tile KEY
(dialog-popup-list-set key lst) Assigns the list property of popup list tile KEY to LST
(dialog-popup-list-update key) Updates the list associated with popup tile KEY
(dialog-popup-set key value) Sets the value of a popup list tile
(dialog-popup-val key) Returns the value of popup list tile KEY
(dialog-save-action) Dialog default save action
(dialog-save-defaults file) Writes current dialog state to the defaults file
(dialog-set-key-vars) Sets key variables in dialog-init
(dialog-start) Replacement for start_dialog and unload_dialog
(dialog-sub-update-from-def button def) Updates the -val variable for a sub dialog BUTTON based on DEF
(dialog-tie-via-toggle alist toggle) Connect the values of tiles when TOGGLE is unchecked
(dialog-tile-val key) Returns the correctly-typed value of an arbitrary dialog tile
(dialog-toggle-enable value key) Enables or disables tile KEY based on toggle VALUE
(dialog-update-defaults-file dialog-name) Replaces defaults file if it is older than the current version
(dihedral v1 v2) Returns the dihedral angle between two planes defined as normal vectors
(dirmirror pts) Return PTS mirrored according to DIR
(displace-pt pt d) Returns point PT displaced by point D
(displace-pts pts d) Returns points list PTS with all points displaced by point D
(doc-build) Bootstraps doc build process and opens a new blank drawing to carry it out
(doc-build-html) Builds HTML docs from files.json (generated by doc--write-json)
(docstring func-sym) Prints the full docstring of the function FUNC-SYM points to
(draw-3d-model) Creates stair and landing blocks in sequence from entity list
(draw-3d_embed dat ins) Creates a 3d block of an embed via passed xdata and insert
(draw-3d_guard dat ins) Creates a 3d block of a guardrail via passed xdata and insert
(draw-3d_land data ins) Creates a 3d block of a landing via passed xdata and insert
(draw-3d_stair data ins) Creates a 3d block of a stair via passed xdata and insert
(draw-closure ins) Draws closure plate between stairs
(draw-embed dat ins) Function to draw 2D embed block
(draw-fillet-3d container def-lst) Creates a series of filleted plines from a definition list
(draw-land-support view) Add landing support objects to a block container
(draw-pan-detail ins pan) Draws a detail for PAN at INS
(draw-pipe-3d path-lst rad) Create a series of extruded circles along list of path objects
(draw-xbrace con 3dp lay def) Adds objects for x-bracing to container
(dtr rad) Returns RAD in radians
(dualoffset&delete pline dist bulge) Convenience wrapper for offset&close
(dxf-filter defs) Translates S-Expressions into DXF codes for passing to ssget
(edit-box-val key) Returns the typed value of an arbitrary edit box tile
(em-x key val) dialog tile handling
(em1-tog key val) Toggle handling for em-1 lengths in multi edit dialog
(embed-dcl-defaults) reads or generates default dialog values
(embed-dialog dat) Embed dialog functions
(ends-with str pattern) Returns nil unless STR ends with PATTERN
(error msg) Calls *error* if defined, prints MSG, and exits
(escape-newlines str) Returns STR with newlines escaped
(escape-quotes str) Returns STR with double-quotes escaped
(escape-url url) Substitutes HTML escapes for problematic characters
(expect-with-data funcname) Throws an error if not inside with-data
(fab-combine-guards guards) Uses fab-combine-like-data to combine GUARDS
(fab-combine-lands lands) Uses fab-combine-like-data to combine LANDS
(fab-combine-like-data data-lists keys) Returns groups of similar datalists for fab drawing consolidation
(fab-get-types) Gets a list of fab drawing types via dialog
(fabdata-process-dwgs files) Processes all FILES using fabdata--process-dwg and writes result to a .csv
(face-defs obj) Generates x-brace definition for use with face-draw
(face-draw obj def) Insert x-brace geometry based on def into obj
(fbkey key) Returns the value of the symbol named [FB]_[KEY].
(fill-null-keys chk-lst sub-lst) fills unfilled XDATA keys from appropriate defaults list
(fillet-all-pts pts radius) Returns points list PTS with all corners filleted to RADIUS
(filter lst f) Returns LST without elements for which F returns nil
(filter! lst-sym f) Updates list at LST-STM in place using filter
(find-first pred lst) Returns the first element in LST for which PRED returns non-nil
(find-job-dir) Returns the root job directory if we are a descendant of one
(first-line str) Returns the first line of STR
(first-two lst) Returns the first two elements of LST
(force-single-toggle) restrincts toggle to one selection at most
(format-xdata xdata_list) Formats a list to be applied to an entity as xdata
(frac n) Alias for (rtos n 5 2)
(function-or-lambda-p x) Returns nil unless X is a function or a lambda
(function-p x) Returns nil unless X is a function
(g-fill lst) adds appropriate fill to rails created by topviewrails and dd-guard
(g-post cfg lng) adds posts to rails created by topviewrails and dd-guard
(get-all-tables) Returns a list of all tables
(get-bot-kick-dist) Returns the bottom kick distance
(get-custom-dwgprop key) Returns value of custom drawing property KEY in current acadDoc
(get-em-style) conversion function between dcl and xdata
(get-end-braced-len tb) Returns the extent of the connection angle supporting the pan at stringer end
(get-ent-xdata appids) Prompts for entity selection and gets XDATA from one of supplied APPIDS
(get-files-this-dir full-path) Prompts to select files from current directory using dialog listbox
(get-finish) Returns the finish from the finish table or nil if no finish table found
(get-hardware) Prompts the user to choose a hardware description via dialog and returns it
(get-ins-and-delete ename) Deletes the entity named ENAME and returns its former insertion point
(get-job-info) Return the current job info as a data list
(get-land-xdata) Wrapper for get-ent-xdata for landings
(get-material) Prompts the user to choose a material description via dialog and returns it
(get-sset app-ids-str) Gets a selection from the user of objects with given XDATA app-ID
(get-stair-xdata) Wrapper for get-ent-xdata for stairs
(get-stairland selection sort-p) Gets a selection of stairs and landings from the user
(get-stn-desc-by-sku sku) Returns the material list entry for a STN with SKU
(get-table-by-title title) Returns the table with matching TITLE
(get-table-cell) Prompts user for a point and checks if it is inside in a table
(get-vlist pline) Returns the list of vertices comprising PLINE in the form (x y bulge)
(get-xdata-find obj app) Returns the most recently edited OBJ with APP xdata in the current drawing
(getdint def-sym prompt-str) Wrapper for getint that uses default values and remembers the last choice
(getdkword ig-args def-sym prompt-str) Wrapper for initget/getkword that uses default values and remembers the last choice
(guard-con-read str) Returns intiger from guard connection string by stripping X
(h-rod-con con ins rad lng cht tcn cfg) Adds hanger rod connection to container
(handrail-return-write-table finish returns) Function used by make-rail-fab-common to write the main table
(hardware-galv-desc desc) Returns a hardware description that accounts for galvanization
(has-duplicate-keys-p data) Returns T if any keys in data list DATA are repeated
(haunch-stringer-callout tb) Adds stringer callout to haunch side views
(hr&bracket con ins dir stl i/o) create of hr and bracket for sr or wr
(hss-pts d w thick) return a 2-item list whose elements are each lists of of 2D pline vertices for HSS based on depth, width, and thickness
(hss-pts-ctr d w thick) like hss-pts but cenetered
(identity x) Returns X.
(imat n) Creates an identity matrix of size n
(inc! int-sym) Increments INT-SYM destructively
(increment-mark mark) Return the next string in spreadsheet column order
(insert-block container ins block) Wrapper for vla-InsertBlock
(insert-lib-block container ins name scale) Inserts a block from custom block library
(int-ang p1 p2 p3) Return the internal angle of 3 points in radians
(is-even n) Returns nil if N is not divisible by 2
(join-vertices lines) Joins a list of lines
(json-array items) Returns a JSON array made up of ITEMS
(json-array-prop key value) Return KEY and VALUE as a JSON array property
(json-block ename) Returns the JSON representation of a stair or landing block
(json-dump-file) Writes a JSON dump file for a drawing
(json-object props) Combine the JSON properties in PROPS into an object and return it
(json-prop key value) Return KEY and VALUE as a JSON property
(json-string-prop key value) Return KEY and VALUE as a JSON string property
(l-ang-con con ins rot emb ang rod cfg) Adds ledger angle connection to container
(land-endview-draw ins lr) Draws a landing end view at INS
(land-hanger-calc corner) Calculates the hanger material and hardware for this CORNER of the current landing
(land-hanger-p corner) Returns T if there is a hanger at this corner
(land-ledger-calc corner) Calculates the ledger material and hardware for this CORNER of the current landing
(land-ledger-p corner) Returns T if there is a ledger at this corner
(land-post-calc corner) Calculates the post material and hardware for this CORNER of the current landing
(land-post-p corner) Returns T if there is a post at this corner
(land-sl-make-fabs lands fab-type) Makes ship loose landing fabs of type FAB-TYPE for LANDS
(land-support-def corner view) Returns a support definition based on corner and view
(land-support-ins corner) Returns the inertion point of a connection based on corner
(line-int line1 line2 3d-p) return intersect of two lines, non-nil 3d-p includes Z value of 0
(line-obj->vert-lst line) Returns the list of vertices comprising LINE
(line-off-pt line pt) returns a line in s-i form from offseting an s-i form line through a point
(line-offset line offset) returns a line in s-i form from offseting an s-i form line by some amount
(line-offset-dist line1 line2) return offset distance of two like-sloped s-i form lines
(line-point-@x line x) return point on line at dist x
(line-point-@y line y) return point on line at dist y
(line-val line x) return y-value of line at point x
(line-xval-@y line y) return x-value of line at point y
(line-yval-@x line x) return y-value of line at point x
(list-of-strings-p x) Returns T if X is a list of strings
(lowercase str) Returns STR in lowercase
(lrkey key) Returns the value of the symbol named [LR]_[KEY].
(lst* lstelt n) Returns a list consisting of ELE repeated N times
(macro-expand expr-lst) Return quoted list EXPR-LST with certain elements evaluated.
(make-closure-plate-fab finish plates) Creates a single closure plate fab drawing
(make-closure-plate-fabs stairs) Creates all the closure plate fab drawings for this group of STAIRS
(make-fab-dwgs types enames) Makes all the TYPES of fab drawings using data from ENAMES
(make-generic-fab data ent-type) Creates a generic fab drawing in the current folder
(make-guard-fabs guards) Create all fab drawings for GUARDS
(make-handrail-return-fab finish returns) Uses make-rail-fab-common to create a handrail return spreadsheet
(make-handrail-return-fabs stairs) Creates all the handrail return fab drawings for this group of STAIRS
(make-land-fabs lands) Create all fab drawings for LANDS
(make-rail-fab-common template eval-form) Common function to make rail fab drawings
(make-stair-fab) Stair-specific function called by make-generic-fab
(make-stair-fabs stairs) Creates all fab drawings for STAIRS
(make-stair-rail-dloop-fabs stairs) Calls combine-stair-rail-dloops and makes D-loop drawings
(make-stair-rail-fab template finish rail-datas) Opens TEMPLATE and creates a standard stair rail fab drawing
(make-stair-rail-fabs stairs) Bundles rails and calls make-stair-rail-fab
(make-wall-rail-fabs stairs) Bundle rails and call make-wall-rail-fab
(make-wall-rail-std-fab template finish rails) Open template and call wall-rail-write-table
(map-append f lst) Alias for (apply 'append (mapcar f lst))
(map-apply f map) Returns the results of applying F to each element of MAP
(map-apply! f map-sym) Updates the list at MAP-SYM in place using map-apply
(mapcar! f lst-sym) Updates list at LST-SYM in place using mapcar
(material-func num) If a material function for detail NUM exists, calls it and returns its value
(material-table-p table) Returns T if TABLE is a *Material table, i.e that its title ends-with "Material"
(mc-channel-pts depth bf tw tf) set correct slope for MC channels
(member* target list2) Returns T if any members of TARGET appear in LST
(mid-2-pts p1 p2) Returns a 2D point which is midway between P1 and P2
(mirror&delete obj pt axis) Mirrors OBJ over AXIS at PT, deletes the original, and returns the copy
(mirror-pts-h pts y) Returns points list PTS mirrored over horizontal line at Y
(mirror-pts-v pts x) Returns points list PTS mirrored over vertical line at X
(move-to-bottom obj container) Moves OBJ to bottom of draw order in CONTAINER
(multi-embed delta) Passes data from multiple embeds to single embed process
(multi-embed-dialog) Embed dialog functions for batch editing
(multi-guard delta) Passes data from multiple guards to single-guard process
(multi-tog key val) Toggle handling for multi edit dialog
(mxm m n) Multiplies two matrices
(mxv m v) Multiplies a matrix by a vector
(next-mark-prefix) Returns the next available mark prefix and increments it
(norm_3pts org xdir ydir) Returns a normal vector based on an origin x vector and y vector
(normal-vec pt1 pt2 pt3) Returns the 3D vector normal to 3 points
(num-val x) Alias for (if (numberp X) X 0)
(objectify enames) Return ENAMES as VLA objects
(offset&close pline dist dual bulge) Offsets PLINE by DIST and joins both lines into a closed polygon
(offset-polyline pline dist) Offsets PLINE by DIST and returns the resulting polyline
(open-and filename readonly func-sym args) Opens drawing FILENAME and executes function pointed to by FUNC-SYM with ARGS
(open-csv file) Opens FILE with Excel
(or* branches) Returns the first non-nil element of BRANCHES.
(osnap-off) Suppress object snaps in current acadDoc and set *error* to restore them
(osnap-on) Restore object snaps in current acadDoc
(p-blk str) Returns a new empty pseudonymous block
(p-blk-name str) Returns a unique pseudonymous block name
(p-blw-con con ins wid rot lng bcn cfg) Adds post below connection to container
(p-out-con con ins wid lng bcn cfg) Adds post outside connection to container
(pad-return-lines lines) Ensures that each return is 8 cells
(parse-table table) Returns the data in TABLE as a list of data lists
(path-p obj) Returns T if passed OBJ is a valid path
(pipe-bend-lines segments-lst) Returns the bend lines for a PSC pipe with segments SEGMENTS-LST
(pipe-bend-lines-padded segments-lst) Wrapper for pipe-bend-lines that always returns a 9-item list to match fab drawing tables
(pl-pts h w) similar to add-rectangle here for consistent batch processing of connections @ 3d
(plineobj->faceobj plineobj dpt delete) creates 3D face from an open pline input of exactly two vertices
(plineobj->regionobj plineobj delete) Creates a region from passed polyline object
(plineobj->solidobj plineobj ext-param delete) Creates extruded 3D solid from passed polyline object
(point-p pt) Returns T if PT is a 2- or 3-item list of numbers
(points->si-line pt1 pt2) returns a line in s-i form from input of a pair of 2D points
(poly&pipe con lst) Creates a 3d polyline and extruded solid via passed vertex list
(pop! pop-lst-sym) Sets LST-SYM to (cdr LST) and returns (car LST)
(post-base bcn) Adds baseplate to post connections
(post-dec! int-sym) Returns the value of INT-SYM then decrement it destructively
(post-inc! int-sym) Returns the value of INT-SYM then increment it destructively
(process-generic-def def repo-file) Retrieves the unique primary key for DEF in REPO-FILE
(process-pan-def pan) Returns PAN with P# attached
(propagate var-sym value) Sets VAR-SYM to VALUE and calls vl-propagate
(psc-autoload cmds) Used in s::startup to register autoloads
(psc-include filenames) Include all files in FILENAMES
(psc-load *file-name*) Alias for load so that *FILE-NAME* is set automatically for each file
(psc-remove filenames) Remove all members of FILENAMES from psc-included-files
(pt-slope m x y) returns a line in slope-intercept format given the slope (m) and a point (x,y)
(pts-list-p pts-list) Returns T if PTS-LIST is a list of points
(put-circle-normal-to-path obj path) Move a passed circle object normal to a passed path object
(qt-cen-lst t/b) Returns a list of X offsets for high Quiet Tread
(rail-ascend side) Returns the ascend direction of the stair or wall rail at SIDE
(rail-calc-n-mid-posts len) Returns the number of mid posts based on outside post centerline
(rail-calc-picket-spacing len) Returns the space between pickets based on panel length
(rail-return-type s1 s2) Returns the type of handrail return between stairs S1 and S2, or nil
(rail-section-a-flight) create rail section for a-flight
(rail-section-b-flight) create rail section for b-flight
(rail-section-dims) create dimensions for rail section
(rail-section-g-btwn wid) create section for guard between stairs
(rail-sequence side) Returns the sequence for the stair or wall rail at SIDE
(range from to by) Returns a list of numbers that range from FROM to TO by step BY
(rcons lst x) Returns LST with X added to the end
(read-csv file) Return the contents of csv FILE as a list of lists of strings
(read-file-to-string file) Returns the contents of FILE as a string
(read-key-val-file file) Return the contents of key/value FILE as a list of 2-element lists
(read-xdata source app-id) Extracts xdata from an entity and returns a data list
(read-xdata-migrate ename-var appid) Reads xdata from an entity, performing migrations if it is an old version
(rect-pts width height ins) Returns the points list for a rectangle located at point INS
(remove lst f) Returns LST with only elements for which F returns nil
(remove! lst-sym f) Updates list at LST-STM in place using remove
(remove-last lst) Returns LST without its last element
(remove-nth n lst) Returns LST with Nth item removed
(reset-doc) Resets acadDoc and modelSpace global vars
(rezero-pts pts v) Returns points list PTS recentered on the Vth vertex
(rnd-dn num prc) Rounds NUM down to the next multiple of precision PRC
(rnd-up num prc) Rounds NUM up to the next multiple of precision PRC
(rotate-pt pt ang) Returns point PT rotated about the origin by ANG (radians)
(rotate-pts pts ang) Return points list PTS with all points rotated about the orgin by ANG (radians)
(rpt-lst n ele) Returns a list consisting of ELE repeated N times
(rtd deg) Return DEG in degrees
(s::startup) Routine automatically called by AutoCAD after drawing initializes
(safe-atoi str) Wrapper for atoi that returns nil if there was no number
(safe-calc-fillet-3d pts-lst rad) Repeats calc-fillet-3d with reduced radius until no error is returned
(safe-nth n lst) Wrapper for nth that returns nil when LST is nil
(safearray->list safearray) Converts arbitrary-dimension SAFEARRAY to a list
(set-active-dimstyle name) Sets active dimension style in current acadDoc to NAME
(set-active-layer name) Sets active layer in current acadDoc to NAME
(set-active-textstyle name) Sets active text style in current acadDoc to NAME
(set-custom-dwgprop key val) Sets value of custom drawing property KEY to VAL
(set-file-docstring docstring) Registers the current file's docstring
(set-finish value) Sets the finish in the finish table to VALUE
(setup-env 3d-p) Ensure necessary layers, linetypes, and text styles are present
(shape-def name tagged-p) return the defining properties of a shape, taken from the AISC shapes database
(shape-pts shp) returns points list from shape def allows interaction with raw points list
(shapelist-init profile) DCL initialization for drawshape function
(sidekey key) Returns the value of the symbol named [SIDE]-[KEY].
(sidekey-rail key) Returns the value of the symbol named [SIDE]-rail_[KEY].
(single-embed) Processes to draw single embed
(single-guard) Processes to draw single guard
(slice lst start len) Return a slice from LST of length LEN starting at START
(sort! lst-sym f) Sorts LST in place using vl-sort
(sort-by func cmp) Returns a lambda for processed sorting
(sort-by-key key cmp) Returns a lambda for sorting a data list by the value of KEY
(sort-stairland a b) Sorts a part of stair/landing enames in ascending order.
(sort-strings-asc a b) A comparison function that accounts for length when sorting strings
(split-list lst f true-lst-sym false-lst-sym) Puts items for which F returns nil in FALSE-LST and the rest in TRUE-LST
(split-list-n lst n first-lst-sym second-lst-sym) Splits LST on index N, putting first half in FIRST-LST and the rest in SECOND-LST
(square n) Returns the square of N
(ss->lst ss) Returns selection set SS as a list of enames
(ss-and group-codes) Returns a list of DXF codes wrapped in a DXF AND
(ss-or group-codes) Returns a list of DXF codes wrapped in a DXF OR
(stair-block-qt-takeoff blockdef) Returns a list of QT quantities in BLOCKDEF
(stair-calc-can-spacing end-braced-len unbraced-len) Returns can spacing as a list of X offsets from end of stringer
(stair-dim-format h/v dimobj) Formats a stair dimension
(stair-dir ascend z-position) Return the stair direction (either +1 or -1) based on ASCEND and Z-POSITION.
(stair-endview-draw ins lr offset) Draws an end view of a stair at INS
(stair-fab-process-stringers) Adds both stringer details to drawing and their material to the table
(stair-guard-assembly location) Returns the assembly name of the guard rail at LOCATION.
(stair-hr-assembly) Returns the assembly name of the HG return for this stair.
(stair-qt-takeoff ename) Returns a Quiet Tread takeoff for the stair object referred to by ENAME
(stair-rail-ab side) Returns the AB length of the handgrab at SIDE
(stair-rail-assembly side) Returns the assembly name of the stair rail on SIDE of this stair.
(stair-rail-dloop-write-table finish d-loop-datas) Writes the D-loop table
(stair-rail-write-table finish rail-datas) Writes the table in a stair rail fab drawing
(stair-slope) Returns the nosing line in slope-intercept form.
(stair-stn-p) Returns T when this stair has STN
(stair-stringer-calc side) Returns the stringer properties for one side of a stair
(strbreak str) Returns a list of single character strings comprising STR
(string-subst-all new old str) Uses vl-string-subst repeatedly to substitute all occurrences of OLD for NEW in STR
(stringp x) Returns nil if X is not string
(strip-nil lst) Returns LST with nil elements removed
(strjoin str-list delimiter) Concatenates strings in STR-LIST with DELIMITER
(strsplit str delimiter) Splits STR on a DELIMITER
(subst! new old lst-sym) Updates list at LST-SYM in place using subst
(subst-key key new-val lst) Returns data list LST with value of KEY replaced with NEW-VAL
(subst-key! key new-val lst-sym) Updates data list at LST-SYM in place using subst-key
(swap! v1 v2) Swaps two variables.
(sym-lst-p sym) Returns nil if SYM is not a symbol or if its value is not a list
(symcat str-lst) Concatenates strings in STR-LST and returns the value of the resulting symbol.
(table-add-data table datas) Adds bulk data to the end of TABLE with regeneration suppressed
(table-divide-qty table n) Divides every quantity in TABLE by N
(table-get-column-names table) Returns the column names as a list of formatted strings
(table-get-nrows table) Returns the number of effective rows in TABLE
(table-get-title table) Returns the contents of cell 0,0
(table-insert-rows table nrows after) Inserts NROWS rows in a fab drawing TABLE after row AFTER
(table-multiply-qty table n) Multiplies every quantity in TABLE by N
(table-p obj) Returns T if OBJ is a table
(table-set-row table row data) Sets a ROW in TABLE
(table-trim-empty-rows table row) Trims empty rows from TABLE, starting at ROW
(take n lst) Returns the first N elements of LST
(take! n take-lst-sym) Returns the first N elements from TAKE-LST-SYM, removing them
(take-while predicate lst) Returns the first elements of LST for which PREDICATE is true
(tan ang) Returns the tangent of ANG (radians)
(tbkey key) Returns the value of the symbol named [TB]_[KEY].
(tc-bolt-desc desc) Returns the proper TC bolt description, taking into account finish
(test-build) Bootstraps test build process and opens a new blank drawing to carry it out.
(test-build-lsp) Writes tests.lsp with all the test forms in *file-tests*
(test-for test-type lst) Returns T if all elements of LST are of type TEST-TYPE
(test-run) Alias for (load "tests.lsp").
(tk lst) Alias for translate-keys
(tkmx lst) Alias for composition of translate-keys and macro-expand
(tmatrix-p m) Returns T if m is a valid tmatrix
(to-string x) Returns X as a string
(toggle-dist-keys) Enable or diable tiles based on embed type selected
(top-chkr-haunch-material) Returns the material list for a top checker plate haunch
(top-chkr-haunch-side fab-p) Draws a top checker plate haunch side view
(top-chkr-haunch-top) Draws a top checker plate haunch top view
(top-chkr-nosing-braced-len) Returns the braced length at nosing of top extensions
(top-conc-haunch-material) Returns the material list for a top concrete haunch
(top-conc-haunch-side fab-p) Draws a top concrete haunch side view
(top-conc-haunch-top) Draws a top concrete haunch top view
(top-view-x-brace) Draw x-brace representation on top view
(translate-keys lst exp-lst) Translates key names in EXP-LST based on their value in data list LST
(translate-keys-block lst-sym block) DEPRECATED
(trp m) Transposes a matrix
(uniquify lst) Returns LST without duplicate items
(unit-dir n) Returns 0 if N is 0, 1 if N is positive, or -1 if N is negative
(uppercase str) Returns STR in uppercase
(vec- v1 v2) Returns the result of subtracting vector V1 from V2
(vla-appid-defined appname) Returns the RegisteredApplication object for APPNAME, if it exists
(vla-boolean-r ob1 bop ob2) Wrapper for vla-boolean that returns OB1
(vla-getvar sysvar) Returns the value of SYSVAR in current acadDoc
(vla-logic e) Returns :vlax-true or :vlax-false based on truthiness of E
(vla-mirror-x obj) Mirrors VLA-object OBJ over x-axis using a transformation matrix
(vla-mirror-y obj) Mirrors VLA-object OBJ over Y-axis using a transformation matrix
(vla-put-color-r obj col) Wrapper for vla-put-color that returns OBJ
(vla-put-layer-r obj lay) Wrapper for vla-put-layer that returns OBJ
(vla-put-normal-r obj nor) Wrapper for vla-put-normal that returns OBJ
(vla-replace-string block from to) Replaces FROM with TO in all text, mtext, and mleaders in BLOCK
(vla-rotate-r obj ins rot) Wrapper for vla-rotate that returns OBJ
(vla-rotate3d-r obj ax1 ax2 rot) Wrapper for vla-rotate3d that returns OBJ
(vla-setvar sysvar val) Sets the value of SYSVAR in current acadDoc to VAL
(vla-transformby-r obj mat) Wrapper for vla-transformby that returns OBJ
(vlasel) Alias for (ename>vlobj (car (entsel)))
(vlax-collection->lst collection) Convert COLLECTION to a list of names
(vlax-put-property-r obj pro val) Wrapper for vlax-put-property that returns OBJ
(vlist->safearray vertices) Returns VERTICES as a safearray
(wall-rail-brackets ab) Returns the list of wall rail bracket locations for a given AB length
(wall-rail-hardware-qty rail-datas) Returns the number of brackets times 3
(wall-rail-write-table finish rail-datas) Write the table in a wall rail fab drawing
(wcmatch-escape str) Escapes special characters in STR for use in wcmatch
(wf-pts d bf tw tf k) return list of 2D pline vertices for a wide-flange beam based on depth, width, web thickness, flange thickness, and distance to fillet
(wf-pts-ctr d bf tw tf k) like wf-pts, but centered
(whatis func-sym) Prints the one-line description of the function FUNC-SYM points to
(with-data datalst exprs) Evals EXPRS with DATALST as the environment
(with-data-get-land exprs) Evals EXPRS in landing xdata context
(with-data-get-stair exprs) Evals EXPRS in stair xdata context
(within-box-p pt boxpt1 boxpt2) Returns T if PT is within the box defined by BOXPT1 and BOXPT2
(write-csv lines filename wrap-str) Write the contents of LINES to FILENAME
(write-title-block job-info stairno login style) Rewrites special text objects in a fab drawing title block
(x-brace-defs) Returns definition for x-bracing based on XDATA
(x-brace-out w h o) Calculates outline for x-bracing based on XDATA
(xbrace-hor) Adds the horizontal member to an x-bracing bay if required
(xd-old->xd-new lst off) Performs appropriate xdata translations dependent on XDATA type
(xd-old->xd-new_land xd-old) Translates old landing XDATA to new
(xd-old->xd-new_stair xd-old) Translates old stair XDATA to new
(xd-value key datalst) Return the value of KEY in DATALIST
(z-offset-stair-rail side) Returns the 3D Z-offset to the face of the stair rail at SIDE
(z-offset-stair-rail-handgrab side) Returns the 3D Z-offset to centerline of stair rail handgrab at SIDE
(z-offset-stringer side) Returns the 3D Z-offset to the face of stringer at SIDE
(z-offset-wall-rail side) Returns the 3D Z-offset to centerline of wall rail at SIDE
(zip l1 l2) Returns lists L1 and L2 interleaved