SteSysVar

Short description

Tabbed “system variables tuner” for AutoCAD that lets you set common SYSVARs from dropdowns instead of typing SETVAR. Builds its own DCL with tabs (File, Dialogs, Drawing Behavior, Selection, Drafting Aids, Xrefs, Publish) and applies all chosen values at once.
stesysvar 000

Command:

Command: c:SteSysVar Opens the main tabbed dialog starting on the “File” tab, lets you pick values from dropdowns, and on OK it writes the chosen system-variable values to AutoCAD.

Description:

When executed, the program: It builds a tabbed dialog with seven sections grouping related AutoCAD system variables. Each variable appears as a dropdown showing its possible values and human-readable meanings. 🔹 File TabFILEDIA (preset → 1)   1 . Enable dialog box   0 . Suppress dialog boxPROXYGRAPHICS (preset → 1)   1 . Save proxy graphics   0 . Do not saveCMDECHO (preset → 0)   0 . No echo to command line   1 . Echo command input/output 🔹 Dialogs TabHPDLGMODE (preset → 1)   1 . Enable hatch dialog   0 . Disable hatch dialog (command-line mode) 🔹 Drawing Behavior TabORTHOMODE (preset → 1)   1 . Ortho ON   0 . Ortho OFFMIRRTEXT (preset → 0)   0 . Keep text readable (do not mirror)   1 . Mirror text objectsREGENMODE (preset → 0)   0 . Automatic REGEN off   1 . Automatic REGEN onPEDITACCEPT (preset → 1)   1 . Always convert lines to polylines   0 . Prompt before convertingTRIMEXTENDMODE (preset → 0)   0 . Quick mode off   1 . Quick mode onPLINEWID (preset → 0)   0 . Default width = 0DIMASSOC (preset → 2)   2 . Associative dimensions   1 . Non-associative   0 . ExplodedDRAGMODE (preset → 2)   2 . Auto (automatic preview)   1 . On (always drag)   0 . Off (no preview)MBUTTONPAN (preset → 1)   1 . Middle mouse button = Pan   0 . Middle button opens menuWIPEOUTFRAME (preset → 0)   0 . No display/no plot   2 . Display only (no plot)   1 . Display and plot frame 🔹 Selection TabPICKFIRST (preset → 1)   1 . Preselect enabled   0 . Preselect disabledPICKADD (preset → 2)   2 . Add mode (re-click removes)   1 . Add mode (Shift removes)   0 . Single selection onlyPICKBOX (preset → 3)   3 . Standard pickbox sizeGRIPOBJLIMIT (preset → 0)   0 . Unlimited grip displaySELECTIONPREVIEW (preset → 3)   3 . Preview when idle and active   2 . Preview when command active   1 . Preview when idle   0 . No previewSELECTIONCYCLING (preset → 2)   2 . On (dialog appears)   1 . On (no dialog)   0 . OffHIGHLIGHT (preset → 1)   1 . Highlight ON   0 . Highlight OFFPICKDRAG (preset → 0)   0 . Normal window selection   1 . Press-drag toggle mode 🔹 Drafting Aids TabOSMODE (preset → 16383)   16383 . All common object snaps   16384 . Suppress running snaps   1 . Endpoint  2 . Midpoint  4 . Center  8 . Node   16 . Quadrant  32 . Intersection  64 . Insertion  128 . Perpendicular   256 . Tangent  512 . Nearest  1024 . Geometric Center  2048 . Apparent Intersection   4096 . Extension  8192 . ParallelOTRACK (preset → 1)   1 . Object Snap Tracking ON   0 . OFFAUTOSNAP (preset → 17)   17 . Marker + Tooltip   1 . Marker  2 . Magnet  4 . Tooltip  8 . Aperture box   16 . Object Snap tooltip  32 . Cursor badge  0 . OffDYNMODE (preset → 3)   3 . Show dynamic input in both states   2 . Show when idle  1 . During commands  4 . Dimension input  0 . OffUCSFOLLOW (preset → 0)   0 . View unchanged   1 . View follows UCS changesZOOMFACTOR (preset → 30)   30 . Default mouse wheel zoom stepDONUTID (preset → 0)   0 . Default inner diameterDONUTOD (preset → 1)   1 . Default outer diameter 🔹 Xrefs TabXREFOVERRIDE (preset → 0)   0 . Disable xref layer overrides   1 . Enable xref layer overrides 🔹 Publish TabPUBLISHCOLLATE (preset → 1)   1 . Collate — publish sheets in order   0 . Do not collate — publish separately Each dropdown reflects these values, with the top entry being the preset (default). Selections persist across tabs until OK or Cancel.

Helper function: (if any)​

Helper Functions Used:SSV:set-path — builds and stores the LISP’s own disk path so the UI can open Explorer / Notepad++ or reload itself.writeSSVDCL — generates the full multi-tab DCL file on the fly (all 7 tabs + Help).SSV:write-one-page — creates the dialog definition for a single tab with rows of “label + popup_list”.SSV:open-page — displays one tab, populates its dropdowns, and wires the tab-switching buttons.SSV:choices-for-dropdown — builds the dropdown items from the meanings/presets list (value → description).SSV:save-index / SSV:get-saved-index — remembers what the user picked for each variable across tab switches.SteSysVar:apply-all — after OK, iterates all variables and actually calls SETVAR with the corresponding numeric value.SSV-help-local + SSV:help-make — build and show a help window with all tabs/variables and let user copy it to clipboard.SSV:open-lsp-folder / SSV:open-this-in-npp / SSV:reload-self — convenience actions for opening or reloading the LISP file from the dialog.

Functionalities:

Main Functionalities:Tabbed SYSVAR editor — variables are grouped by use (File, Dialogs, Drawing Behavior, Selection, Drafting Aids, Xrefs, Publish).Dropdown-based presets — each system variable shows the recommended / preset value first, followed by documented alternatives (e.g. DIMASSOC, AUTOSNAP, SELECTIONPREVIEW).Select All / Select None per tab — set all vars on the current tab to preset (index 0) or to 0 when available, with one click.Integrated Help panel — shows a generated list of all variables with their meanings; user can copy selected or all to clipboard.Path-aware tools — buttons to open the folder, open the LISP in Notepad++, or reload the LISP without restarting AutoCAD.Publish tab — extra tab specifically for PUBLISHCOLLATE to control publish collation from the same UI.Dedicated publish entry point — command c:SteSysVarPublish jumps directly to the Publish tab.

Result:

Result: User ends up with multiple key AutoCAD system variables set in one go, from one dialog, grouped by task (file/dialogs/selection/drafting/xrefs/publish). Settings persist during the session, the dialog can be reloaded from disk, and even publish behavior (PUBLISHCOLLATE) can be tuned from the same tool.

Images, animations etc.

stesysvar 000
stesysvar 001
stesysvar 002
stesysvar 003
stesysvar 004
stesysvar 005
stesysvar 006
stesysvar 007
Pixel

XAML code:

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:src="clr-namespace:Autodesk.Windows;assembly=AdWindows">
    
<src:RibbonToolTip x:Key="SteSysVar">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: SteSysVar</Bold>
<LineBreak/>
<Bold>Version: 4 Date: 20.10.2025</Bold>
<LineBreak/>
<LineBreak/>
<Hyperlink>N/A</Hyperlink>
<LineBreak/>
<Bold>Command names</Bold><LineBreak/>
<Run>• SteSysVar (type </Run><Run Foreground="DarkRed">SteSysVar</Run><Run> at the AutoCAD command line)</Run><LineBreak/>
<Run>• SteSysVarPublish (type </Run><Run Foreground="DarkRed">SteSysVarPublish</Run><Run> at the AutoCAD command line)</Run><LineBreak/>
<LineBreak/>

<Bold>Description</Bold><LineBreak/>
<Run>This program is a </Run><Run Foreground="DarkRed">system variable preset manager</Run><Run> with a tabbed dialog UI. It lets the user select recommended values for common AutoCAD system variables via dropdown lists, view grouped help, copy help content to clipboard, and then apply all selected values in one action.</Run><LineBreak/>
<LineBreak/>

<Bold>Main purpose</Bold><LineBreak/>
<Run>• Provide a consistent environment setup by applying curated presets for file handling, dialogs, drawing behavior, selection, drafting aids, xrefs, and publish options.</Run><LineBreak/>
<Run>• Reduce manual setvar typing and avoid missing dependent settings by applying everything at once.</Run><LineBreak/>
<LineBreak/>

<Bold>Prerequisites</Bold><LineBreak/>
<Run>• Requires Visual LISP COM support via </Run><Run Foreground="DarkRed">(vl-load-com)</Run><Run>.</Run><LineBreak/>
<Run>• Requires permission to write a temporary DCL file created by </Run><Run Foreground="DarkRed">vl-filename-mktemp</Run><Run>.</Run><LineBreak/>
<Run>• Clipboard copy uses </Run><Run Foreground="DarkRed">WScript.Shell</Run><Run> and PowerShell Set-Clipboard, so it is intended for Windows environments.</Run><LineBreak/>
<LineBreak/>

<Bold>User interaction</Bold><LineBreak/>
<Run>• Opens a tabbed dialog titled </Run><Run Foreground="DarkRed">System Variables - Presets</Run><Run>.</Run><LineBreak/>
<Run>• Tabs available:</Run><LineBreak/>
<Run>  • File.</Run><LineBreak/>
<Run>  • Dialogs.</Run><LineBreak/>
<Run>  • Drawing Behavior.</Run><LineBreak/>
<Run>  • Selection.</Run><LineBreak/>
<Run>  • Drafting Aids.</Run><LineBreak/>
<Run>  • Xrefs.</Run><LineBreak/>
<Run>  • Publish.</Run><LineBreak/>
<LineBreak/>
<Run>• Each tab shows rows of:</Run><LineBreak/>
<Run>  • A system variable name label.</Run><LineBreak/>
<Run>  • A dropdown list where each item is formatted as value - description.</Run><LineBreak/>
<LineBreak/>
<Run>• Buttons on each tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Select All</Run> and <Run Foreground="DarkRed">Select None</Run> for bulk dropdown changes on the current tab.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Explorer</Run> to open the folder containing the LISP file path reference.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Notepad++</Run> to open the LISP file in Notepad++ (or fallback editors).</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Reload</Run> to reload the LISP from disk.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Help</Run> to open the grouped help dialog.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">OK</Run> applies the selected values, and <Run Foreground="DarkRed">Cancel</Run> exits without applying.</Run><LineBreak/>
<LineBreak/>

<Bold>High-level workflow</Bold><LineBreak/>
<Run>• Sets a fixed on-disk LISP path using USERPROFILE (stored in </Run><Run Foreground="DarkRed">*SSV-lsp-path*</Run><Run>) for Explorer, Notepad++, reload, and copy-path actions.</Run><LineBreak/>
<Run>• Defines system variable groups (tabs) and preset targets in </Run><Run Foreground="DarkRed">*SSV-groups*</Run><Run> and </Run><Run Foreground="DarkRed">*SSV-vars*</Run><Run>.</Run><LineBreak/>
<Run>• Defines value meanings for dropdown labels using </Run><Run Foreground="DarkRed">*SSV-meanings*</Run><Run> and fallback meanings in </Run><Run Foreground="DarkRed">*SSV-binary-fallbacks*</Run><Run>.</Run><LineBreak/>
<Run>• Writes a temporary multi-dialog DCL file (one dialog per tab plus the help dialog) using </Run><Run Foreground="DarkRed">writeSSVDCL</Run><Run>.</Run><LineBreak/>
<Run>• Opens the first requested tab and allows tab switching by returning dialog codes and reopening the matching dialog page.</Run><LineBreak/>
<Run>• Persistently stores each dropdown selection index across tabs during the session using </Run><Run Foreground="DarkRed">*SSV-selections*</Run><Run>.</Run><LineBreak/>
<Run>• On OK, applies all selections across all groups using </Run><Run Foreground="DarkRed">setvar</Run><Run> wrapped in a safe call.</Run><LineBreak/>
<LineBreak/>

<Bold>Functionalities</Bold><LineBreak/>
<Run>• Tabbed dropdown UI for system variable presets.</Run><LineBreak/>
<Run>• Per-variable dropdown choices built from:</Run><LineBreak/>
<Run>  • A preset value (always inserted as the first dropdown item).</Run><LineBreak/>
<Run>  • Additional documented values with short meanings.</Run><LineBreak/>
<Run>  • Fallback labeled values when no full mapping exists.</Run><LineBreak/>
<Run>• Session persistence: selections are remembered when switching tabs (index-based storage).</Run><LineBreak/>
<Run>• Bulk operations on current tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Select All</Run> sets each dropdown on the current tab to the preset item (first list item, index 0).</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Select None</Run> attempts to set each dropdown on the current tab to value 0 when that value exists in the available choices.</Run><LineBreak/>
<Run>• Help system:</Run><LineBreak/>
<Run>  • Builds grouped help text automatically from the same group and meaning definitions.</Run><LineBreak/>
<Run>  • Displays help in a list box with multi-select support.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Copy Selected</Run> copies only highlighted help lines to clipboard.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Copy All</Run> copies the full help text to clipboard.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Copy Path</Run> copies the LISP path reference to clipboard.</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">Unicode On or Off</Run> toggles the bullet and arrow glyph style in the help output.</Run><LineBreak/>
<Run>• Convenience actions:</Run><LineBreak/>
<Run>  • Opens Explorer to the folder containing the LISP file (or selects the file if available).</Run><LineBreak/>
<Run>  • Opens the LISP in Notepad++ using a configured path, then falls back to launching notepad++ from PATH, then falls back to Notepad.</Run><LineBreak/>
<Run>  • Reloads the LISP file from disk.</Run><LineBreak/>
<LineBreak/>

<Bold>System variables covered</Bold><LineBreak/>
<Run>• File tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">FILEDIA</Run> (file dialog enable or suppress).</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">PROXYGRAPHICS</Run> (proxy graphics save behavior).</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">CMDECHO</Run> (command echo behavior).</Run><LineBreak/>
<LineBreak/>
<Run>• Dialogs tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">HPDLGMODE</Run> (hatch dialog enable or disable).</Run><LineBreak/>
<LineBreak/>
<Run>• Drawing Behavior tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">ORTHOMODE</Run>, <Run Foreground="DarkRed">MIRRTEXT</Run>, <Run Foreground="DarkRed">REGENMODE</Run>, <Run Foreground="DarkRed">PEDITACCEPT</Run>, <Run Foreground="DarkRed">TRIMEXTENDMODE</Run>, <Run Foreground="DarkRed">PLINEWID</Run>, <Run Foreground="DarkRed">DIMASSOC</Run>, <Run Foreground="DarkRed">DRAGMODE</Run>, <Run Foreground="DarkRed">MBUTTONPAN</Run>, <Run Foreground="DarkRed">WIPEOUTFRAME</Run>.</Run><LineBreak/>
<LineBreak/>
<Run>• Selection tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">PICKFIRST</Run>, <Run Foreground="DarkRed">PICKADD</Run>, <Run Foreground="DarkRed">PICKBOX</Run>, <Run Foreground="DarkRed">GRIPOBJLIMIT</Run>, <Run Foreground="DarkRed">SELECTIONPREVIEW</Run>, <Run Foreground="DarkRed">SELECTIONCYCLING</Run>, <Run Foreground="DarkRed">HIGHLIGHT</Run>, <Run Foreground="DarkRed">PICKDRAG</Run>.</Run><LineBreak/>
<LineBreak/>
<Run>• Drafting Aids tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">OSMODE</Run>, <Run Foreground="DarkRed">OTRACK</Run>, <Run Foreground="DarkRed">AUTOSNAP</Run>, <Run Foreground="DarkRed">DYNMODE</Run>, <Run Foreground="DarkRed">UCSFOLLOW</Run>, <Run Foreground="DarkRed">ZOOMFACTOR</Run>, <Run Foreground="DarkRed">DONUTID</Run>, <Run Foreground="DarkRed">DONUTOD</Run>.</Run><LineBreak/>
<LineBreak/>
<Run>• Xrefs tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">XREFOVERRIDE</Run> (xref layer override behavior).</Run><LineBreak/>
<LineBreak/>
<Run>• Publish tab:</Run><LineBreak/>
<Run>  • <Run Foreground="DarkRed">PUBLISHCOLLATE</Run> (publish collation behavior).</Run><LineBreak/>
<LineBreak/>

<Bold>Important commands and calls highlighted</Bold><LineBreak/>
<Run>• <Run Foreground="DarkRed">writeSSVDCL</Run> — generates the complete tabbed DCL file plus the help dialog into a temp location.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SSV:open-page</Run> — opens a specific tab by loading the corresponding DCL dialog and wiring its actions.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SSV:choices-for-dropdown</Run> — builds dropdown values and labels, ensuring the preset is first and preventing duplicate value entries.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">action_tile</Run> on each dropdown — saves selection indexes into </Run><Run Foreground="DarkRed">*SSV-selections*</Run><Run>.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SteSysVar:apply-all</Run> — applies the chosen numeric values across all tabs using </Run><Run Foreground="DarkRed">setvar</Run><Run>.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SSV:safe-setvar</Run> — wraps setvar in a catch-all to avoid hard stops on protected or invalid settings.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SSV-help-local</Run> — opens the help dialog and enables copy and Unicode toggles.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SSV:clipboard-put</Run> — copies text to clipboard by writing a temp file then invoking PowerShell Set-Clipboard via WScript.Shell.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SSV:open-lsp-folder</Run> and <Run Foreground="DarkRed">SSV:open-this-in-npp</Run> — open Explorer and Notepad++ for the configured LISP path.</Run><LineBreak/>
<Run>• <Run Foreground="DarkRed">SSV:reload-self</Run> — reloads the LISP from the configured path.</Run><LineBreak/>
<LineBreak/>

<Bold>Outputs and messages</Bold><LineBreak/>
<Run>• On apply: prints </Run><Run Foreground="DarkRed">SteSysVar: applied selections</Run><Run>.</Run><LineBreak/>
<Run>• On cancel: prints </Run><Run Foreground="DarkRed">SteSysVar: canceled</Run><Run>.</Run><LineBreak/>
<Run>• If the LISP file cannot be found for reload or open actions: alerts that it cannot find the file on disk.</Run><LineBreak/>
<LineBreak/>

<Bold>Operational notes and limitations</Bold><LineBreak/>
<Run>• Selections persist only during the current run while switching tabs because </Run><Run Foreground="DarkRed">*SSV-selections*</Run><Run> is reset at the start of SteSysVar:run.</Run><LineBreak/>
<Run>• The tool assumes the configured path stored in </Run><Run Foreground="DarkRed">*SSV-lsp-path*</Run><Run> is valid for Explorer, Notepad++, reload, and copy path actions; if the path differs per machine, SSV:set-path must be updated.</Run><LineBreak/>
<Run>• Clipboard copy relies on PowerShell; if PowerShell is restricted by policy, the copy actions will fail.</Run><LineBreak/>
<Run>• Select None only sets value 0 when that value is present in the computed dropdown values list for that variable.</Run><LineBreak/>
<Run>• The program primarily applies numeric setvar values; it does not validate each value against the current AutoCAD vertical or profile beyond catch-all error handling.</Run><LineBreak/>


</TextBlock>
            
<Grid>
<Image Source="SteSysVar_000.jpg" Stretch="Uniform"/>
</Grid>


<Grid>
<Image Source="SteSysVar_001.jpg" Stretch="Uniform"/>
</Grid>


<Grid>
<Image Source="SteSysVar_002.jpg" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="SteSysVar_003.jpg" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="SteSysVar_004.jpg" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="SteSysVar_005.jpg" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="SteSysVar_006.jpg" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="SteSysVar_007.jpg" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="SteSysVar_008.jpg" Stretch="Uniform"/>
</Grid>


<Grid>
<MediaElement
 Source="GIF"
 Stretch="Uniform"
 Visibility="Visible"/>
 </Grid>

</StackPanel>
</src:RibbonToolTip.ExpandedContent>
</src:RibbonToolTip>
</ResourceDictionary>



Additional info:

Share this page:

Leave a Reply

Page Tag: 🏷️ General_Civil_3D

  • SteSysVar

    Short description Tabbed “system variables tuner” for AutoCAD that lets you set common SYSVARs from dropdowns instead of typing SETVAR. Builds its own DCL with tabs (File, Dialogs, Drawing Behavior, Selection, Drafting Aids, Xrefs, Publish) and applies all chosen values at once. Command: Command: c:SteSysVar Opens the main tabbed dialog starting on the “File” tab,…

  • SetPlotDeviceNames_00

    Short description SetPlotDeviceNames — set every layout’s plot device to DWG To PDF.pc3 when available Iterates all layouts, refreshes device info, validates availability, then assigns the plot configuration Prints a warning per layout when the target device is not present Command: • SetPlotDeviceNames Description: Loads COM and targets a single plot configuration name: DWG To…