
# IPCB_Text3 interface

An extension of [`IPCB_Text`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md) that positions a text by its snap point and copies text properties.

```csharp
public interface IPCB_Text3 : IPCB_Text
```

**Namespace:** PCB · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) → [IPCB_RectangularPrimitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md) → [IPCB_Text](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md)

## Remarks

Every text object supports this interface: cast an [`IPCB_Text`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md), such as a component's [`IPCB_Component.Name`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Component.md#name) or [`IPCB_Component.Comment`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Component.md#comment), to `IPCB_Text3` to use these members.

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [AdvanceSnapping](#advancesnapping) | `bool` | get; set | Whether the text is positioned by its snap point ([`SnapPointX`](#snappointx), [`SnapPointY`](#snappointy)) rather than by its reference point ([`XLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#xlocation), [`YLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#ylocation)). |
| [SnapPointX](#snappointx) | `int` | get; set | The X coordinate of the text's snap point, in internal units (10,000 per mil). |
| [SnapPointY](#snappointy) | `int` | get; set | The Y coordinate of the text's snap point, in internal units (10,000 per mil). |

### AdvanceSnapping

Whether the text is positioned by its snap point ([`SnapPointX`](#snappointx), [`SnapPointY`](#snappointy)) rather than by its reference point ([`XLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#xlocation), [`YLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#ylocation)).

```csharp
bool GetState_AdvanceSnapping();
void SetState_AdvanceSnapping(bool argValue);
```

**Type:** `bool` · **Access:** read/write

A text created with [`IPCB_ServerInterface.PCBObjectFactory`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ServerInterface.md#pcbobjectfactory) has the value false. When the value is true, [`PushJustificationCenter`](#pushjustificationcenter) saves the snap point even when `argPushState` is false.

### SnapPointX

The X coordinate of the text's snap point, in internal units (10,000 per mil).

```csharp
int GetState_SnapPointX();
void SetState_SnapPointX(int argValue);
```

**Type:** `int` · **Access:** read/write

When [`AdvanceSnapping`](#advancesnapping) is true, the snap point is calculated from the corner of the text rectangle, and assigning a value moves the whole text so that its snap point is at the new coordinate. When [`AdvanceSnapping`](#advancesnapping) is false, the value is [`XLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#xlocation) and assigning it sets [`XLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#xlocation).

### SnapPointY

The Y coordinate of the text's snap point, in internal units (10,000 per mil).

```csharp
int GetState_SnapPointY();
void SetState_SnapPointY(int argValue);
```

**Type:** `int` · **Access:** read/write

When [`AdvanceSnapping`](#advancesnapping) is true, the snap point is calculated from the corner of the text rectangle, and assigning a value moves the whole text so that its snap point is at the new coordinate. When [`AdvanceSnapping`](#advancesnapping) is false, the value is [`YLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#ylocation) and assigning it sets [`YLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#ylocation).

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [CopyTo](#copyto) | `void` | Copies the properties of the text to another text object. |
| [GetActualTextBr](#getactualtextbr) | [CoordRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/CoordRect.md) | Returns the rectangle occupied by the string of the text, in internal units (10,000 per mil). |
| [PushJustificationCenter](#pushjustificationcenter) | `void` | Saves the current snap point of the text so that [`RepositionAfterPush`](#repositionafterpush) can move the text back to it. |
| [RepositionAfterPush](#repositionafterpush) | `void` | Moves the text so that its snap point is at the point saved by [`PushJustificationCenter`](#pushjustificationcenter). |
| [StringXPosition](#stringxposition) | `int` | Returns the X coordinate at which the string of the text starts, in internal units (10,000 per mil). |
| [StringYPosition](#stringyposition) | `int` | Returns the Y coordinate at which the string of the text starts, in internal units (10,000 per mil). |
| [UpdateTextPosition](#updatetextposition) | `void` | Recalculates the size and position of the text, as [`SetState_XSizeYSize`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#setstate_xsizeysize) does. |

### CopyTo

Copies the properties of the text to another text object.

```csharp
void CopyTo(IPCB_Text argP, TCopyMode argCopyMode);
void CopyTo(object argP, int argCopyMode);
```

| Parameter | Type | Passing | Description |
| --- | --- | --- | --- |
| `argP` | [IPCB_Text](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md) | value | The text object that receives the properties. |
| `argCopyMode` | [TCopyMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TCopyMode.md) | value |  |

**Returns:** nothing (`void`)

The first overload is an extension method of `IPCB_Text3Helper` (`using PCB;`) with typed parameters; the second is declared by the interface.

The copied properties include the location, `Size`, [`FontID`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#fontid), `Rotation`, `Mirror`, `Width`, the TrueType font settings, the inverted-text and barcode settings, [`TextKind`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#textkind), [`AdvanceSnapping`](#advancesnapping) and the underlying string.

### GetActualTextBr

Returns the rectangle occupied by the string of the text, in internal units (10,000 per mil).

```csharp
CoordRect GetActualTextBr();
```

**Returns:** [CoordRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/CoordRect.md)

Extension method of `IPCB_Text3Helper` (`using PCB;`).

The rectangle is [`TTFTextWidth`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ttftextwidth) wide and [`TTFTextHeight`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ttftextheight) high and takes `Rotation` into account. For a barcode it starts at the reference point, offset by [`BarCodeXMargin`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodexmargin) and [`BarCodeYMargin`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeymargin) when [`BarCodeInverted`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeinverted) is true; for other text it is placed inside the rectangle of inverted text ([`InvRectWidth`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#invrectwidth) by [`InvRectHeight`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#invrectheight)) as [`TTFInvertedTextJustify`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ttfinvertedtextjustify) specifies.

### PushJustificationCenter

Saves the current snap point of the text so that [`RepositionAfterPush`](#repositionafterpush) can move the text back to it.

```csharp
void PushJustificationCenter(bool argPushState);
```

| Parameter | Type | Passing | Description |
| --- | --- | --- | --- |
| `argPushState` | `bool` | value | True to save the snap point even when [`AdvanceSnapping`](#advancesnapping) is false. |

**Returns:** nothing (`void`)

Nothing is saved for the text of a dimension or a coordinate, or when a point is already saved. Recalculating the size of a text on a board ([`SetState_XSizeYSize`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#setstate_xsizeysize)) discards the saved point.

### RepositionAfterPush

Moves the text so that its snap point is at the point saved by [`PushJustificationCenter`](#pushjustificationcenter).

```csharp
void RepositionAfterPush();
```

**Returns:** nothing (`void`)

Does nothing when no point is saved or for the text of a dimension or a coordinate.

### StringXPosition

Returns the X coordinate at which the string of the text starts, in internal units (10,000 per mil).

```csharp
int StringXPosition();
```

**Returns:** `int`

For a barcode whose [`BarCodeInverted`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeinverted) is true, the value is [`XLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#xlocation) plus [`BarCodeXMargin`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodexmargin).

### StringYPosition

Returns the Y coordinate at which the string of the text starts, in internal units (10,000 per mil).

```csharp
int StringYPosition();
```

**Returns:** `int`

For a barcode whose [`BarCodeInverted`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeinverted) is true, the value is [`YLocation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#ylocation) plus [`BarCodeYMargin`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeymargin).

### UpdateTextPosition

Recalculates the size and position of the text, as [`SetState_XSizeYSize`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#setstate_xsizeysize) does.

```csharp
void UpdateTextPosition();
```

**Returns:** nothing (`void`)

## Inherited members

- From [IPCB_Text](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md): [BarCodeBitPattern](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodebitpattern), [BarCodeFontName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodefontname), [BarCodeFullHeight](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodefullheight), [BarCodeFullWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodefullwidth), [BarCodeInverted](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeinverted), [BarCodeKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodekind), [BarCodeMinWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeminwidth), [BarCodeRenderMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcoderendermode), [BarCodeShowText](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeshowtext), [BarCodeXMargin](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodexmargin), [BarCodeYMargin](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#barcodeymargin), [Bold](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#bold), [BorderSpaceType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#borderspacetype), [CanEditMultilineRectSize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#caneditmultilinerectsize), [CharSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#charset), [ConvertedString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#convertedstring), [ConvertToStrokeArray](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#converttostrokearray), [FontID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#fontid), [FontName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#fontname), [GetDesignatorDisplayString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#getdesignatordisplaystring), [GetTrueTypeTextOutlineGeometricPolygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#gettruetypetextoutlinegeometricpolygon), [GetTrueTypeTextOutlineGeometricPolygon_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#gettruetypetextoutlinegeometricpolygon_1), [InAutoDimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#inautodimension), [Inverted](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#inverted), [InvertedTTTextBorder](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#invertedtttextborder), [InvRectHeight](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#invrectheight), [InvRectWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#invrectwidth), [IsComment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#iscomment), [IsDesignator](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#isdesignator), [IsHidden_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ishidden_1), [Italic](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#italic), [Mirror](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#mirror), [Multiline](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#multiline), [MultilineTextAutoPosition](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#multilinetextautoposition), [MultilineTextHeight](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#multilinetextheight), [MultilineTextResizeEnabled](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#multilinetextresizeenabled), [MultilineTextWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#multilinetextwidth), [RotationHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#rotationhandle), [Size](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#size), [Text](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#text), [TextKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#textkind), [TTFInvertedTextJustify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ttfinvertedtextjustify), [TTFOffsetFromInvertedRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ttfoffsetfrominvertedrect), [TTFTextHeight](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ttftextheight), [TTFTextWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#ttftextwidth), [UnderlyingString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#underlyingstring), [UseInvertedRectangle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#useinvertedrectangle), [UseTTFonts](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#usettfonts), [Width](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#width), [WordWrap](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Text.md#wordwrap)
- From [IPCB_RectangularPrimitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md): [IsRedundant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#isredundant), [RotateAroundXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#rotatearoundxy), [Rotation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#rotation), [SetState_XSizeYSize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#setstate_xsizeysize), [X1Location](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#x1location), [X2Location](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#x2location), [XLocation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#xlocation), [Y1Location](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#y1location), [Y2Location](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#y2location), [YLocation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_RectangularPrimitive.md#ylocation)
- From [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md): [AllowGlobalEdit](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#allowglobaledit), [BeginModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#beginmodify), [Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#board), [BoundingRectangle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangle), [BoundingRectangleChildren](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectanglechildren), [BoundingRectangleForPainting](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangleforpainting), [BoundingRectangleForSelection](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangleforselection), [CancelModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#cancelmodify), [Component](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#component), [Coordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#coordinate), [DescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#descriptorstring), [DetailString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#detailstring), [Dimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#dimension), [DrawAsPreview](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#drawaspreview), [DRCError](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#drcerror), [Enabled](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled), [Enabled_Direct](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_direct), [Enabled_vComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vcomponent), [Enabled_vCoordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vcoordinate), [Enabled_vDimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vdimension), [Enabled_vNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vnet), [Enabled_vPolygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vpolygon), [EnableDraw](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabledraw), [EndModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#endmodify), [Export_ToParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#export_toparameters), [FlipXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#flipxy), [GraphicallyInvalidate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#graphicallyinvalidate), [Handle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#handle), [Identifier](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#identifier), [InBoard](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inboard), [InComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#incomponent), [InCoordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#incoordinate), [Index](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#index), [InDimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#indimension), [InNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#innet), [InPolygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inpolygon), [InSelectionMemory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inselectionmemory), [IsAssyTestPoint_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isassytestpoint_bottom), [IsAssyTestPoint_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isassytestpoint_top), [IsElectricalPrim](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#iselectricalprim), [IsFreePrimitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isfreeprimitive), [IsHidden](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#ishidden), [IsKeepout](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#iskeepout), [IsPreRoute](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#ispreroute), [IsSaveable](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#issaveable), [IsTenting](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting), [IsTenting_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting_bottom), [IsTenting_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting_top), [IsTestPoint_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istestpoint_bottom), [IsTestPoint_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istestpoint_top), [Layer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#layer), [MiscFlag1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag1), [MiscFlag2](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag2), [MiscFlag3](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag3), [Moveable](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#moveable), [MoveByXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#movebyxy), [MoveToXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#movetoxy), [Net](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#net), [ObjectID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#objectid), [ObjectIDString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#objectidstring), [PadCacheRobotFlag](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#padcacherobotflag), [PasteMaskExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#pastemaskexpansion), [Polygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#polygon), [PolygonOutline](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#polygonoutline), [PowerPlaneClearance](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplaneclearance), [PowerPlaneConnectStyle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplaneconnectstyle), [PowerPlaneReliefExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplanereliefexpansion), [Preview](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#preview), [ReliefAirGap](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefairgap), [ReliefConductorWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefconductorwidth), [ReliefEntries](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefentries), [Replicate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#replicate), [RequiredParamterSpace](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#requiredparamterspace), [RotateBy](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#rotateby), [Selected](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#selected), [SolderMaskExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#soldermaskexpansion), [SwapLayerPairs](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#swaplayerpairs), [TearDrop](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#teardrop), [UnionIndex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#unionindex), [UniqueId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#uniqueid), [UniqueID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#uniqueid-1), [Used](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#used), [UserRouted](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#userrouted), [V7Layer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#v7layer), [ViewableObjectID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#viewableobjectid)
