AutoCAD System Variables List (2000 to 2026)

359 system variables (SYSVARs) • What each value does • Read-only flags • Version history

Last updated: September 25, 2026


How to list and change system variables in AutoCAD

How to use this table: search by name or description, filter by type, or jump to a letter. Every variable has its own link (for example #DIMFRAC), so you can bookmark or share a single row. Variables marked KEY must be set at the start of any unattended batch script, or dialogs and prompts will pause the run. SET variables are useful to configure in scripts. READ variables are read-only and can be queried in AutoLISP with (getvar "VARNAME").

📚 Companion resource: AutoCAD Commands List: 403 commands rated for batch-script compatibility, with hyphen variants and dialog warnings.

● KEY: critical, must set in batch scripts to suppress dialogs/prompts ● SET: settable, useful to configure in Hurricane scripts ● READ: read-only, query with (getvar "NAME") in AutoLISP ● OBS: Present but obsolete / no longer functional ● REMOVED: No longer in modern AutoCAD
9KEY scripting
289Settable (SET)
57Read-only
4Removed/Obsolete
359Total variables
Filter:
Variable Description Type Read-Only Script Use Version / Status Notes & Scripting Tips
A
ACADLSPASDOCControls whether acad.lsp loads into every drawing (1) or only the first drawing opened (0)Integer (0-1)NoSETPresent since 20000=first drawing only; 1=every drawing. Set to 0 in large batch runs to skip per-drawing LISP loading overhead.
ACADPREFIXStores the directory path specified by the ACAD environment variableStringYesREADPresent since 2000Read-only informational path variable.
ACADVERStores the AutoCAD version number string (e.g. 24.0 for AutoCAD 2024)StringYesREADPresent since 2000Use (getvar "ACADVER") in LISP to detect version and branch accordingly. Read-only.
ACISOUTVERControls the ACIS version of SAT files created by ACISOUTIntegerNoSETPresent since 2000
AFLAGSSets attribute flags for ATTDEF (bit-code: 1=invisible 2=constant 4=verify 8=preset)IntegerNoSETPresent since 2000
ANGBASESets the base angle 0 with respect to the current UCS (in radians)RealNoSETPresent since 2000
ANGDIRSets positive angle direction: 0=counter-clockwise 1=clockwiseInteger (0-1)NoSETPresent since 2000
ANNOAUTOSCALEControls automatic addition of scales to annotative objects when CANNOSCALE changesIntegerNoSETAdded 2008Set to -4 to prevent automatic scale additions during batch runs.
ANNOTATIONSCALEReturns the current annotation scale name for the active spaceStringNoSETAdded 2008Can be set to a scale string such as "1:100".
ANNOTATIVEDWGSpecifies whether the drawing behaves as an annotative blockInteger (0-1)NoSETAdded 2008
APBOXTurns the AutoSnap aperture box on (1) or off (0)Integer (0-1)NoSETPresent since 2000
APERTURESets the object snap target height in pixels (1-50)IntegerNoSETPresent since 2000
AREAStores the last area computed by AREA, LIST, or DBLISTRealYesREADPresent since 2000Read-only result of the last AREA command.
ARRAYEDITSTATEIndicates whether an array object is currently being editedIntegerYesREADAdded 2012Read-only status flag.
ATTDIAControls whether INSERT uses a dialog for attribute entry: 0=command line 1=dialogInteger (0-1)NoKEYPresent since 2000CRITICAL: Set to 0 at the start of any script that inserts attributed blocks. Without this, the attribute dialog pauses the script waiting for user input.
ATTMODEControls display of attributes: 0=off 1=normal 2=all visibleInteger (0-2)NoSETPresent since 2000
ATTREQControls whether INSERT prompts for attribute values: 0=use defaults (no prompt) 1=promptInteger (0-1)NoSETPresent since 2000Set to 0 to skip all attribute prompts during batch insertion. More aggressive than ATTDIA alone.
AUDITCTLControls whether AUDIT creates an audit report (.ADT) file: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
AUNITSSets units for angles: 0=decimal degrees 1=deg/min/sec 2=grads 3=radians 4=surveyorInteger (0-4)NoSETPresent since 2000
AUPRECSets number of decimal places for angular units display (0-8)IntegerNoSETPresent since 2000
AUTOSNAPControls AutoSnap marker, tooltip, and magnet behavior (bit-code sum)IntegerNoSETPresent since 20001=marker 2=tooltip 4=magnet 8=polar 16=tracking 32=tooltips
B
BACKGROUNDPLOTControls background plotting: 0=disabled 1=plot only 2=publish only 3=bothInteger (0-3)NoSETAdded 2010Allows the AutoCAD session to stay responsive while plotting in the background.
BACKZStores the back clipping plane offset from the target plane for the current viewportRealYesREADPresent since 2000Read-only viewport property.
BINDTYPEControls how xref names are handled when binding: 0=bind style (Xref|Block) 1=insert styleInteger (0-1)NoSETPresent since 2000Important when batch-binding xrefs. Determines whether the separator is a pipe | or underscore _.
BLIPMODEControls whether marker blips appear at pick pointsInteger (0-1)NoREMRemoved 2015Blip display permanently removed from AutoCAD 2015+. Setting has no effect.
C
CAMERADISPLAYControls whether camera objects are displayed: 0=hidden 1=shownInteger (0-1)NoSETAdded 2007
CAMERAHEIGHTSpecifies the default height for new camera objectsRealNoSETAdded 2007
CANNOSCALESets the current annotation scale name for model space or paper spaceStringNoSETAdded 2008Setting this in a script changes the active annotation scale. Example value: "1:100".
CANNOSCALEVALUEReturns the current annotation scale as a numeric ratioRealYesREADAdded 2008Read-only computed value of CANNOSCALE.
CDATEStores the calendar date and time as a real number in YYYYMMDD.HHMMSSnn formatRealYesREADPresent since 2000Use (getvar "CDATE") in LISP for date-stamping. More readable than DATE (which is Julian).
CECOLORSets the color of new objectsStringNoSETPresent since 2000Accepts color numbers (1-255) or BYLAYER / BYBLOCK.
CELTSCALESets the current object linetype scale factor (multiplied by the global LTSCALE)RealNoSETPresent since 2000
CELTYPESets the linetype of new objectsStringNoSETPresent since 2000
CELWEIGHTSets the lineweight of new objects (-1=BYLAYER -2=BYBLOCK or a specific value in hundredths of mm)IntegerNoSETPresent since 2000
CHAMFERASets the first chamfer distanceRealNoSETPresent since 2000
CHAMFERBSets the second chamfer distanceRealNoSETPresent since 2000
CHAMFERCSets the chamfer length (when CHAMMODE=1)RealNoSETPresent since 2000
CHAMFERDSets the chamfer angle (when CHAMMODE=1)RealNoSETPresent since 2000
CHAMMODESets the chamfer input method: 0=two distances 1=length and angleInteger (0-1)NoSETPresent since 2000
CIRCLERADSets the default circle radius (0=no default)RealNoSETPresent since 2000
CLAYERSets the current layerStringNoKEYPresent since 2000One of the most commonly set variables in scripts. Equivalent to -LAYER S layername.
CMDACTIVEStores a bit-code indicating whether a command, script, or dialog is currently activeIntegerYesREADPresent since 2000Useful in LISP to detect script state. Read-only.
CMDDIAControls PLOT and HATCH dialog display: 0=suppress dialog 1=show dialogInteger (0-1)NoKEYPresent (limited effect in modern versions)In modern AutoCAD use -PLOT and -HATCH instead. CMDDIA has inconsistent behavior in AutoCAD 2000+.
CMDECHOControls whether AutoCAD echoes prompts during AutoLISP (command) calls: 0=suppress 1=echoInteger (0-1)NoKEYPresent since 2000CRITICAL: Set to 0 at the start of LISP routines to prevent command-line clutter during unattended runs. Also provides a significant speed improvement in batch processing.
CMDNAMESDisplays the names of the currently active and transparent commandsStringYesREADPresent since 2000Read-only.
CMLJUSTSpecifies multiline justification: 0=top 1=middle 2=bottomInteger (0-2)NoSETPresent since 2000
CMLSCALEControls the overall width of a multiline objectRealNoSETPresent since 2000
CMLSTYLESets the current multiline style nameStringNoSETPresent since 2000
COORDSControls when coordinates update on the status line: 0=static 1=continuous 2=polarInteger (0-2)NoSETPresent since 2000
COPYMODEControls whether COPY repeats automatically: 0=repeat until Esc 1=single copy onlyInteger (0-1)NoSETAdded 2011
CPLOTSTYLEControls the current plot style for new objectsStringNoSETPresent since 2000
CPROFILEStores the name of the current user profileStringYesREADPresent since 2000Read-only.
CSHADOWControls shadow display for 3D objects: 0=none 1=casts shadows 2=receives shadows 3=bothInteger (0-3)NoSETAdded 2007
CTABReturns the name of the current Model or Layout tabStringYesREADPresent since 2000Use (getvar "CTAB") in LISP to determine if the script is in model space or a named layout.
CURSORSIZEDetermines crosshair size as a percentage of the screen (1-100)IntegerNoSETPresent since 2000
CVPORTSets the identification number of the current viewportIntegerNoSETPresent since 2000
D
DATEStores the current date and time as a Julian real numberRealYesREADPresent since 2000Use CDATE for a more human-readable format. Read-only.
DBMODIndicates drawing modification status (bit-code; 1=entity database modified)IntegerYesREADPresent since 2000Use (getvar "DBMOD") in LISP to check whether the drawing has unsaved changes.
DCTMAINDisplays the file name of the current main spelling dictionaryStringNoSETPresent since 2000
DEFLPLSTYLESpecifies the default plot style for new layersStringNoSETPresent since 2000
DEFPLSTYLESpecifies the default plot style for new objectsStringNoSETPresent since 2000
DELOBJControls whether source objects are deleted after 3D solid creationIntegerNoSETPresent since 2000 / Changed 2012AutoCAD 2012+ accepts negative values (-1 to -3) to delete without prompting. Useful in batch solid-creation scripts.
DEMANDLOADControls xref demand loading: 0=off 1=on if source modified 2=alwaysInteger (0-2)NoSETPresent since 2000
DIASTATStores the exit method of the last dialog box: 0=Cancel 1=OKIntegerYesREADPresent since 2000Read-only.
DIMADECNumber of precision places for angular dimension valuesIntegerNoSETPresent since 2000
DIMALTControls display of alternate units in dimensions: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DIMALTDNumber of decimal places in alternate dimension unitsIntegerNoSETPresent since 2000
DIMALTFMultiplier for alternate dimension unitsRealNoSETPresent since 2000
DIMALTRNDRounding value for alternate dimension unitsRealNoSETPresent since 2000
DIMALTTDDecimal places for tolerance values in alternate unitsIntegerNoSETPresent since 2000
DIMALTUUnits format for alternate dimension units (1-8)IntegerNoSETPresent since 2000
DIMALTZZero suppression for alternate unit dimension valuesIntegerNoSETPresent since 2000
DIMAPOSTText prefix or suffix for alternate dimension measurementStringNoSETPresent since 2000
DIMASOControls associativity of dimension objects (legacy): replaced by DIMASSOCInteger (0-1)NoOBSDeprecated; use DIMASSOCReplaced by DIMASSOC in AutoCAD 2002. Still accepted as an alias but obsolete.
DIMASSOCControls dimension associativity: 0=exploded 1=non-associative 2=associativeInteger (0-2)NoSETAdded 2002Replaced the legacy DIMASO variable.
DIMASZControls arrowhead size in dimensionsRealNoSETPresent since 2000
DIMATFITDetermines text/arrow arrangement when space is insufficient (0-3)Integer (0-3)NoSETPresent since 2000Replaced the obsolete DIMFIT variable.
DIMAUNITUnits format for angular dimensions: 0=decimal degrees 1=DMS 2=grads 3=radiansInteger (0-4)NoSETPresent since 2000
DIMAZINZero suppression for angular dimensionsIntegerNoSETPresent since 2000
DIMBLKSets arrowhead block at dimension line endsStringNoSETPresent since 2000
DIMBLK1First arrowhead block when DIMSAH is onStringNoSETPresent since 2000
DIMBLK2Second arrowhead block when DIMSAH is onStringNoSETPresent since 2000
DIMCENControls center mark or centerline drawing: negative=centerlines positive=marks 0=noneRealNoSETPresent since 2000
DIMCLRDColor for dimension lines and arrowheadsIntegerNoSETPresent since 2000
DIMCLREColor for extension linesIntegerNoSETPresent since 2000
DIMCLRTColor for dimension textIntegerNoSETPresent since 2000
DIMDECNumber of decimal places for primary dimension unitsIntegerNoSETPresent since 2000
DIMDLEDimension line extension beyond oblique strokesRealNoSETPresent since 2000
DIMDLISpacing of dimension lines in baseline dimensionsRealNoSETPresent since 2000
DIMDSEPSingle-character decimal separator for decimal dimensionsStringNoSETPresent since 2000
DIMEXEExtension line extension beyond the dimension lineRealNoSETPresent since 2000
DIMEXOExtension line offset from the origin pointsRealNoSETPresent since 2000
DIMFITObsolete: replaced by DIMATFIT and DIMTMOVEIntegerNoREMRemoved (obsolete)Use DIMATFIT and DIMTMOVE instead.
DIMFRACSets fraction format when DIMLUNIT is 4 or 5: 0=horizontal 1=diagonal 2=not stackedInteger (0-2)NoSETPresent since 2000
DIMGAPDistance from dimension text to the gap in the dimension lineRealNoSETPresent since 2000
DIMJUSTHorizontal positioning of dimension text (0-4)Integer (0-4)NoSETPresent since 2000
DIMLDRBLKArrow type for leadersStringNoSETPresent since 2000
DIMLFACScale factor for linear dimension measurementsRealNoSETPresent since 2000
DIMLIMGenerates dimension limits as default text: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DIMLUNITSets units for all dimension types except angular (1-6)Integer (1-6)NoSETPresent since 20001=scientific 2=decimal 3=engineering 4=arch stacked 5=fractional 6=Windows desktop. Replaced obsolete DIMUNIT.
DIMLWDLineweight for dimension linesIntegerNoSETPresent since 2000
DIMLWELineweight for extension linesIntegerNoSETPresent since 2000
DIMPOSTText prefix or suffix for primary dimension measurementStringNoSETPresent since 2000
DIMRNDRounds all dimensioning distances to the specified valueRealNoSETPresent since 2000
DIMSAHControls display of different arrowhead blocks at each dimension end: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DIMSCALEOverall scale factor applied to all dimensioning variablesRealNoSETPresent since 2000Set to match the drawing plot scale. 0=scales by the viewport scale factor.
DIMSD1Suppresses first dimension line: 0=show 1=suppressInteger (0-1)NoSETPresent since 2000
DIMSD2Suppresses second dimension line: 0=show 1=suppressInteger (0-1)NoSETPresent since 2000
DIMSE1Suppresses display of first extension line: 0=show 1=suppressInteger (0-1)NoSETPresent since 2000
DIMSE2Suppresses display of second extension line: 0=show 1=suppressInteger (0-1)NoSETPresent since 2000
DIMSOXDSuppresses dimension lines outside extension lines: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DIMSTYLEShows or sets the current dimension style nameStringNoSETPresent since 2000Can be set via SETVAR or -DIMSTYLE to activate a named dimension style.
DIMTADVertical position of text relative to the dimension line (0-4)Integer (0-4)NoSETPresent since 2000
DIMTDECNumber of decimal places in tolerance valuesIntegerNoSETPresent since 2000
DIMTFACScale factor for dimension fraction and tolerance text heightRealNoSETPresent since 2000
DIMTIHControls text position inside extension lines: 0=aligned with dimension 1=horizontalInteger (0-1)NoSETPresent since 2000
DIMTIXForces text between extension lines: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DIMTMMinimum (lower) tolerance limit for dimension textRealNoSETPresent since 2000
DIMTMOVESets dimension text movement rules: 0=moves line 1=adds leader 2=moves freelyInteger (0-2)NoSETPresent since 2000Replaced part of the obsolete DIMFIT variable.
DIMTOFLDraws dimension line between extensions even when text is outside: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DIMTOHControls text position outside extension lines: 0=aligned 1=horizontalInteger (0-1)NoSETPresent since 2000
DIMTOLAppends tolerances to dimension text: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DIMTOLJVertical justification for tolerance values (0-2)Integer (0-2)NoSETPresent since 2000
DIMTPMaximum (upper) tolerance limit for dimension textRealNoSETPresent since 2000
DIMTSZSize of oblique strokes used instead of arrowheadsRealNoSETPresent since 2000
DIMTVPVertical position of dimension text above or below the dimension lineRealNoSETPresent since 2000
DIMTXSTYText style used for dimension annotationsStringNoSETPresent since 2000
DIMTXTHeight of dimension textRealNoSETPresent since 2000
DIMTZINZero suppression in tolerance valuesIntegerNoSETPresent since 2000
DIMUNITObsolete: replaced by DIMLUNIT and DIMFRACIntegerNoREMRemoved (obsolete)Use DIMLUNIT and DIMFRAC instead.
DIMUPTControls user-positioned text: 0=cursor moves dimension line 1=cursor moves textInteger (0-1)NoSETPresent since 2000
DIMZINZero suppression in primary unit dimension valuesIntegerNoSETPresent since 2000
DISPSILHControls display of silhouette curves on solid objects in wireframe: 0=off 1=onInteger (0-1)NoSETPresent since 2000
DISTANCEStores the distance computed by the last DIST commandRealYesREADPresent since 2000Read-only result of last DIST.
DONUTIDDefault inside diameter of a donutRealNoSETPresent since 2000
DONUTODDefault outside diameter of a donutRealNoSETPresent since 2000
DRAGMODEControls how dragged objects are displayed: 0=off 1=on when you enter DRAG 2=autoInteger (0-2)NoSETPresent since 2000Still in AutoCAD 2026. Default 2 (auto); rarely needs changing in scripts.
DRAWORDERCTLControls default draw order for new objects (0-3)Integer (0-3)NoSETAdded 20120=none 1=inherit from above 2=send below 3=send above.
DWGCHECKDetermines whether a drawing was last edited by a non-AutoCAD productInteger (0-2)NoSETPresent since 2000
DWGCODEPAGEStores the same value as SYSCODEPAGE (backward compatibility)StringYesREADPresent since 2000Read-only.
DWGNAMEStores the drawing file name as entered by the user (without path)StringYesREADPresent since 2000Use (getvar "DWGNAME") to get the current file name during batch processing.
DWGPREFIXStores the drive and directory path of the current drawingStringYesREADPresent since 2000Use (getvar "DWGPREFIX") to build full file paths during batch runs.
DWGTITLEDIndicates whether the current drawing has been named: 0=no 1=yesInteger (0-1)YesREADPresent since 2000Read-only.
DYNMODEControls Dynamic Input display: 0=off 1=pointer only 2=dimensional only 3=bothInteger (0-3)NoSETAdded 2006Set to 0 in scripts to suppress dynamic input and improve performance.
DYNPICOORDSControls pointer input coordinate format: 0=relative 1=absoluteInteger (0-1)NoSETAdded 2006
DYNPIFORMATControls pointer input format: 0=polar 1=CartesianInteger (0-1)NoSETAdded 2006
DYNPIVISControls when pointer input tooltips display: 0=never 1=at prompts 2=alwaysInteger (0-2)NoSETAdded 2006
DYNPROMPTControls display of prompts in Dynamic Input tooltips: 0=off 1=onInteger (0-1)NoSETAdded 2006
E
EDGEMODEControls how TRIM and EXTEND determine cutting boundaries: 0=no extension 1=extendInteger (0-1)NoSETPresent since 2000
ELEVATIONStores the current elevation relative to current UCS for the current viewportRealNoSETPresent since 2000
ERRNOStores the error code set by the last AutoLISP function callIntegerYesREADPresent since 2000Essential for error detection in LISP scripts. Cleared by the next AutoLISP call. Read-only.
EXPERTSuppresses warning and confirmation prompts: higher values suppress more dialogsInteger (0-5)NoKEYPresent since 2000CRITICAL for unattended scripting. 0=all prompts shown. 1=suppresses 'About to regen?' and layer-off warnings. 2=also suppresses PURGE confirm. 3=also suppresses LINETYPE/DIMSTYLE warnings. 4=UCS save/rename. 5=-BLOCK redefinition warning.
EXPLMODEControls whether EXPLODE supports non-uniformly scaled blocks: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
EXTMAXStores the upper-right point of the drawing extentsPointYesREADPresent since 2000Updated after ZOOM Extents or REGEN. Read-only.
EXTMINStores the lower-left point of the drawing extentsPointYesREADPresent since 2000Updated after ZOOM Extents or REGEN. Read-only.
EXTNAMESSets maximum length for named object names: 0=31 chars (R13 limit) 1=255 chars (modern)Integer (0-1)NoSETPresent since 2000Should always be 1 in modern drawings.
F
FACETRESAdjusts smoothness of shaded objects and hidden-line removal (0.01-10.0)RealNoSETPresent since 2000
FILEDIASuppresses file dialog boxes: 0=no dialogs (use command-line filename) 1=show dialogsInteger (0-1)NoKEYPresent since 2000CRITICAL: the most important scripting variable. Set to 0 before any command that opens a file dialog: SAVEAS, EXPORT, IMPORT, ACISIN, ACISOUT, BMPOUT, WMFIN, WMFOUT, STLOUT, PSOUT, PSIN, MSLIDE, VSLIDE, SCRIPT. Reset to 1 at the end of the script.
FILLETRADStores the current fillet radiusRealNoSETPresent since 2000
FILLMODESpecifies whether hatches and wide polylines are filled: 0=off 1=onInteger (0-1)NoSETPresent since 2000
FONTALTSpecifies the alternate font used when a specified font cannot be foundStringNoSETPresent since 2000
FONTMAPSpecifies the font mapping file pathStringNoSETPresent since 2000
FRONTZStores the front clipping plane offset from the target plane for the current viewportRealYesREADPresent since 2000Read-only viewport property.
G
GRIDMODETurns grid display on (1) or off (0)Integer (0-1)NoSETPresent since 2000
GRIDUNITSpecifies the grid spacing (X and Y) for the current viewportPointNoSETPresent since 2000
GRIPCOLORControls the color of unselected grips (outline boxes)IntegerNoSETPresent since 2000
GRIPHOTControls the color of selected (hot) gripsIntegerNoSETPresent since 2000
GRIPSControls use of selection set grips: 0=off 1=onInteger (0-1)NoSETPresent since 2000
GRIPSIZESets the size of the grip box in pixels (1-255)IntegerNoSETPresent since 2000
H
HIGHLIGHTControls object highlighting on selection: 0=off 1=onInteger (0-1)NoSETPresent since 2000
HIGHLIGHTINTENSITYControls the contrast at which highlighted objects are displayed (0-100)IntegerNoSETAdded 2018
HPANGSpecifies the default hatch pattern angleRealNoSETPresent since 2000
HPASSOCControls whether hatch patterns are associative: 0=non-associative 1=associativeInteger (0-1)NoSETAdded 2002
HPBOUNDControls object type created by BHATCH/BOUNDARY: 0=region 1=polylineInteger (0-1)NoSETPresent since 2000
HPDOUBLESpecifies hatch doubling for user-defined patterns: 0=off 1=onInteger (0-1)NoSETPresent since 2000
HPGAPTOLSets a gap tolerance for hatch boundary detectionRealNoSETAdded 2004
HPNAMESets a default hatch pattern nameStringNoSETPresent since 2000
HPSCALESpecifies the default hatch pattern scale factorRealNoSETPresent since 2000
HPSPACESpecifies hatch line spacing for user-defined patternsRealNoSETPresent since 2000
HYPERLINKBASESpecifies the base path used for all relative hyperlinks in the drawingStringNoSETPresent since 2000
I
IMAGEHLTControls whether the entire raster image or only its frame is highlighted: 0=frame 1=fullInteger (0-1)NoSETPresent since 2000
INDEXCTLControls layer and spatial index creation: 0=none 1=layer 2=spatial 3=bothInteger (0-3)NoSETPresent since 2000
INSBASEStores the insertion base point set by the BASE commandPointNoSETPresent since 2000
INSNAMESets a default block name for INSERTStringNoSETPresent since 2000
INSUNITSSpecifies drawing units for drag-and-drop from DesignCenter (0-21)Integer (0-21)NoSETPresent since 20000=unitless 1=inches 2=feet 4=mm 5=cm 6=meters. Set to match the drawing's native units for consistent block insertion.
ISAVEBAKControls whether a .bak backup file is created during incremental saves: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
ISAVEPERCENTDetermines wasted space tolerance in a drawing file before a full save is forced (0-100)IntegerNoSETPresent since 2000
ISOLINESSpecifies number of isolines per surface on solid objects (0-2047)IntegerNoSETPresent since 2000
L
LASTANGLEStores the end angle of the last arc enteredRealYesREADPresent since 2000Read-only.
LASTPOINTStores the last point entered (can be referenced as @ in commands)PointNoSETPresent since 2000
LASTPROMPTStores the last string echoed to the command lineStringYesREADPresent since 2000Read-only.
LATITUDESpecifies the geographic latitude of the drawing in decimal degreesRealNoSETAdded 2007Used for solar studies and geographic location features.
LENSLENGTHStores the lens length in millimeters for perspective viewing in the current viewportRealYesREADPresent since 2000Read-only.
LIMCHECKControls whether objects can be created outside drawing limits: 0=allow 1=rejectInteger (0-1)NoSETPresent since 2000
LIMMAXStores the upper-right drawing limits for the current spacePointNoSETPresent since 2000
LIMMINStores the lower-left drawing limits for the current spacePointNoSETPresent since 2000
LINEFADINGControls fading display of lines at their ends: 0=off 1=onInteger (0-1)NoSETAdded 2015
LISPINITSpecifies whether AutoLISP functions and variables are preserved between drawings: 0=preserve 1=reinitializeInteger (0-1)NoSETPresent since 2000
LOCALEDisplays the ISO language code of the current AutoCAD versionStringYesREADPresent since 2000Read-only.
LOGFILEMODESpecifies whether text window contents are written to a log file: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
LOGFILEPATHSpecifies the path for log files for all drawings in a sessionStringNoSETPresent since 2000
LOGINNAMEDisplays the user's login name as configured when AutoCAD was loadedStringYesREADPresent since 2000Use (getvar "LOGINNAME") to identify the current user for audit logging in LISP routines. Read-only.
LONGITUDESpecifies the geographic longitude of the drawing in decimal degreesRealNoSETAdded 2007Used for solar studies and geographic location features.
LTSCALESets the global linetype scale factor for the drawingRealNoKEYPresent since 2000One of the most commonly set variables in batch scripts. Controls linetype appearance globally across all objects.
LUNITSSets linear units: 1=scientific 2=decimal 3=engineering 4=architectural 5=fractionalInteger (1-5)NoSETPresent since 2000
LUPRECSets the number of decimal places for linear units display (0-8)IntegerNoSETPresent since 2000
LWDEFAULTSets the default lineweight valueIntegerNoSETPresent since 2000
LWDISPLAYControls whether lineweight is displayed: 0=off 1=onInteger (0-1)NoSETPresent since 2000
LWUNITSControls lineweight unit display: 0=inches 1=millimetersInteger (0-1)NoSETPresent since 2000
M
MAXACTVPSets the maximum number of simultaneously active viewports (2-64)IntegerNoSETPresent since 2000
MAXSORTMaximum number of symbol names sorted by listing commandsIntegerNoSETPresent since 2000
MBUTTONPANControls third button or wheel behavior: 0=defined by menu 1=panInteger (0-1)NoSETPresent since 2000
MEASUREINITSets the initial drawing units for new drawings: 0=English (imperial) 1=metricInteger (0-1)NoSETPresent since 2000
MEASUREMENTSets drawing units for the current drawing: 0=English 1=metricInteger (0-1)NoSETPresent since 2000
MIRRTEXTControls how MIRROR reflects text: 0=mirror text characters 1=keep text readableInteger (0-1)NoSETPresent since 2000Set to 1 to keep text reading left-to-right after a MIRROR operation. Set to 0 for a true mirror.
MODEMACRODisplays a custom text string on the status lineStringNoSETPresent since 2000
MSLTSCALEControls whether model space linetypes scale by the annotation scale: 0=no 1=yesInteger (0-1)NoSETAdded 2008
MSOLESCALEControls how OLE objects are scaled when inserted into model spaceRealNoSETAdded 2004
N
NOMUTTSuppresses message display during operations: 0=show messages 1=suppressInteger (0-1)NoKEYPresent since 2000CRITICAL: Set to 1 to suppress repetitive warnings and status messages during large scripted batch runs.
O
OBJECTISOLATIONMODEControls whether object isolation persists after saving and reopening: 0=no 1=yesInteger (0-1)NoSETAdded 2016
OFFSETDISTSets the default offset distance (negative value = Through mode)RealNoSETPresent since 2000
OFFSETGAPTYPEControls polyline gap handling during OFFSET: 0=extend segments 1=fillet 2=chamferInteger (0-2)NoSETPresent since 2000
ORTHOMODETurns Ortho mode on (1) or off (0)Integer (0-1)NoSETPresent since 2000Occasionally set in scripts to constrain movement to horizontal or vertical.
OSMODESets running object snap modes using a bit-code sumIntegerNoSETPresent since 2000Key bits: 1=ENDpoint 2=MIDpoint 4=CENter 8=NODe 32=INTersection 512=NEArest. Set to 0 in scripts requiring exact coordinate input with no snap interference.
OSNAPCOORDControls whether command-line coordinates override running object snaps (0-2)Integer (0-2)NoSETPresent since 20000=snaps override 1=script input overrides 2=keyboard always overrides.
P
PDMODEControls how point objects are displayed (0-99 bit-code)IntegerNoSETPresent since 2000
PDSIZESets the display size for point objectsRealNoSETPresent since 2000
PDFSHXControls whether SHX text in PDF underlays is searchable and selectable: 0=off 1=onInteger (0-1)NoSETAdded 2016
PERIMETERStores the last perimeter value computed by AREA, LIST, or DBLISTRealYesREADPresent since 2000Read-only.
PICKADDControls whether subsequent selections add to or replace the selection set (0-2)Integer (0-2)NoSETPresent since 2000 / Changed 2012Value 2 (add with Shift=remove) added in AutoCAD 2012.
PICKAUTOControls automatic windowing at Select Objects prompt: 0=off 1=onInteger (0-1)NoSETPresent since 2000
PICKBOXSets the object selection target height in pixelsIntegerNoSETPresent since 2000
PICKDRAGControls selection window method: 0=click two corners 1=click and dragInteger (0-1)NoSETPresent since 2000
PICKFIRSTControls selection sequence: 0=verb-noun 1=noun-verb (select then issue command)Integer (0-1)NoSETPresent since 2000
PICKSTYLEControls group and associative hatch selection: 0=none 1=group 2=assoc hatch 3=bothInteger (0-3)NoSETPresent since 2000
PLATFORMIndicates which platform of AutoCAD is in use (e.g. Windows)StringYesREADPresent since 2000Use (getvar "PLATFORM") to detect the runtime platform. Read-only.
PLINEGENSets how linetype patterns generate around polyline vertices: 0=from each vertex 1=across full lengthInteger (0-1)NoSETPresent since 2000Set to 1 for continuous linetype patterns on polylines: recommended for most drawings.
PLINETYPEControls whether AutoCAD uses optimized 2D polylines: 0=old format 2=always optimizedInteger (0-2)NoSETPresent since 2000
PLINEWIDStores the default polyline widthRealNoSETPresent since 2000
PLOTROTMODEControls the orientation of plots (0-2)Integer (0-2)NoSETPresent since 2000
PLQUIETControls optional dialogs for batch plotting/scripts: 0=show dialogs 1=suppress and log errorsInteger (0-1)NoKEYPresent since 2000CRITICAL: Set to 1 during unattended batch plotting. Suppresses non-fatal error dialogs that would otherwise pause an overnight run indefinitely.
POLARDISTSets the snap increment when SNAPSTYL is set to 1 (polar snap)RealNoSETPresent since 2000
POLARMODEControls settings for polar and object snap tracking (bit-code)IntegerNoSETPresent since 2000
POLYSIDESSets the default number of sides for POLYGON (3-1024)IntegerNoSETPresent since 2000
PRODUCTReturns the product name (e.g. AutoCAD, AutoCAD LT, AutoCAD Architecture)StringYesREADPresent since 2000Use (getvar "PRODUCT") in LISP to detect whether running in full AutoCAD vs LT vs a vertical. Read-only.
PROGRAMReturns the program executable nameStringYesREADPresent since 2000Read-only.
PROJECTNAMEAssigns a project name to the current drawing for xref path searchingStringNoSETPresent since 2000
PROJMODESets the Projection mode for TRIM/EXTEND: 0=true 3D 1=current UCS plane 2=view planeInteger (0-2)NoSETPresent since 2000
PROXYGRAPHICSControls whether proxy object images are saved in the drawing: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
PROXYSHOWControls display of proxy objects: 0=do not show 1=show all 2=bounding box onlyInteger (0-2)NoSETPresent since 2000
PSLTSCALEControls paper space linetype scaling: 0=no special scaling 1=viewport scale appliedInteger (0-1)NoSETPresent since 2000Set to 1 so linetypes appear correctly scaled when viewed through a viewport in paper space.
PSTYLEMODEIndicates the plot style mode of the current drawing: 0=named plot styles (STB) 1=color-dependent plot styles (CTB)Integer (0-1)YesREADPresent since 2000Read-only. Use CONVERTPSTYLES to switch a drawing between modes. Check with (getvar "PSTYLEMODE") before a batch plot that assumes CTB files.
PSVPSCALESets the view scale factor for all newly created floating viewportsRealNoSETPresent since 2000
Q
QTEXTMODEControls quick text mode: 0=normal display 1=bounding boxes only (faster regen)Integer (0-1)NoSETPresent since 2000
R
REFEDITNAMEStores the reference file name during in-place reference editingStringYesREADPresent since 2000Empty when not editing a reference. Read-only.
REGENMODEControls automatic drawing regeneration: 0=manual (REGEN required) 1=automaticInteger (0-1)NoSETPresent since 2000
REINITReinitializes digitizer port and/or acad.pgp file (bit-code)IntegerNoSETPresent since 2000Set to 4 to reload acad.pgp during a session without restarting AutoCAD.
RIBBONSTATEReports whether the ribbon is open (1) or closed (0)IntegerYesREADAdded 2009Read-only. Use (getvar "RIBBONSTATE") in LISP to detect ribbon state.
RTDISPLAYControls display of raster images during real-time ZOOM/PAN: 0=bounding box only 1=full rasterInteger (0-1)NoSETPresent since 2000
S
SAVEFILEStores the current auto-save file nameStringYesREADPresent since 2000Read-only.
SAVEFILEPATHSpecifies the path to the directory for all automatic save filesStringNoSETPresent since 2000
SAVENAMEStores the file name and path of the current drawing after the last saveStringYesREADPresent since 2000Read-only.
SAVETIMESets the automatic save interval in minutes (0=disable auto-save)IntegerNoSETPresent since 2000
SCREENSIZEStores the current viewport size in pixels as X,YPointYesREADPresent since 2000Read-only.
SDIControls single/multiple document interface: 0=multiple (MDI) 1=singleInteger (0-1)NoSETPresent since 2000
SELECTIONCYCLINGControls selection cycling when objects overlap: 0=off 1=cycle 2=cycle with dialogInteger (0-2)NoSETAdded 2011Set to 0 in scripts requiring predictable first-pick selection behavior.
SELECTIONPREVIEWControls selection preview highlighting effect: 0=off 1=at command preview 2=hover 3=bothInteger (0-3)NoSETAdded 2004
SHADEDGEControls edge shading in rendering: 0=faces shaded no edges 1=faces filled no edges 2=faces+edges 3=outlinedInteger (0-3)NoSETPresent since 2000
SHADEDIFSets ratio of diffuse to ambient light in rendering (0-100)IntegerNoSETPresent since 2000
SHORTCUTMENUControls whether context menus are available in the drawing area (bit-code)IntegerNoSETPresent since 2000
SKETCHINCSets the record increment for SKETCHRealNoSETPresent since 2000
SKPOLYControls whether SKETCH generates lines (0) or polylines (1)Integer (0-1)NoSETPresent since 2000
SNAPANGSets snap and grid rotation angle for the current viewportRealNoSETPresent since 2000
SNAPBASESets the snap and grid origin point relative to current UCSPointNoSETPresent since 2000
SNAPISOPAIRControls the current isometric plane: 0=left 1=top 2=rightInteger (0-2)NoSETPresent since 2000
SNAPMODETurns Snap mode on (1) or off (0)Integer (0-1)NoSETPresent since 2000
SNAPSTYLSets snap style for the current viewport: 0=standard 1=isometricInteger (0-1)NoSETPresent since 2000
SNAPTYPESets the snap type for the current viewport: 0=standard 1=polarInteger (0-1)NoSETPresent since 2000
SNAPUNITSets the snap spacing (X and Y) for the current viewportPointNoSETPresent since 2000
SOLIDCHECKTurns solid validation on (1) or off (0)Integer (0-1)NoSETPresent since 2000
SOLIDHISTControls whether new composite solids keep a history of their original parts: 0=no history 1=keep historyInteger (0-1)NoSETAdded 2007Set to 0 in batch scripts that create solids to keep drawing size down.
SORTENTSControls object sort order operations (bit-code)IntegerNoSETPresent since 2000
SPLINESEGSSets number of line segments generated per spline-fit polylineIntegerNoSETPresent since 2000
SPLINETYPESets curve type for PEDIT Spline: 5=quadratic B-spline 6=cubic B-splineInteger (5-6)NoSETPresent since 2000
SURFTAB1Sets number of tabulations for RULESURF and TABSURFIntegerNoSETPresent since 2000
SURFTAB2Sets mesh density in the N direction for REVSURF and EDGESURFIntegerNoSETPresent since 2000
SURFUSets surface density for PEDIT Smooth in the M directionIntegerNoSETPresent since 2000
SURFVSets surface density for PEDIT Smooth in the N directionIntegerNoSETPresent since 2000
SYSCODEPAGEIndicates the system code page specified in acad.xmfStringYesREADPresent since 2000Read-only.
T
TARGETStores the location of the target point for the current viewportPointYesREADPresent since 2000Read-only.
TDCREATEStores the local date and time the drawing was created (Julian real number)RealYesREADPresent since 2000Read-only.
TDINDWGStores the total editing time accumulated in the drawing (Julian real number)RealYesREADPresent since 2000Read-only.
TDUPDATEStores the local date and time of the last update or save (Julian real number)RealYesREADPresent since 2000Read-only.
TDUSRTIMERStores the user-elapsed timer (can be reset by setting to 0)RealNoSETPresent since 2000
TEMPPREFIXContains the directory name for temporary filesStringYesREADPresent since 2000Read-only; set by ACAD environment variable or Options.
TEXTEVALControls evaluation of text strings in AutoLISP (command) function: 0=literal 1=evaluateInteger (0-1)NoSETPresent since 2000
TEXTFILLControls filling of TrueType fonts while plotting: 0=outline only 1=filledInteger (0-1)NoSETPresent since 2000
TEXTQLTYSets TrueType font resolution tessellation fineness (0-100)IntegerNoSETPresent since 2000
TEXTSIZESets the default height for new single-line text objectsRealNoSETPresent since 2000Useful in scripts that create standard text annotations.
TEXTSTYLESets the name of the current text styleStringNoSETPresent since 2000Can be set via SETVAR to switch the active text style during a batch run.
THICKNESSSets the current 3D thickness for new objectsRealNoSETPresent since 2000
TILEMODEControls Model/Layout tab: 0=paper space layout active 1=model space activeInteger (0-1)NoSETPresent since 2000Set to 1 to ensure scripts run in model space. Set to 0 to switch to paper space for plotting.
TOOLTIPSControls display of tooltips: 0=off 1=onInteger (0-1)NoSETPresent since 2000
TRACEWIDSets the default trace widthRealNoSETPresent since 2000
TREEDEPTHSpecifies the maximum depth of the spatial index treeIntegerNoSETPresent since 2000
TRIMMODEControls whether CHAMFER/FILLET trims edges: 0=no trim 1=trim selected edgesInteger (0-1)NoSETPresent since 2000
TSPACEFACControls multiline text line spacing as a factor of text heightRealNoSETPresent since 2000
TSPACETYPEControls type of line spacing in multiline text: 1=at-least 2=exactlyInteger (1-2)NoSETPresent since 2000
TSTACKALIGNControls vertical alignment of stacked text (0-2)Integer (0-2)NoSETPresent since 2000
TSTACKSIZEControls stacked text height as a percentage of current text heightIntegerNoSETPresent since 2000
U
UCSAXISANGStores the default rotation angle when rotating UCS around an axisRealNoSETPresent since 2000
UCSBASEStores the UCS name defining the origin and orientation of orthographic UCS settingsStringNoSETPresent since 2000
UCSFOLLOWGenerates a plan view when switching UCS: 0=off 1=onInteger (0-1)NoSETPresent since 2000
UCSICONControls UCS icon display: 0=off 1=on 2=display at origin when possibleIntegerNoSETPresent since 2000
UCSNAMEStores the name of the current coordinate system for the current viewportStringYesREADPresent since 2000Read-only.
UCSORGStores the origin point of the current UCS for the current viewportPointYesREADPresent since 2000Read-only.
UCSORTHODetermines whether the related orthographic UCS restores automatically: 0=off 1=onInteger (0-1)NoSETPresent since 2000
UCSVIEWDetermines whether the current UCS is saved with a named view: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
UCSVPDetermines whether the UCS in viewports remains fixed: 0=changes with active VP 1=fixedInteger (0-1)NoSETPresent since 2000
UCSXDIRStores the X direction of the current UCS for the current viewportPointYesREADPresent since 2000Read-only.
UCSYDIRStores the Y direction of the current UCS for the current viewportPointYesREADPresent since 2000Read-only.
UNDOCTLStores bit-code indicating the state of the UNDO Auto and Control optionsIntegerYesREADPresent since 2000Read-only.
UNITMODEControls display format for fractional and surveyor unitsInteger (0-1)NoSETPresent since 2000
USERI1Integer storage variable #1 for user or AutoLISP use (persists within the drawing session)IntegerNoSETPresent since 2000Five variables USERI1-5 available. Use as temporary global storage in LISP batch routines.
USERI2Integer storage variable #2 for user or AutoLISP useIntegerNoSETPresent since 2000
USERI3Integer storage variable #3 for user or AutoLISP useIntegerNoSETPresent since 2000
USERI4Integer storage variable #4 for user or AutoLISP useIntegerNoSETPresent since 2000
USERI5Integer storage variable #5 for user or AutoLISP useIntegerNoSETPresent since 2000
USERR1Real number storage variable #1 for user or AutoLISP useRealNoSETPresent since 2000Five variables USERR1-5 available.
USERR2Real number storage variable #2 for user or AutoLISP useRealNoSETPresent since 2000
USERR3Real number storage variable #3 for user or AutoLISP useRealNoSETPresent since 2000
USERR4Real number storage variable #4 for user or AutoLISP useRealNoSETPresent since 2000
USERR5Real number storage variable #5 for user or AutoLISP useRealNoSETPresent since 2000
USERS1String storage variable #1 for user or AutoLISP useStringNoSETPresent since 2000Five variables USERS1-5 available.
USERS2String storage variable #2 for user or AutoLISP useStringNoSETPresent since 2000
USERS3String storage variable #3 for user or AutoLISP useStringNoSETPresent since 2000
USERS4String storage variable #4 for user or AutoLISP useStringNoSETPresent since 2000
USERS5String storage variable #5 for user or AutoLISP useStringNoSETPresent since 2000
V
VIEWCTRStores the center of view in the current viewportPointYesREADPresent since 2000Read-only.
VIEWDIRStores the viewing direction in the current viewportPointYesREADPresent since 2000Read-only.
VIEWSIZEStores the height of the view in the current viewportRealYesREADPresent since 2000Read-only.
VIEWTWISTStores the view twist angle for the current viewportRealYesREADPresent since 2000Read-only.
VISRETAINControls xref-dependent layer property overrides: 0=discarded on reload 1=savedInteger (0-1)NoSETPresent since 2000Set to 1 to preserve xref layer color, linetype, and visibility overrides between sessions.
VSMAXStores the upper-right corner of the current viewport's virtual screenPointYesREADPresent since 2000Read-only.
VSMINStores the lower-left corner of the current viewport's virtual screenPointYesREADPresent since 2000Read-only.
W
WMFBKGNDControls Windows Metafile output background: 0=transparent 1=opaque whiteInteger (0-1)NoSETPresent since 2000
WORLDUCSIndicates whether the current UCS is the same as WCS: 0=no 1=yesIntegerYesREADPresent since 2000Read-only.
WORLDVIEWDetermines whether 3DORBIT/VPOINT input is relative to WCS (1) or current UCS (0)Integer (0-1)NoSETPresent since 2000
WRITESTATIndicates whether the drawing file can be written: 0=read-only 1=writableIntegerYesREADPresent since 2000Use (getvar "WRITESTAT") in LISP to check if the file can be saved before attempting QSAVE. Read-only.
X
XCLIPFRAMEControls visibility of xref clipping boundaries: 0=hidden 1=visible not plotted 2=visible and plottedInteger (0-2)NoSETPresent since 2000 / Changed 2012Value 2 (visible and plotted) added in AutoCAD 2012.
XEDITControls whether the current drawing can be edited in-place when referenced: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
XFADECTLControls fading intensity percentage for references being edited in-place (0-90)IntegerNoSETPresent since 2000
XLOADCTLTurns xref demand loading on and off: 0=disabled 1=opens xref directly 2=opens copyInteger (0-2)NoSETPresent since 2000
XLOADPATHSpecifies the path for temporary copies of demand-loaded xref filesStringNoSETPresent since 2000
XREFCTLControls whether external reference log (.XLG) files are written: 0=no 1=yesInteger (0-1)NoSETPresent since 2000
XREFNOTIFYControls notification for updated or missing xrefs: 0=none 1=tray icon 2=tray icon + alert dialogInteger (0-2)NoSETAdded 2004
XREFTYPEControls default reference type when attaching xrefs: 0=attach 1=overlayInteger (0-1)NoSETAdded 2015
Z
ZOOMFACTORControls the incremental change in zoom per IntelliMouse wheel action (3-100)IntegerNoSETPresent since 2000

The 6 KEY Variables: Set These at the Top of Every Unattended Script

Add these SETVAR calls at the start of any Hurricane script that runs unattended. Without them, dialogs and prompts will pause the run:

Need these set in hundreds of drawings? Hurricane runs your script on every DWG in a folder, unattended. Download the free trial.

Other Commonly Set Variables in Hurricane Scripts

Useful Read-Only Variables in AutoLISP

💬 From the Hurricane Forum: Put DIMSCALE (or any SYSVAR) in a titleblock
Previous: AutoCAD Commands List Back to Hurricane for Autodesk® AutoCAD® FAQ Back to FAQ Index