///////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2002-2019, Open Design Alliance (the "Alliance").
// All rights reserved.
//
// This software and its documentation and related materials are owned by
// the Alliance. The software may only be incorporated into application
// programs owned by members of the Alliance, subject to a signed
// Membership Agreement and Supplemental Software License Agreement with the
// Alliance. The structure and organization of this software are the valuable
// trade secrets of the Alliance and its suppliers. The software is also
// protected by copyright law and international treaty provisions. Application
// programs incorporating this software must include the following statement
// with their copyright notices:
//
// This application incorporates Open Design Alliance software pursuant to a license
// agreement with Open Design Alliance.
// Open Design Alliance Copyright (C) 2002-2019 by Open Design Alliance.
// All rights reserved.
//
// By use of this software, its documentation or related materials, you
// acknowledge and accept the above terms.
///////////////////////////////////////////////////////////////////////////////
//DOM-IGNORE-BEGIN
/*********************************************************/
// Macros description:
/*********************************************************
VAR_DEF(type, VarName,...)
Variable support is generated in OdDbDatabase::getVarName/setVarName()
and OdDbDatabase::get/setSysVar()
RO_VAR_DEF(type, VarName,...)
Read-only
Variable support is generated in OdDbDatabase::getVarName()
and OdDbDatabase::getSysVar()
VAR_DEF_H(type, VarName,...)
Variable support is generated in OdDbDatabase::getVarName/setVarName() only.
If get/setSysVar() is available see QuasiVarDefs.h
Note: Such variables may work differently in OdDbDatabase::get/setXXX()and get/setSysVar()
For example:
There are get/set OdDbDatabase methods for both EXTMIN(MS) and PEXTMIN(PS) but get/setSysVar()
is for EXTMIN only. It works with extents of current space.
RO_VAR_DEF_H(type, VarName,...)
The same as VAR_DEF_H but only OdDbDatabase::getVarName() is generated.
VAR_DEF_2
Similar to VAR_DEF but some special processing in set methods is required
and OdDbDatabase::setVarName() method is implemented manually.
Example - OdDbDatabase::setTEXTSTYLE() also changes TEXTSIZE.
And OdDbDatabase::setTEXTSIZE() changes prior size in current Text Style
DICR15VAR
DICR21VAR
DICR24VAR
DICR27VAR
Similar to VAR_DEF. Difference is that in some file versions these variables
present in Database header and in minor file versions they are round-tripped
via Variables Dictionary
MLEADERSTYLE_VAR_DEF
ANNO_VAR_DEF
A special cases of DICR21VAR, used to differentiate CANNOSCALE and CMLEADERSCALE from other usual system variables in some cases.
By default is equal to DICR21VAR.
REGVAR_DEF(type, VarName,...)
Variable support is generated in OdDbHostAppServices (getVarName/setVarName)
and OdDbDatabase::get/setSysVar()
*/
#ifndef RO_VAR_DEF
#define RO_VAR_DEF VAR_DEF /* {Secret} */
#define DOUNDEF_RO_VAR_DEF
#endif
#ifndef RO_VAR_DEF_H
#define RO_VAR_DEF_H RO_VAR_DEF /* {Secret} */
#define DOUNDEF_RO_VAR_DEF_H
#endif
#ifndef VAR_DEF_H
#define VAR_DEF_H VAR_DEF /* {Secret} */
#define DOUNDEF_VAR_DEF_H
#endif
#ifndef DICR15VAR
#define DOUNDEF_DICR15VAR
#define DICR15VAR VAR_DEF /* {Secret} */
#endif
#ifndef DICR21VAR
#define DOUNDEF_DICR21VAR
#define DICR21VAR VAR_DEF /* {Secret} */
#define DOUNDEF_DICR21VAR_H
#define DICR21VAR_H VAR_DEF_H /* {Secret} */
#else
#define DOUNDEF_DICR21VAR_H
#define DICR21VAR_H DICR21VAR /* {Secret} */
#endif
#ifndef DICR24VAR
#define DOUNDEF_DICR24VAR
#define DICR24VAR DICR21VAR /* {Secret} */
#define DOUNDEF_DICR24VAR_H
#define DICR24VAR_H DICR21VAR_H /* {Secret} */
#else
#define DOUNDEF_DICR24VAR_H
#define DICR24VAR_H DICR24VAR /* {Secret} */
#endif
#ifndef DICR27VAR
#define DOUNDEF_DICR27VAR
#define DICR27VAR DICR21VAR /* {Secret} */
#define DOUNDEF_DICR27VAR_H
#define DICR27VAR_H DICR21VAR_H /* {Secret} */
#else
#define DOUNDEF_DICR27VAR_H
#define DICR27VAR_H DICR27VAR /* {Secret} */
#endif
#ifndef ANNO_VAR_DEF
#define DOUNDEF_ANNO_VAR_DEF
#define ANNO_VAR_DEF DICR21VAR /* {Secret} */
#endif
#ifndef MLEADERSTYLE_VAR_DEF
#define DOUNDEF_MLEADERSTYLE_VAR_DEF
#define MLEADERSTYLE_VAR_DEF DICR21VAR /* {Secret} */
#endif
#ifndef VAR_DEF_2
#define DOUNDEF_VAR_DEF_2
#define VAR_DEF_2 VAR_DEF /* {Secret} */
#endif
#ifndef ODTBOOL
#define ODTBOOL bool /* {Secret} */
#endif
#ifndef ODTDIST
#define ODTDIST double /* {Secret} */
#endif
#ifndef ODTORIENT
#define ODTORIENT double /* {Secret} */
#endif
#ifndef ODTUNITLESS4
#define ODTUNITLESS4 double /* {Secret} */
#endif
#ifndef ODTUNITLESS8
#define ODTUNITLESS8 double /* {Secret} */
#endif
#ifndef ODTDB_MEASUREMENTVALUE
#define ODTDB_MEASUREMENTVALUE OdDb::MeasurementValue /* {Secret} */
#endif
#ifndef ODTDB_LINEWEIGHT
#define ODTDB_LINEWEIGHT OdDb::LineWeight /* {Secret} */
#endif
#ifndef ODTDB_JOINSTYLE
#define ODTDB_JOINSTYLE OdDb::JoinStyle /* {Secret} */
#endif
#ifndef ODTDB_UNITSVALUE
#define ODTDB_UNITSVALUE OdDb::UnitsValue /* {Secret} */
#endif
#ifndef ODTDB_PROXYIMAGE
#define ODTDB_PROXYIMAGE OdDb::ProxyImage /* {Secret} */
#endif
#ifndef ODTDB_MEASUREMENTVALUE
#define ODTDB_MEASUREMENTVALUE OdDb::MeasurementValue /* {Secret} */
#endif
#ifndef ODTDB_ENDCAPS
#define ODTDB_ENDCAPS OdDb::EndCaps /* {Secret} */
#endif
#ifndef ODTDB_JOINSTYLE
#define ODTDB_JOINSTYLE OdDb::JoinStyle /* {Secret} */
#endif
#ifndef ODTDB_PLOTSTYLENAMETYPE
#define ODTDB_PLOTSTYLENAMETYPE OdDb::PlotStyleNameType /* {Secret} */
#endif
#ifndef ODDBOBJECTID
#define ODDBOBJECTID OdDbObjectId /* {Secret} */
#endif
#ifndef ODDBHARDPOINTERID
#define ODDBHARDPOINTERID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTTEXTSTYLEID
#define ODTTEXTSTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTLAYERID
#define ODTLAYERID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTLAYERIDDEF
#define ODTLAYERIDDEF ODTLAYERID /* {Secret} */
#endif
#ifndef ODTLINETYPEID
#define ODTLINETYPEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTDIMSTYLEID
#define ODTDIMSTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTUCSID
#define ODTUCSID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTMLSTYLEID
#define ODTMLSTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTDB_TIMEZONE
#define ODTDB_TIMEZONE OdDb::TimeZone /* {Secret} */
#endif
#ifndef ODTDB_SHADOWFLAGS
#define ODTDB_SHADOWFLAGS OdGiSubEntityTraits::ShadowFlags /* {Secret} */
#endif
#ifndef ODVISTYLEID
#define ODVISTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTMATERIALID
#define ODTMATERIALID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTDB_LOFTPARAMTYPE
#define ODTDB_LOFTPARAMTYPE OdDb::LoftParamType /* {Secret} */
#endif
#ifndef ODTDB_LOFTNORMALSTYPE
#define ODTDB_LOFTNORMALSTYPE OdDb::LoftNormalsType /* {Secret} */
#endif
#ifndef ODTTABLESTYLEID
#define ODTTABLESTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTMLEADERSTYLEID
#define ODTMLEADERSTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTVIEWDETAILSTYLEID
#define ODTVIEWDETAILSTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODTVIEWSECTIONSTYLEID
#define ODTVIEWSECTIONSTYLEID ODDBOBJECTID /* {Secret} */
#endif
#ifndef ODANNOSCALE
#define ODANNOSCALE OdDbAnnotationScalePtr /* {Secret} */
#endif
#ifndef ODTTRANSPARENCYDEF
#define ODTTRANSPARENCYDEF OdCmTransparency
#endif
#ifndef ODTCOLORDEF
#define ODTCOLORDEF OdCmColor
#endif
#ifndef VAR_DEF
/* {Secret} */
#define VAR_DEF(a,b,c,d,r1,r2)
/* {Secret} */
#define DOUNDEF_VAR_DEF
#endif
#define SVARS_FUNC_MODIFIER virtual
// Type Name Default Metric default Reserve1 Reserve2
//DOM-IGNORE-END
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions 2.5+
ANGBASE specifies the direction of angle 0 with respect to the UCS.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getANGBASE()
OdDbDatabase::setANGBASE()
Note: All angles are expressed in radians.
*/
//double ANGBASE;
VAR_DEF( ODTORIENT, ANGBASE, (0.0), (0.0), (), ValidateNone())
/**
Type bool
Initial value false
Read-Only No
Saved In Database
Versions 2.5+
ANGDIR controls the direction of positive angles with respect to the UCS.
Value Positive Angles
false Counterclockwise
true Clockwise
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getANGDIR()
OdDbDatabase::setANGDIR()
*/
//bool ANGDIR;
VAR_DEF( ODTBOOL, ANGDIR, (false), (false), (), ValidateBOOL())
/**
Type OdGePoint3d
Initial value (0.0, 0.0, 0.0)
Read-Only No
Saved In Database
Versions R12+
INSBASE specifies the WCS insertion base point of the current space or model space.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getINSBASE()
OdDbDatabase::setINSBASE()
*/
//OdGePoint3d INSBASE;
VAR_DEF_H( OdGePoint3d, INSBASE, (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (), ValidateNone())
/**
Type OdGePoint3d
Initial value (1.E+20, 1.E+20, 1.E+20)
Read-Only Yes (for getSysVar() and setSysVar() methods)
Saved In Database
Versions R12+
EXTMIN specifies the lower-left corner of the extents of the Model Space.
Access Methods
OdDbDatabase::getSysVar() – returns the lower-left corner of the extents of the current space (Model or Paper).
OdDbDatabase::getEXTMIN() – returns the lower-left corner of the extents of the Model Space.
OdDbDatabase::setEXTMIN() – sets the lower-left corner of the extents of the Model Space.
Note: get(L"EXTMIN") works with values for current Layout and accesses database EXTMIN
or PEXTMIN.
\sa
*/
//OdGePoint3d EXTMIN;
VAR_DEF_H( OdGePoint3d, EXTMIN, (1.E+20, 1.E+20, 1.E+20), (1.E+20, 1.E+20, 1.E+20), (), ValidateNone())
/**
Type OdGePoint3d
Initial value (-1.0E+20, -1.0E+20, -1.0E+20)
Read-Only Yes (for getSysVar() and setSysVar() methods)
Saved In Database
Versions R12+
EXTMAX specifies the upper-right corner of the extents of the Model Space.
Access Methods
OdDbDatabase::getSysVar() – returns the upper-right corner of the extents of the current space (Model or Paper).
OdDbDatabase::getEXTMAX() – returns the upper-right corner of the extents of the Model Space.
OdDbDatabase::setEXTMAX() – sets the upper-right corner of the extents of the Model Space.
\sa
*/
//OdGePoint3d EXTMAX;
VAR_DEF_H( OdGePoint3d, EXTMAX, (-1.E+20, -1.E+20, -1.E+20), (-1.E+20, -1.E+20, -1.E+20), (), ValidateNone())
/**
Type OdGePoint2d
Initial value (0.0, 0.0)
Read-Only No
Saved In Database
Versions R12+
The LIMMIN system variable stores the lower-left corner of the grid limits for model space or current space
(current layout).
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getLIMMIN()
OdDbDatabase::setLIMMIN()
For example, to get the value:
OdRusBufPtr pRb = pDb-\>getSysVar(L"LIMMIN");
OdGePoint2d limmin = pRb-\>getPoint2d();
// or //
OdGePoint2d limmin = pDb-\>getLIMMIN();
odPrintConsoleString(L"nLower-left limits = (%f,%f)", limmin.x, limmin.y);
For example, to set the value:
OdGePoint2d point(0.5, 0.8);
OdRusBufPtr pRb = OdResBuf::newRb(OdResBuf::kRtPoint2d, point);
pDb-\>setSysVar(L"LIMMIN", pRb);
// or //
pDb-\>setLIMMIN( OdGePoint2d(0.5, 0.8) );
*/
//OdGePoint2d LIMMIN;
VAR_DEF_H( OdGePoint2d, LIMMIN, (0.0, 0.0), (0.0, 0.0), (), ValidateNone())
/**
Type OdGePoint2d
Initial value (12.0, 9.0) | (420.0, 297.0)
Read-Only No
Saved In Database
Versions R12+
The LIMMAX system variable stores the upper-right corner of the grid limits for model space or current
space (current layout).
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getLIMMAX()
OdDbDatabase::setLIMMAX()
For example, to get the value:
OdRusBufPtr pRb = pDb-\>getSysVar(L"LIMMAX");
OdGePoint2d limmax = pRb-\>getPoint2d();
// or //
OdGePoint2d limmax = pDb-\>getLIMMAX();
odPrintConsoleString(L"nUpper-right limits = (%f,%f)", limmax.x, limmax.y);
For example, to set the value:
OdGePoint2d point(10.5, 8.4);
OdRusBufPtr pRb = OdResBuf::newRb(OdResBuf::kRtPoint2d, point);
pDb-\>setSysVar(L"LIMMAX", pRb);
// or //
pDb-\>setLIMMAX( OdGePoint2d(10.5, 8.4) );
*/
//OdGePoint2d LIMMAX;
VAR_DEF_H( OdGePoint2d, LIMMAX, (12.0, 9.0), (420.0, 297.0), (), ValidateNone())
/**
Type bool
Initial value false
Read-Only No
Saved In Database
Versions R12+
ORTHOMODE controls the constraint of cursor movement to the perpendicular.
Value Description
false Not constrained
true Constrained
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getORTHOMODE()
OdDbDatabase::setORTHOMODE()
*/
//bool ORTHOMODE;
VAR_DEF( ODTBOOL, ORTHOMODE, (false), (false), (), ValidateBOOL())
/**
Type bool
Initial value true
Read-Only No
Saved In Database
Versions R12+
REGENMODE controls automatic regeneration.
Value Description
false Disabled
true Enabled
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getREGENMODE()
OdDbDatabase::setREGENMODE()
*/
//bool REGENMODE;
VAR_DEF( ODTBOOL, REGENMODE, (true), (true), (), ValidateBOOL())
/**
Type bool
Initial value true
Read-Only No
Saved In Database
Versions R12+
FILLMODE controls the rendering of Hatches, 2D Solids, and wide Polylines.
Value Description
false Disabled
true Enabled
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getFILLMODE()
OdDbDatabase::setFILLMODE()
*/
//bool FILLMODE;
VAR_DEF( ODTBOOL, FILLMODE, (true), (true), (), ValidateBOOL())
/**
Type bool
Initial value false
Read-Only No
Saved In Database
Versions R12+
QTEXTMODE controls the display of text.
Value Description
false Text is displayed
true Bounding box is displayed
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getQTEXTMODE()
OdDbDatabase::setQTEXTMODE()
*/
//bool QTEXTMODE;
VAR_DEF( ODTBOOL, QTEXTMODE, (false), (false), (), ValidateBOOL())
/**
Type bool
Initial value true
Read-Only No
Saved In Database
Versions R12+
MIRRTEXT controls the mirroring of Text with the MIRROR command.
Value Description
false Not mirrored
true Mirrored
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getMIRRTEXT()
OdDbDatabase::setMIRRTEXT()
*/
//bool MIRRTEXT;
VAR_DEF( ODTBOOL, MIRRTEXT, (true), (true), (), ValidateBOOL())
/**
Type double
Initial value 1.0
Read-Only No
Saved In Database
Versions R12+
LTSCALE specifies the global linetype scale factor.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getLTSCALE()
OdDbDatabase::setLTSCALE()
*/
//double LTSCALE;
VAR_DEF( ODTUNITLESS4, LTSCALE, (1.0), (1.0), (), ValidatePositiveNonZero())
/**
Type OdInt16
Initial value 1
Read-Only No
Saved In Database
Versions 2.5+
ATTMODE controls the display of attributes.
Value Description
0 All attributes are invisible
1 Visible attributes are visible, and invisible attributes are invisible.
2 All attributes are visible.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getATTMODE()
OdDbDatabase::setATTMODE()
*/
//OdInt16 ATTMODE;
VAR_DEF( OdInt16, ATTMODE, (1), (1), (), ValidateRange(0,2))
/**
Type double
Initial value 0.2 | 2.5
Read-Only No
Saved In Database
Versions R12+
TEXTSIZE specifies the default size for new text entities in the current text style.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getTEXTSIZE()
OdDbDatabase::setTEXTSIZE()
*/
//double TEXTSIZE;
VAR_DEF_2( ODTDIST, TEXTSIZE, (0.2), (2.5), (), ValidateGr(0.))
/**
Type double
Initial value 0.05 | 1.0
Read-Only No
Saved In Database
Versions R12+
TRACEWID is default width for new trace entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getTRACEWID()
OdDbDatabase::setTRACEWID()
*/
//double TRACEWID;
VAR_DEF( ODTDIST, TRACEWID, (0.05), (1.0), (), ValidateEqGr(0.))
/**
Type OdDbObjectId
Initial value "Standard" text style object ID
Read-Only No
Saved In Database
Versions R12+
TEXTSTYLE specifies the default style for new text entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getTEXTSTYLE()
OdDbDatabase::setTEXTSTYLE()
*/
//OdDbObjectId TEXTSTYLE;
VAR_DEF_2( ODTTEXTSTYLEID, TEXTSTYLE, (OdDbObjectId::kNull), (OdDbObjectId::kNull), (), ValidateTextStyle())
/**
Type OdDbObjectId
Initial value ID of the predefined layer "0" (Zero Layer)
Read-Only No
Saved In Database
Versions 2.5+
CLAYER specifies the default layer for new entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCLAYER()
OdDbDatabase::setCLAYER()
*/
//OdDbObjectId CLAYER;
VAR_DEF( ODTLAYERID, CLAYER, (OdDbObjectId::kNull), (OdDbObjectId::kNull), (), ValidateLayer())
/**
Type OdDbObjectId
Initial value "Continuous" linetype record object ID
Read-Only No
Saved In Database
Versions 2.5+
CELTYPE specifies the default linetype for new entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCELTYPE()
OdDbDatabase::setCELTYPE()
*/
//OdDbObjectId CELTYPE;
VAR_DEF( ODTLINETYPEID, CELTYPE, (OdDbObjectId::kNull), (OdDbObjectId::kNull), (), ValidateLinetype())
/**
Type OdCmColor
Initial value OdCmEntityColor::kByLayer
Read-Only No
Saved In Database
Versions 2.5+
CECOLOR specifies the default color for new entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCECOLOR()
OdDbDatabase::setCECOLOR()
*/
//OdCmColor CECOLOR;
VAR_DEF( OdCmColor, CECOLOR, (OdCmEntityColor::kByLayer), (OdCmEntityColor::kByLayer), (), ValidateCmColor())
/**
Type double
Initial value 1.0
Read-Only No
Saved In Database
Versions 13+
CELTSCALE specifies the default linetype scale for new entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCELTSCALE()
OdDbDatabase::setCELTSCALE()
*/
//double CELTSCALE;
VAR_DEF( ODTUNITLESS4, CELTSCALE, (1.0), (1.0), (), ValidateGr(0.))
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions 9+
The CHAMFERA variable specifies a default value of the first chamfer distance in drawing units.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCHAMFERA()
OdDbDatabase::setCHAMFERA()
For example, to get the value:
OdResBufPtr pRb = pDb-\>getSysVar(L"CHAMFERA");
double distance1 = pRb-\>getDouble();
odPrintConsoleString(L"nFirst chamfer distance = %g", distance1);
// or //
odPrintConsoleString(L"nFirst chamfer distance = %g", pDb-\>getCHAMFERA());
For example, to set the value:
OdResBufPtr pRb = OdResBuf::newRb(OdResBuf::kRtDouble, 2.5);
pDb-\>setSysVar(L"CHAMFERA", pRb);
// or //
pDb-\>setCHAMFERA(2.5);
Note: Use together with the CHAMFERB variable.
*/
//double CHAMFERA;
VAR_DEF( ODTDIST, CHAMFERA, (0.0), (0.0), (), ValidateEqGr(0.))
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions 9+
The CHAMFERB variable specifies a default value of the second chamfer distance in drawing units.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCHAMFERB()
OdDbDatabase::setCHAMFERB()
For example, to get the value:
OdRusBufPtr pRb = pDb-\>getSysVar(L"CHAMFERB");
double distance2 = pRb-\>getDouble();
odPrintConsoleString(L"nSecond chamfer distance = %g", distance2);
// or //
odPrintConsoleString(L"nSecond chamfer distance = %g", pDb-\>getCHAMFERB());
For example, to set the value:
OdRusBufPtr pRb = OdResBuf::newRb(OdResBuf::kRtDouble, 1.25);
pDb-\>setSysVar(L"CHAMFERB", pRb);
// or //
pDb-\>setCHAMFERB(1.25);
Note: Use together with the CHAMFERA variable.
*/
//double CHAMFERB;
VAR_DEF( ODTDIST, CHAMFERB, (0.0), (0.0), (), ValidateEqGr(0.))
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions 13+
The CHAMFERC variable specifies a default value of the chamfer length in drawing units.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCHAMFERC()
OdDbDatabase::setCHAMFERC()
For example, to get the value:
OdResBufPtr pRb = pDb-\>getSysVar(L"CHAMFERC");
double length = pRb-\>getDouble();
odPrintConsoleString(L"nChamfer length = %g units", length);
// or //
odPrintConsoleString(L"nChamfer length = %g units", pDb-\>getCHAMFERC());
For example, to set the value:
OdResBufPtr pRb = OdResBuf::newRb(OdResBuf::kRtDouble, 2.25);
pDb-\>setSysVar(L"CHAMFERC", pRb);
// or //
pDb-\>setCHAMFERC(2.25);
Note: Use together with the CHAMFERD variable.
*/
//double CHAMFERC;
VAR_DEF( ODTDIST, CHAMFERC, (0.0), (0.0), (), ValidateEqGr(0.))
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions 13+
The CHAMFERD variable specifies a default value of the chamfer angle in radians.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getCHAMFERD()
OdDbDatabase::setCHAMFERD()
For example, to get a value:
OdResBufPtr pRb = pDb-\>getSysVar(L"CHAMFERD");
double angle = pRb-\>getDouble();
odPrintConsoleString(L"nChamfer angle = %g radians", angle);
// or //
odPrintConsoleString(L"nChamfer angle = %g radians", pDb-\>getCHAMFERD());
For example, to set a value:
OdResBufPtr pRb = OdResBuf::newRb(OdResBuf::kRtAngle, 0.375);
pDb-\>setSysVar(L"CHAMFERD", pRb);
// or //
pDb-\>setCHAMFERD(0.375);
Note: Use together with the CHAMFERC variable.
*/
//double CHAMFERD;
VAR_DEF( ODTORIENT, CHAMFERD, (0.0), (0.0), (), ValidateNone())
/**
Type bool
Initial value false
Read-Only No
Saved In Database
Versions R13+
DISPSILH controls the display of silhouette curve edges and meshes.
Value Curve Edges Meshes
false Not displayed Displayed
true Displayed Not displayed
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getDISPSILH()
OdDbDatabase::setDISPSILH()
*/
//bool DISPSILH;
VAR_DEF( ODTBOOL, DISPSILH, (false), (false), (), ValidateBOOL())
/**
Type OdDbObjectId
Initial value "Standard" dimension style object ID for Imperial drawings or "ISO-25" dimension style object ID for Metric drawings.
Read-Only No
Saved In Database
Versions R12+
DIMSTYLE specifies the default dimension style for new entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::getDIMSTYLE()
OdDbDatabase::setDIMSTYLE()
*/
//OdDbObjectId DIMSTYLE;
VAR_DEF( ODTDIMSTYLEID, DIMSTYLE, (OdDbObjectId::kNull), (OdDbObjectId::kNull), (), ValidateDimStyle())
/**
Type bool
Initial value true
Read-Only No
Saved In Database
Versions 2.6+
DIMASO controls the creation of Associative dimension objects.
Value Description
false Creates exploded dimensions.
true Creates associative dimension entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getDIMASO()
OdDbDatabase::setDIMASO()
Note: DIMASO is obsolete, but is included for compatibility purposes.
\sa
*/
//bool DIMASO;
VAR_DEF( ODTBOOL, DIMASO, (true), (true), (), ValidateBOOL())
/**
Type bool
Initial value true
Read-Only No
Saved In Database
Versions R12+
DIMSHO controls the updating of associative dimension object while dragging.
Value Description
false Disabled
true Enabled
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getDIMSHO()
OdDbDatabase::setDIMSHO()
Note: DIMSHO is obsolete, but is included for compatibility purposes.
*/
//bool DIMSHO;
VAR_DEF( bool, DIMSHO, (true), (true), (), ValidateNone())
/**
Type OdInt16
Initial value 2
Read-Only No
Saved In Database
Versions R12+
LUNITS controls the display of linear units.
Value Description
1 Scientific
2 Decimal
3 Engineering
4 Architectural
5 Fractional
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getLUNITS()
OdDbDatabase::setLUNITS()
Note: LUNITS does not control the formatting of dimension text.
*/
//OdInt16 LUNITS;
VAR_DEF( OdInt16, LUNITS, (2), (2), (), ValidateRange(1,5))
/**
Type OdInt16
Initial value 4
Range 0 ... 8
Read-Only No
Saved In Database
Versions R12+
LUPREC specifies the number of decimal places in the display of linear units.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getLUPREC()
OdDbDatabase::setLUPREC()
Note: LUPREC does not control the formatting of dimension text.
*/
//OdInt16 LUPREC;
VAR_DEF( OdInt16, LUPREC, (4), (4), (), ValidateRange(0,8))
/**
Type double
Initial value 0.1
Read-Only No
Saved In Database
Versions R12+
SKETCHINC specifies the recording increment for the SKETCH command.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSKETCHINC()
OdDbDatabase::setSKETCHINC()
*/
//double SKETCHINC;
VAR_DEF( ODTDIST, SKETCHINC, (0.1), (1.0), (), ValidateNone())
/**
Type double
Initial value 0.5 | 10.0
Read-Only No
Saved In Database
Versions R12+
FILLETRAD specifies the default fillet radius.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getFILLETRAD()
OdDbDatabase::setFILLETRAD()
*/
//double FILLETRAD;
VAR_DEF( ODTDIST, FILLETRAD, (0.5), (10.0), (), ValidateEqGr(0.))
/**
Type OdInt16
Initial value 0
Range 0 ... 4
Read-Only No
Saved In Database
Versions R12+
AUNITS controls the display of angular units.
Value Description
0 Degrees
1 Degrees-Minutes-Seconds
2 Gradians
3 Radians
4 Surveyor Units
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getAUNITS()
OdDbDatabase::setAUNITS()
*/
//OdInt16 AUNITS;
VAR_DEF( OdInt16, AUNITS, (0), (0), (), ValidateRange(0,4))
/**
Type OdInt16
Initial value 0
Range 0 ... 8
Read-Only No
Saved In Database
Versions 2.5+
AUPREC specifies the number of decimal places in the display of angular units.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getAUPREC()
OdDbDatabase::setAUPREC()
Note: AUPREC does not control the formatting of dimension text.
*/
//OdInt16 AUPREC;
VAR_DEF( OdInt16, AUPREC, (0), (0), (), ValidateRange(0,8))
/**
Type OdString
Initial value "."
Read-Only No
Saved In Database
Versions R12+
MENUNAME returns the path and file name of the customization file.
Access Methods
OdDbDatabase::getMENUNAME()
OdDbDatabase::setMENUNAME()
*/
//OdString MENUNAME;
VAR_DEF_H( OdString, MENUNAME, (OD_T(".")), (OD_T(".")), (), ValidateNone())
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions R12+
ELEVATION specifies the default elevation for new entities in the current space or model space.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getELEVATION()
OdDbDatabase::setELEVATION()
*/
//double ELEVATION;
VAR_DEF_H( ODTDIST, ELEVATION, (0.0), (0.0), (), ValidateNone())
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions N/A
PELEVATION specifies the default elevation for new entities in the current paper space.
OdDbDatabase::getPELEVATION()
OdDbDatabase::setPELEVATION()
*/
//double PELEVATION;
VAR_DEF_H( ODTDIST, PELEVATION, (0.0), (0.0), (), ValidateNone())
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions R12+
THICKNESS specifies the default 3D thickness for new entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getTHICKNESS()
OdDbDatabase::setTHICKNESS()
*/
//double THICKNESS;
VAR_DEF( ODTDIST, THICKNESS, (0.0), (0.0), (), ValidateNone())
/**
Type bool
Initial value false
Read-Only No
Saved In Database
Versions R12+
The LIMCHECK system variable determines whether objects are allowed outside the grid limits for model
space or current space (current layout).
Value Description
false Objects outside limits are allowed
true Objects outside limits are disallowed
Access Methods
OdDbDatabase::getSysVar() – gets the outside limits status as an instance of tagged data (boolean type)
OdDbDatabase::setSysVar() – sets the outside limits status as an instance of tagged data (boolean type)
OdDbDatabase::getLIMCHECK() – gets the outside limits status as a boolean value
OdDbDatabase::setLIMCHECK() – sets the outside limits status as a boolean value
For example, to get the value:
OdRusBufPtr pRb = pDb-\>getSysVar(L"LIMCHECK");
bool status = pRb-\>getBool();
odPrintConsoleString(L"nOutside limits status = %s", ((status) ? L"On" : L"Off"));
// or //
odPrintConsoleString(L"nObjects outside limits are %s for current space",
(pDb-\>getLIMCHECK()) ? L"disallowed" : L"allowed");
For example, to set the value:
OdRusBufPtr pRb = OdResBuf::newRb(OdOdResBuf::kRtBool, true);
pDb-\>setSysVar(L"LIMCHECK", pRb);
// or //
pDb-\>setLIMCHECK(false);
*/
//bool LIMCHECK;
VAR_DEF_H( ODTBOOL, LIMCHECK, (false), (false), (), ValidateBOOL())
/**
Type bool
Initial value false
Read-Only No
Saved In Database
Versions R12+
SKPOLY controls the generation of polylines during the SKETCH command.
Value Description
false Generates Lines
true Generates Polylines
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSKPOLY()
OdDbDatabase::setSKPOLY()
*/
//bool SKPOLY;
VAR_DEF( ODTBOOL, SKPOLY, (false), (false), (), ValidateBOOL())
/**
Type OdDbDate
Initial value OdDbDate::kInitZero
Read-Only Yes
Saved In Database
Versions 2002+
TDUCREATE represents the time and date, in Universal Time, the database was created.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::getTDUCREATE()
\sa
*/
//OdDbDate TDUCREATE;
RO_VAR_DEF(OdDbDate, TDUCREATE, (OdDbDate::kInitZero), (OdDbDate::kInitZero), (), ValidateNone())
/**
Type OdDbDate
Initial value OdDbDate::kInitZero
Read-Only Yes
Saved In Database
Versions 2002+
TDUUPDATE represents the time and date, in Universal Time, the database was last saved.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::getTDUUPDATE()
\sa
*/
//OdDbDate TDUUPDATE;
RO_VAR_DEF(OdDbDate, TDUUPDATE, (OdDbDate::kInitZero), (OdDbDate::kInitZero), (), ValidateNone())
/**
Type OdDbDate
Initial value OdDbDate::kInitZero
Read-Only Yes
Saved In Database
Versions R12+
TDINDWG represents the total editing time of the database.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::getTDINDWG()
\sa
*/
//OdDbDate TDINDWG;
RO_VAR_DEF(OdDbDate, TDINDWG, (OdDbDate::kInitZero), (OdDbDate::kInitZero), (), ValidateNone())
/**
Type OdDbDate
Initial value OdDbDate::kInitZero
Read-Only Yes
Saved In Database
Versions R12+
TDUSRTIMER represents the user-elapsed timer.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::getTDUSRTIMER()
\sa
*/
//OdDbDate TDUSRTIMER;
RO_VAR_DEF(OdDbDate, TDUSRTIMER, (OdDbDate::kInitZero), (OdDbDate::kInitZero), (), ValidateNone())
/**
Type bool
Initial value true
Read-Only No
Saved In Database
Versions N/A
USRTIMER controls the user elapsed timer.
Value Description
false Disabled
true Enabled
Access Methods
OdDbDatabase::getUSRTIMER()
OdDbDatabase::setUSRTIMER()
*/
//bool USRTIMER;
VAR_DEF_H( ODTBOOL, USRTIMER, (true), (true), (), ValidateBOOL())
/**
Type OdInt16
Initial value 0
Read-Only No
Saved In Database
Versions R12+
PDMODE specifies the display of Point entities.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getPDMODE()
OdDbDatabase::setPDMODE()
*/
//OdInt16 PDMODE;
VAR_DEF( OdInt16, PDMODE, (0), (0), (), ValidatePDMODE())
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions R12+
PDSIZE specifies the display size of point entities.
Value Description
<0 Fraction of viewport size in drawing units.
0 5% of viewport size in drawing units.
>0 Size in drawing units.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getPDSIZE()
OdDbDatabase::setPDSIZE()
*/
//double PDSIZE;
VAR_DEF( ODTDIST, PDSIZE, (0.0), (0.0), (), ValidateNone())
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions R13+
PLINEWID specifies the default width for new Polyline entities. Value should be greater than or equal to 0.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getPLINEWID()
OdDbDatabase::setPLINEWID()
*/
//double PLINEWID;
VAR_DEF( ODTDIST, PLINEWID, (0.0), (0.0), (), ValidateNone())
/**
Type bool
Initial value false
Read-Only No
Saved In Database
Versions R12+
SPLFRAME controls the display of control polygons for Splines and spline-fit Polylines.
Value Description
false Disabled
true Enabled
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSPLFRAME()
OdDbDatabase::setSPLFRAME()
*/
//bool SPLFRAME;
VAR_DEF( ODTBOOL, SPLFRAME, (false), (false), (), ValidateBOOL())
/**
Type OdInt16
Initial value 6
Read-Only No
Saved In Database
Versions R12+
SPLINETYPE specifies the type of spline generated by the PEDIT/Spline command.
Value Description
5 Quadratic B-spline
6 Cubic B-spline
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSPLINETYPE()
OdDbDatabase::setSPLINETYPE()
*/
//OdInt16 SPLINETYPE;
VAR_DEF( OdInt16, SPLINETYPE, (6), (6), (), ValidateRange(5,6))
/**
Type OdInt16
Initial value 8
Read-Only No
Saved In Database
Versions R12+
The SPLINESEGS variable stores the number of segments for spline-fit polylines generated by the
PEDIT/Spline command. The value is a non-zero integer number from -32768 to 32767. A negative
value generates circular segments. A positive value generates linear segments. A zero value is not
applicable. Fit-type polylines use arcs as approximating segments.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSPLINESEGS()
OdDbDatabase::setSPLINESEGS()
For example, to get the value:
OdRusBufPtr pRb = pDb-\>getSysVar(L"SPLINESEGS");
OdInt16 number = pRb-\>getInt16();
odPrintConsoleString(L"nNumber of segments = %d", number);
// or //
odPrintConsoleString(L"nNumber of segments = %d", pDb-\>getSPLINESEGS());
For example, to set the value:
OdRusBufPtr pRb = OdResBuf::newRb(OdResBuf::kRtInt16, 60);
pDb-\>setSysVar(L"SPLINESEGS", pRb);
// or //
pDb-\>setSPLINESEGS(120);
*/
//OdInt16 SPLINESEGS;
VAR_DEF( OdInt16, SPLINESEGS, (8), (8), (), ValidateNonZero())
/**
Type OdInt16
Initial value 6
Read-Only No
Saved In Database
Versions R12+
SURFTAB1 specifies the number of tabulations generated in the
M direction by the EDGESURF, REVSURF, RULESURF, and TABSURF
commands.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSURFTAB1()
OdDbDatabase::setSURFTAB1()
*/
//OdInt16 SURFTAB1;
VAR_DEF( OdInt16, SURFTAB1, (6), (6), (), ValidateNone())
/**
Type OdInt16
Initial value 6
Read-Only No
Saved In Database
Versions R12+
SURFTAB2 specifies the number of tabulations generated in the N direction by the EDGESURF and REVSURF commands.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSURFTAB2()
OdDbDatabase::setSURFTAB2()
*/
//OdInt16 SURFTAB2;
VAR_DEF( OdInt16, SURFTAB2, (6), (6), (), ValidateNone())
/**
Type OdInt16
Initial value 6
Read-Only No
Saved In Database
Versions R12+
SURFTYPE specifies the type of surface fitting for the PEDIT/Smooth command.
Value Description
5 Quadratic B-spline surface
6 Cubic B-spline surface
8 Bezier surface
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSURFTYPE()
OdDbDatabase::setSURFTYPE()
*/
//OdInt16 SURFTYPE;
VAR_DEF( OdInt16, SURFTYPE, (6), (6), (), ValidateRange(5,8))
/**
Type OdInt16
Initial value 6
Range 0 ... 200
Read-Only No
Saved In Database
Versions R12+
SURFU specifies the surface density in the M direction for the PEDIT/Smooth command.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSURFU()
OdDbDatabase::setSURFU()
*/
//OdInt16 SURFU;
VAR_DEF( OdInt16, SURFU, (6), (6), (), ValidateRange(0,200))
/**
Type OdInt16
Initial value 6
Range 0 ... 200
Read-Only No
Saved In Database
Versions R12+
SURFV specifies the surface density in the N direction for the PEDIT/Smooth command.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getSURFV()
OdDbDatabase::setSURFV()
*/
//OdInt16 SURFV;
VAR_DEF( OdInt16, SURFV, (6), (6), (), ValidateRange(0,200))
/**
Type OdInt16
Initial value 0
Read-Only No
Saved In Database
Versions R12+
USERI1 is 'reserved for user applications'.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getUSERI1()
OdDbDatabase::setUSERI1()
*/
//OdInt16 USERI1;
VAR_DEF( OdInt16, USERI1, (0), (0), (), ValidateNone())
/**
Type OdInt16
Initial value 0
Read-Only No
Saved In Database
Versions R12+
USERI2 is 'reserved for user applications'.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getUSERI2()
OdDbDatabase::setUSERI2()
*/
//OdInt16 USERI2;
VAR_DEF( OdInt16, USERI2, (0), (0), (), ValidateNone())
/**
Type OdInt16
Initial value 0
Read-Only No
Saved In Database
Versions R12+
USERI3 is 'reserved for user applications'.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getUSERI3()
OdDbDatabase::setUSERI3()
*/
//OdInt16 USERI3;
VAR_DEF( OdInt16, USERI3, (0), (0), (), ValidateNone())
/**
Type OdInt16
Initial value 0
Read-Only No
Saved In Database
Versions R12+
USERI4 is 'reserved for user applications'.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getUSERI4()
OdDbDatabase::setUSERI4()
*/
//OdInt16 USERI4;
VAR_DEF( OdInt16, USERI4, (0), (0), (), ValidateNone())
/**
Type OdInt16
Initial value 0
Read-Only No
Saved In Database
Versions R12+
USERI5 is 'reserved for user applications'.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getUSERI5()
OdDbDatabase::setUSERI5()
*/
//OdInt16 USERI5;
VAR_DEF( OdInt16, USERI5, (0), (0), (), ValidateNone())
/**
Type double
Initial value 0.0
Read-Only No
Saved In Database
Versions R12+
USERR1 is 'reserved for user applications'.
Access Methods
OdDbDatabase::getSysVar()
OdDbDatabase::setSysVar()
OdDbDatabase::getUSERR1()
OdDbDatabase::setUSERR1()
*/
//double USERR1;
VAR_DEF( ODTDIST, USERR1, (0.0), (0.0), (), ValidateNone())
/**