Short description

Command:
Description:
Helper function: (if any)
Functionalities:
PUBLISHCOLLATE to control publish collation from the same UI. • Dedicated publish entry point — command c:SteSysVarPublish jumps directly to the Publish tab. Result:
Images, animations etc.








Log in
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>

Leave a Reply
You must be logged in to post a comment.