Schematic API Constants

Now reading version 19. For the latest, read: Schematic API Constants for version 22

Parent page: Technical Reference - Schematic API

Please note that this documentation was last updated for an older version of Altium Designer. While many of the principles and approaches will remain the same, be aware that interfaces, objects, methods, properties, and the like will have changed since then, and will not reflect the entirety of those found in later versions of the software.

Schematic API: Constants Reference

The Schematic API Constants reference includes the following content:

Internal Unit constants
MM to Internal Units Values
Other Constants
Power Object constants
Parameter Set constants
Title Block constants
Differential Pair constants

 

Internal Unit constants

cUnits : Array [TUnit] Of TDynamicString   = ('mil', 'mm', 'in', 'cm', '', 'm', 'AutoImperial', 'AutoMetric');
cUnitSystems : Array[TUnitSystem] Of TUnitSet = ([eMil, eIN, eDXP, eAutoImperial], [eMM,  eCM, eM, eAutoMetric]);
cAutoUnits = [eAutoImperial, eAutoMetric];
cDefaultUnit             : Array[TUnitSystem] Of TUnit = (eDXP, eMM);
cDefaultGridSettingsUnit : Array[TUnitSystem] Of TUnit = (eMil, eMM);
 
//1 DXP 2004 SP1 Internal Unit =
// 100000 DXP 2004 SP2 Internal Unit (= 10 mils)
cBaseUnit           = 100000;
 
//1 mil = 10000 DXP 2004 SP2 internal units
cInternalPrecision  = 10000;
 
//Size of workspace in DXP 2004 SP1 base logical unit
cMaxWorkspace       = 6500;
 
//Size of workspace in DXP 2004 SP1 base logical unit
cMinWorkspace       = 10;
 
//Size of workspace in the new logical unit - max
cMaxWorkspaceSize   = cMaxWorkspace*cBaseUnit;
 
//Size of workspace in the new logical unit - min
cMinWorkspaceSize   = cMinWorkspace*cBaseUnit;
CMaxTextParamLength = 32000;
 
cSchInternalTolerance_Metric = 2*cInternalPrecision;
 
//0 for imperial and 0.004318mm for metric
cSchInternalTolerance : Array[TUnitSystem] Of TCoord = (0, cSchInternalTolerance_Metric);
 
cSymbolLineWidthArray : Array [TSize] of  Integer  = (0,1*cBaseUnit,3*cBaseUnit,5*cBaseUnit);
 
cDefaultCustomSizeX_Sheet    : Array[TUnitSystem] Of Integer = (1500*cBaseUnit,   30*c10_0MM);
cDefaultCustomSizeY_Sheet    : Array[TUnitSystem] Of Integer = (950 *cBaseUnit,   20*c10_0MM);
cDefaultCustomSizeX_Library  : Array[TUnitSystem] Of Integer = (2000*cBaseUnit,   40*c10_0MM);
cDefaultCustomSizeY_Library  : Array[TUnitSystem] Of Integer = (2000*cBaseUnit,   40*c10_0MM);
cDefaultCustomMarginWidth    : Array[TUnitSystem] Of Integer = (20  *cBaseUnit,      c5_0MM );
 
cPolylineCutterBoxHeight      =  3 *cBaseUnit;
cDefaultSheetFileNamePosition       : Array[TUnitSystem] Of Integer = (10 *cBaseUnit, c2_5MM);
cBusEntryLength                     : Array[TUnitSystem] Of Integer = (10 *cBaseUnit, c2_0MM);
cDefaultPortWidth                   : Array[TUnitSystem] Of Integer = (50 *cBaseUnit, c10_0MM);
cDefaultSheetSymbolXSize            : Array[TUnitSystem] Of Integer = (80 *cBaseUnit, 5*c7_5MM);
cDefaultSheetSymbolYSize            : Array[TUnitSystem] Of Integer = (50 *cBaseUnit, 5*c5_0MM);
cDefaultSheetEntryGridSize          : Array[TUnitSystem] Of Integer = (10 *cBaseUnit, c2_5MM);
cDefaultPolylineCutterFixedLength   : Array[TUnitSystem] Of Integer = (10 *cBaseUnit, c2_5MM);
cDefaultAutoPanJumpDistance         : Array[TUnitSystem] Of Integer = (30 *cBaseUnit, c7_5MM);
cDefaultAutoPanShiftJumpDistance    : Array[TUnitSystem] Of Integer = (100*cBaseUnit, c25_0MM);
cDefaultPinLength                   : Array[TUnitSystem] Of Integer = (30 *cBaseUnit, c0_50MM);
cDefaultCircleRadius                : Array[TUnitSystem] Of Integer = (100*cBaseUnit, c7_5MM);
cDefaultArcRadius                   : Array[TUnitSystem] Of Integer = (10 *cBaseUnit, c5_0MM);
cDefaultStartAngle                  = 30;
cDefaultEndAngle                    = 330;
cDefaultEllipseRadius               : Array[TUnitSystem] Of Integer = (20 * cBaseUnit, c5_0MM);
cDefaultEllipseSecondaryRadius      : Array[TUnitSystem] Of Integer = (10 * cBaseUnit, c2_5MM);
cDefaultEllipticalArcSecondaryRadius: Array[TUnitSystem] Of Integer = (10 * cBaseUnit, c2_5MM);
cDefaultRectangleCornerX            : Array[TUnitSystem] Of Integer = (50 * cBaseUnit, c5_0MM);
cDefaultRectangleCornerY            : Array[TUnitSystem] Of Integer = (50 * cBaseUnit, c5_0MM);
cDefaultIEESymbolScale              : Array[TUnitSystem] Of Integer = (10 * cBaseUnit, c2_5MM);
cDefaultRoundRectCornerXRadius      : Array[TUnitSystem] Of Integer = (20 * cBaseUnit, c0_50MM);
cDefaultRoundRectCornerYRadius      : Array[TUnitSystem] Of Integer = (20 * cBaseUnit, c0_50MM);
cDefaultLabelXSize                  : Array[TUnitSystem] Of Integer = (40 * cBaseUnit, c0_25MM);
cDefaultLabelYSize                  : Array[TUnitSystem] Of Integer = (10 * cBaseUnit, c0_50MM);
cIEESymbolScale_Min                 = 1   * cBaseUnit;
cIEESymbolScale_Max                 = 200 * cBaseUnit;
cIEESymbolScale_Step                = 1  * cBaseUnit;
 
cDuplicateOffsetX                   : Array[TUnitSystem] Of Integer = ( 20 * cBaseUnit,  c5_0MM);
cDuplicateOffsetY                   : Array[TUnitSystem] Of Integer = (-20 * cBaseUnit, -c5_0MM);
 
cJumpLocationZoomRectWidth          = 200 * cBaseUnit;
cJumpLocationZoomRectHeight         = 200 * cBaseUnit;
cSheetSymbolBoundingRectInflate     = 20  * cBaseUnit;
cPinFullBoundingRectInflate         = 5   * cBaseUnit;
cPolylineBoundingRectInflate        = 10  * cBaseUnit;
cFindReplaceRectInflate             = 50  * cBaseUnit;
cPinIEEESymbolRectInflateBy         = 6   * cBaseUnit;
cPortWidthInflate                   = 10  * cBaseUnit;
cMinPortWidth                       = 30  * cBaseUnit;
cMinSheetSymbolBorderGap            : Array[TUnitSystem] Of Integer = (10 * cBaseUnit, c2_5MM);
 

MM to Internal Units Values

Each Millimetre constant value is expressed in internal units (rounded to nearest integer value).
c0_25MM = 98425;
c0_50MM = 196850;
c0_75MM = 295275;
c1_00MM = 393701;
c1_5MM  = 590551;
c2_0MM  = 787402;
c2_5MM  = 984252;
c3_0MM  = 1181102;
c3_5MM  = 1377953;
c4_0MM  = 1574803;
c4_5MM  = 1771654;
c5_0MM  = 1968504;
c5_5MM  = 2165354;
c6_0MM  = 2362205;
c6_5MM  = 2559055;
c7_0MM  = 2755906;
c7_5MM  = 2952756;
c8_0MM  = 3149606;
c8_5MM  = 3346457;
c9_0MM  = 3543307;
c9_5MM  = 3740157;
c10_0MM = 3937008;
c15_0MM = 5905512;
c20_0MM = 7874016;
c25_0MM = 9842520;
c30_0MM = 11811024;
c35_0MM = 13779528;
c40_0MM = 15748031;
c45_0MM = 17716535;
c50_0MM = 19685039;
c55_0MM = 21653543;
c60_0MM = 23622047;
c65_0MM = 25590551;
c70_0MM = 27559055;
c75_0MM = 29527559;
c80_0MM = 31496063;
c85_0MM = 33464567;
c90_0MM = 35433071;
c95_0MM = 37401575;
c100_0MM  = 39370078;
c1000_0MM = 393700787;

Other Constants

cMaxShortStringLength

cMaxShortStringLength = 254;

cOldSheetEntryGrid

cOldSheetEntryGrid = 10;

cOldMaxPolygonVertices

cOldMaxPolygonVertices = 50;
cCharacterApproximativeWidth  = 8  * cBaseUnit;
cCharacterApproximativeHeight = 10 * cBaseUnit;
cCharacterWidthTolerance      = 4  * cBaseUnit;
cConnectionDrawingThreshold   = 3;
 
cPinBoundingRectInflate = 2  *cBaseUnit;
cMinWireUnderlineWidth  = 5  *cBaseUnit;
cMinBusUnderlineWidth   = 7  *cBaseUnit;
cCompilationMaskedPopupString = 'Removed by Compilation Mask';

LibPrimitiveSet

LibPrimitiveSet:  TObjectSet = [eRectangle,
                                eLine,
                                eArc,
                                eBus,
                                eBusEntry,
                                eEllipticalArc,
                                eRoundRectangle,
                                eImage,
                                ePie,
                                eEllipse,
                                ePolygon,
                                ePolyline,
                                ePort,
                                eBezier,
                                eLabel,
                                eNetlabel,
                                eTextFrame,
                                eSymbol,
                                ePin,
                                eParameterSet
                                eWire];
 
cObjectInspectorViewname    = 'SchObjectInspector';
cLibObjectInspectorViewname = 'SchLibObjectInspector';
 
cGroundTypeSet = [ePowerGndPower, ePowerGndSignal, ePowerGndEarth];
 
CLineShapeArrowRatio = 2;
CLineShapeSizeCoefs : Array[TSize] Of Integer = (1, 2, 3, 4);
 
cNoUnionIndex = 0;
 
cStringIncrementStyleStrings : Array[TStringIncrementStyle] Of String = ('None','Horizontal First', 'Vertical First');

cBooleanEditorAttributes

cBooleanEditorAttributes =
    [eObjectAttribute_IsHidden,
     eObjectAttribute_Locked,
     eObjectAttribute_Accessible,
     eObjectAttribute_Solid,
     eObjectAttribute_ShowName,
     eObjectAttribute_IsMirrored,
     eObjectAttribute_DesignatorLocked,
     eObjectAttribute_PartIdLocked,
     eObjectAttribute_PinsMoveable,
     eObjectAttribute_ImageKeepAspect,
     eObjectAttribute_ImageEmbed,
     eObjectAttribute_ParameterAllowLibrarySynchronize,
     eObjectAttribute_ParameterAllowDatabaseSynchronize,
     eObjectAttribute_TextAutoPosition,
     eObjectAttribute_PinShowDesignator,
     eObjectAttribute_ShowHiddenFields,
     eObjectAttribute_ShowHiddenPins,
     eObjectAttribute_ShowDesignator,
     eObjectAttribute_TextFrameWordWrap,
     eObjectAttribute_TextFrameShowBorder,
     eObjectAttribute_TextFrameClipToRect,
     eObjectAttribute_PowerObjectShowNetName];

cStringEditorAttributes

cStringEditorAttributes =
    [eObjectAttribute_LocationX,
     eObjectAttribute_LocationY,
     eObjectAttribute_CornerLocationX,
     eObjectAttribute_CornerLocationY,
     eObjectAttribute_Width,
     eObjectAttribute_Radius,
     eObjectAttribute_StartAngle,
     eObjectAttribute_EndAngle,
     eObjectAttribute_SecondaryRadius,
     eObjectAttribute_StringText,
     eObjectAttribute_Name,
     eObjectAttribute_Description,
     eObjectAttribute_ParameterValue,
     eObjectAttribute_ParameterName,
     eObjectAttribute_PinWidth,
     eObjectAttribute_PinDefaultValue,
     eObjectAttribute_PinDesignator,
     eObjectAttribute_PinHiddenNetName,
     eObjectAttribute_PinLength,
     eObjectAttribute_RoundRectangleCornerRadiusX,
     eObjectAttribute_RoundRectangleCornerRadiusY,
     eObjectAttribute_SchComponentLibReference,
     eObjectAttribute_SchComponentDesignator,
     eObjectAttribute_SheetEntryDistanceFromTop,
     eObjectAttribute_SymbolScaleFactor,
     eObjectAttribute_TaskHolderInstanceName,
     eObjectAttribute_SheetName,
     eObjectAttribute_OwnerName,
     eObjectAttribute_SchComponentComment,
     eObjectAttribute_SchComponentLibraryName,
     eObjectAttribute_SchComponentFootprint,
     eObjectAttribute_SelectedVertex_X,
     eObjectAttribute_SelectedVertex_Y,
     eObjectAttribute_SelectedVertex2_X,
     eObjectAttribute_SelectedVertex2_Y];

cComboBoxEditorAttributes

cComboBoxEditorAttributes =
    [eObjectAttribute_OwnerPartId,
     eObjectAttribute_OwnerPartDisplayMode,
     eObjectAttribute_LineStyle,
     eObjectAttribute_StartLineShape,
     eObjectAttribute_EndLineShape,
     eObjectAttribute_LineShapeSize,
     eObjectAttribute_Orientation,
     eObjectAttribute_Alignment,
     eObjectAttribute_BorderWidth,
     eObjectAttribute_LineWidth,
     eObjectAttribute_JunctionSize,
     eObjectAttribute_ParameterType,
     eObjectAttribute_ParameterReadOnlyState,
     eObjectAttribute_PinSwapId_Pin,
     eObjectAttribute_PinSwapId_Part,
     eObjectAttribute_PinSwapId_PartPin,
     eObjectAttribute_PinFormalType,
     eObjectAttribute_PinElectrical,
     eObjectAttribute_PinIeeeSymbolInner,
     eObjectAttribute_PinIeeeSymbolOuter,
     eObjectAttribute_PinIeeeSymbolInnerEdge,
     eObjectAttribute_PinIeeeSymbolOuterEdge,
     eObjectAttribute_SheetEntrySide,
     eObjectAttribute_PortArrowStyle,
     eObjectAttribute_PortIOType,
     eObjectAttribute_PowerObjectStyle,
     eObjectAttribute_CrossSheetConnectorStyle,
     eObjectAttribute_SchComponentDisplayMode,
     eObjectAttribute_SchComponentPartId,
     eObjectAttribute_SchComponentKind,
     eObjectAttribute_IeeeSymbol];

cColorEditorAttributes

cColorEditorAttributes =
    [eObjectAttribute_Color,
     eObjectAttribute_TextColor,
     eObjectAttribute_AreaColor];

cContextHelpStringsByObjectId

cContextHelpStringsByObjectId : Array[TObjectId] Of TDynamicString =
( 'FirstObjectID',
'ClipBoardContainer',
'Note',
'Probe',
'Rectangle',
'Line',
'ConnectionLine',
'BusEntry',
'Arc',
'EllipticalArc',
'RoundRectangle',
'Image',
'Pie',
'TextFrame',
'Ellipse',
'Junction',
'Polygon',
'Polyline',
'Wire',
'Bus',
'Bezier',
'Label',
'NetLabel',
'Designator',
'SchComponent',
'Parameter',
'ParameterSet',
'ParameterList',
'SheetName',
'SheetFileName',
'Sheet',
'SchLib',
'Symbol',
'NoERC',
'ErrorMarker',
'Pin',
'Port',
'PowerObject',
'SheetEntry',
'SheetSymbol',
'Template',
'TaskHolder',
'MapDefiner',
'ImplementationMap',
'Implementation',
'ImplementationsList',
'CrossSheetConnector',
'CompileMask',
'OpenBusComponent',
'OpenBusLink',
'OpenBusDesignator',
'HarnessConnector',
'HarnessEntry',
'HarnessConnectorType',
'SignalHarness',
'OpenBusPort',
'LastObjectId'
);

Power Object constants

cPowerObjectLineWidth  = 1 * cBaseUnit;
cPowerGndPowerXOffset1 = 0 * cBaseUnit;
cPowerGndPowerXOffset2 = 3 * cBaseUnit;
cPowerGndPowerXOffset3 = 6 * cBaseUnit;
cPowerGndPowerXOffset4 = 9 * cBaseUnit;
cPowerGndPowerYOffset1 = 10 * cBaseUnit;
cPowerGndPowerYOffset2 = 7  * cBaseUnit;
cPowerGndPowerYOffset3 = 4  * cBaseUnit;
cPowerGndPowerYOffset4 = 1  * cBaseUnit;
cPowerNameXOffset1     = 2  * cBaseUnit;

Parameter Set constants

cParameterSetLineWidth          = 1   *cBaseUnit;
cParameterSetLineLength         = 6   *cBaseUnit;
cParameterSetCircleRadius       = 6   *cBaseUnit;
cParameterSetCircleCenterOffset = 12  *cBaseUnit;
cParameterSetIOffsetX           = 12  *cBaseUnit;
cParameterSetIOffsetY           = 5   *cBaseUnit;
cParameterSetTextOffetX         = 20  *cBaseUnit;
cParameterSetParamDefaultLength = 5   *cBaseUnit;
cParameterSetParam000XOffset    = 32  *cBaseUnit;
cParameterSetParam090XOffset    = 4   *cBaseUnit;
cParameterSetParam090YOffset    = 24  *cBaseUnit;
cParameterSetParam180XOffset    = 12   *cBaseUnit
cParameterSetParam270XOffset    = 10   *cBaseUnit
cParameterSetParam270YOffset    = 22  *cBaseUnit;
cParameterSetParamYOffset       = 2   *cBaseUnit;
cParameterSetParamDeltaYOffset1 = 12  *cBaseUnit;
 

Title Block constants

cTitleBlockWidth               = 350 *cBaseUnit;
cTitleBlockWidth1              = 100 *cBaseUnit;
cTitleBlockWidth2              = 150 *cBaseUnit;
cTitleBlockWidth3              = 300 *cBaseUnit;
cTitleBlockHeight              = 80  *cBaseUnit;
cTitleBlockHeight1             = 50  *cBaseUnit;
cTitleBlockHeight2             = 20  *cBaseUnit;
cTitleBlockHeight3             = 10  *cBaseUnit;
cTitleBlockTextXPos_Title      = 345 *cBaseUnit;
cTitleBlockTextXPos_Number     = 295 *cBaseUnit;
cTitleBlockTextXPos_Revision   = 95  *cBaseUnit;
cTitleBlockTextXPos_Size       = 345 *cBaseUnit;
cTitleBlockTextXPos_SheetStyle = 340 *cBaseUnit;
cTitleBlockTextYPos_SheetStyle = 35  *cBaseUnit;
cTitleBlockTextXPos_Date1      = 345 *cBaseUnit;
cTitleBlockTextXPos_Date2      = 300 *cBaseUnit;
cTitleBlockTextXPos_SheetNbr   = 145 *cBaseUnit;
cTitleBlockTextXPos_File1      = 345 *cBaseUnit;
cTitleBlockTextXPos_File2      = 300 *cBaseUnit;
cTitleBlockTextXPos_DrawnBy    = 145 *cBaseUnit;
cTitleBlockTextYPos_TextLine1  = 20  *cBaseUnit;
cTitleBlockTextYPos_TextLine2  = 10  *cBaseUnit;
cAnsiTitleBlock1               = 175 *cBaseUnit;
cAnsiTitleBlock2               = 625 *cBaseUnit;
cAnsiTitleBlock3               = 425 *cBaseUnit;
cAnsiTitleBlock4               = 125 *cBaseUnit;
cAnsiTitleBlock5               = 63  *cBaseUnit;
cAnsiTitleBlock6               = 25  *cBaseUnit;
cAnsiTitleBlock7               = 387 *cBaseUnit;
cAnsiTitleBlock8               = 325 *cBaseUnit;
cAnsiTitleBlock9               = 276 *cBaseUnit;
cAnsiTitleBlock10              = 36  *cBaseUnit;
cAnsiTitleBlock11              = 420 *cBaseUnit;
cAnsiTitleBlock12              = 170 *cBaseUnit;
cAnsiTitleBlock13              = 420 *cBaseUnit;
cAnsiTitleBlock14              = 382 *cBaseUnit;
cAnsiTitleBlock15              = 271 *cBaseUnit;
cAnsiTitleBlock16              = 31  *cBaseUnit;

Differential Pair constants

cDifferentialPairWidth          = 21 * cBaseUnit + cParameterSetLineWidth Div 2;
cDifferentialPairHeight         =  9 * cBaseUnit + cParameterSetLineWidth;
cDifferentialPairShadowSize     = cParameterSetLineWidth;
cDiffPairPosNetNaming           = '_P';
cDiffPairNegNetNaming           = '_N';
cDefaultDiffPairName  : TDynamicString = 'DIFFPAIR';
cDiffPairParam        : TDynamicString = 'DifferentialPair';
cDefaultDiffPair      : TDynamicString = 'DefaultDiffPair'

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
참고

Altium 제품에 접근할 수 있는 레벨에 따라 사용할 수 있는 기능이 달라집니다. 다양한 레벨의 Altium Designer Software Subscription에 포함된 기능과 Altium 365 플랫폼에서 제공하는 애플리케이션을 통해 제공되는 기능을 비교해보세요.

소프트웨어에서 논의된 기능을 찾을 수 없는 경우, Altium 영업팀에 문의하여 자세한 정보를 확인해주세요.