IPCB_AngularDimension interface
An angular dimension on a PCB document, which measures the angle between two lines.
public interface IPCB_AngularDimension : IPCB_Dimension
Namespace: PCB · Assembly: Altium.SDK.Interfaces
Inherits: IPCB_Primitive → IPCB_Group → IPCB_Dimension
Remarks
An angular dimension has four references: references 0 and 1 define the first line and references 2 and 3 the second. The references may be tracks, fills or polygons. The vertex of the angle is the intersection of the two lines; when the primitives are regenerated, the dimension's location (XLocation, YLocation) is set to the vertex. When the two lines are parallel, the dimension uses the first line for both and the first reference point as the vertex.
The two lines divide the area around the vertex into four sectors. Sector selects the sector that is measured and Radius the radius of the dimension arc. When the primitives are regenerated, TextValue is set to the angle of the sector in degrees; a new angular dimension shows it in degrees (TextDimensionUnit is TDimensionUnit.eDegrees).
With TextPosition set to TDimensionTextPosition.eTextAuto, the text and arrowheads are drawn as with TDimensionTextPosition.eTextRight and TDimensionArrowPosition.eOutside when the measured angle is less than 15 degrees, and as with TDimensionTextPosition.eTextCenter and TDimensionArrowPosition.eInside otherwise.
The text, arcs and tracks that draw the dimension are returned by Text, Arc1, Arc2, Arrow1_Track1, Arrow1_Track2, Arrow2_Track1, Arrow2_Track2, Extension1_Track and Extension2_Track.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| Radius | int | get; set | The radius of the dimension arc, the distance from the vertex of the angle, in internal units (10,000 per mil). |
| Sector | int | get; set | Which of the four sectors formed by the two lines the dimension measures, from 1 to 4. |
Radius
The radius of the dimension arc, the distance from the vertex of the angle, in internal units (10,000 per mil).
int GetState_Radius();
void SetState_Radius(int argValue);
Type: int · Access: read/write
The arcs and the arrowheads are drawn at this distance from the vertex. MoveTextToXY sets it to the distance from the vertex to the new text position.
Sector
Which of the four sectors formed by the two lines the dimension measures, from 1 to 4.
int GetState_Sector();
void SetState_Sector(int argValue);
Type: int · Access: read/write
Taking the direction of each line from its first reference point to its second, sector 1 is the angle of at most 180 degrees between the two directions; sectors 2, 3 and 4 follow counterclockwise, so sector 3 is the angle opposite sector 1. MoveTextToXY sets it to the sector that contains the new text position.
Methods
| Method | Returns | Description |
|---|---|---|
| Arc1 | IPCB_Arc | Returns the first of the two arcs that draw the dimension arc. |
| Arc2 | IPCB_Arc | Returns the second of the two arcs that draw the dimension arc. |
| Arrow1_Track1 | IPCB_Track | Returns one of the two tracks of the arrowhead at the start of the measured sector. |
| Arrow1_Track2 | IPCB_Track | Returns one of the two tracks of the arrowhead at the start of the measured sector. |
| Arrow2_Track1 | IPCB_Track | Returns one of the two tracks of the arrowhead at the end of the measured sector. |
| Arrow2_Track2 | IPCB_Track | Returns one of the two tracks of the arrowhead at the end of the measured sector. |
| Extension1_Track | IPCB_Track | Returns the extension line from the line that bounds the start of the measured sector to the dimension arc. |
| Extension2_Track | IPCB_Track | Returns the extension line from the line that bounds the end of the measured sector to the dimension arc. |
| Text | IPCB_Text | Returns the text that shows the measured angle. |
Arc1
Returns the first of the two arcs that draw the dimension arc.
IPCB_Arc Arc1();
Returns: IPCB_Arc
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Both arcs are centered on the vertex, with radius Radius and line width ArrowLineWidth. With TDimensionArrowPosition.eInside, Arc1 runs from the start of the sector to the text and Arc2 from the text to the end of the sector; with TDimensionArrowPosition.eOutside, each arc runs outside the sector from one end of it to the tail of the arrowhead there.
Arc2
Returns the second of the two arcs that draw the dimension arc.
IPCB_Arc Arc2();
Returns: IPCB_Arc
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Both arcs are centered on the vertex, with radius Radius and line width ArrowLineWidth. With TDimensionArrowPosition.eInside, Arc1 runs from the start of the sector to the text and Arc2 from the text to the end of the sector; with TDimensionArrowPosition.eOutside, each arc runs outside the sector from one end of it to the tail of the arrowhead there.
Arrow1_Track1
Returns one of the two tracks of the arrowhead at the start of the measured sector.
IPCB_Track Arrow1_Track1();
Returns: IPCB_Track
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Arrow1_Track2
Returns one of the two tracks of the arrowhead at the start of the measured sector.
IPCB_Track Arrow1_Track2();
Returns: IPCB_Track
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Arrow2_Track1
Returns one of the two tracks of the arrowhead at the end of the measured sector.
IPCB_Track Arrow2_Track1();
Returns: IPCB_Track
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Arrow2_Track2
Returns one of the two tracks of the arrowhead at the end of the measured sector.
IPCB_Track Arrow2_Track2();
Returns: IPCB_Track
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Extension1_Track
Returns the extension line from the line that bounds the start of the measured sector to the dimension arc.
IPCB_Track Extension1_Track();
Returns: IPCB_Track
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Extension2_Track
Returns the extension line from the line that bounds the end of the measured sector to the dimension arc.
IPCB_Track Extension2_Track();
Returns: IPCB_Track
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Text
Returns the text that shows the measured angle.
IPCB_Text Text();
Returns: IPCB_Text
Extension method of IPCB_AngularDimensionHelper (using PCB;).
Inherited members
- From IPCB_Dimension: ArrowLength, ArrowLineWidth, ArrowPosition, ArrowSize, Bold, DimensionKind, ExtensionLineWidth, ExtensionOffset, ExtensionPickGap, FontName, Italic, LineWidth, MoveTextByXY, MoveTextToXY, References, References_Add, References_Count, References_Delete, References_DeleteLast, References_IndexOf, References_Validate, ResetPrefixIfNeeded, RotateAroundXY, Size, Style, TextDimensionUnit, TextFont, TextFormat, TextGap, TextHeight, TextLineWidth, TextPosition, TextPrecision, TextPrefix, TextSuffix, TextValue, TextWidth, TextX, TextY, UseTTFonts, X1Location, Y1Location
- From IPCB_Group: AddPCBObject, FastSetState_XSizeYSize, FreePrimitives, GetPrimitiveAt, GetPrimitiveCount, GroupIterator_Create, GroupIterator_Destroy, LayerUsed, PrimitiveLock, RemovePCBObject, ReplicateWithChildren, SetState_LayersUsedArray, SetState_XSizeYSize, XLocation, YLocation
- From IPCB_Primitive: AllowGlobalEdit, BeginModify, Board, BoundingRectangle, BoundingRectangleChildren, BoundingRectangleForPainting, BoundingRectangleForSelection, CancelModify, Component, Coordinate, DescriptorString, DetailString, Dimension, DrawAsPreview, DRCError, Enabled, Enabled_Direct, Enabled_vComponent, Enabled_vCoordinate, Enabled_vDimension, Enabled_vNet, Enabled_vPolygon, EnableDraw, EndModify, Export_ToParameters, FlipXY, GraphicallyInvalidate, Handle, Identifier, InBoard, InComponent, InCoordinate, Index, InDimension, InNet, InPolygon, InSelectionMemory, IsAssyTestPoint_Bottom, IsAssyTestPoint_Top, IsElectricalPrim, IsFreePrimitive, IsHidden, IsKeepout, IsPreRoute, IsSaveable, IsTenting, IsTenting_Bottom, IsTenting_Top, IsTestPoint_Bottom, IsTestPoint_Top, Layer, MiscFlag1, MiscFlag2, MiscFlag3, Moveable, MoveByXY, MoveToXY, Net, ObjectID, ObjectIDString, PadCacheRobotFlag, PasteMaskExpansion, Polygon, PolygonOutline, PowerPlaneClearance, PowerPlaneConnectStyle, PowerPlaneReliefExpansion, Preview, ReliefAirGap, ReliefConductorWidth, ReliefEntries, Replicate, RequiredParamterSpace, RotateBy, Selected, SolderMaskExpansion, SwapLayerPairs, TearDrop, UnionIndex, UniqueId, UniqueID, Used, UserRouted, V7Layer, ViewableObjectID