
# IPCB_PadTemplateStackData interface

*No description yet.*

```csharp
public interface IPCB_PadTemplateStackData
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [CRPct](#crpct) | `byte` | get; set |  |
| [CRPctEx](#crpctex) | `double` | get; set |  |
| [CRSize](#crsize) | `int` | get; set |  |
| [CustomShape](#customshape) | [PolySegment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PolySegment.md) | get; set |  |
| [CustomShapeInfo](#customshapeinfo) | [IPCB_CustomShapeInfo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_CustomShapeInfo.md) | get |  |
| [Layer](#layer) | [V7_LayerBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/V7_LayerBase.md) | get; set |  |
| [SegmentsCount](#segmentscount) | `int` | get; set |  |
| [Shape](#shape) | [TShape](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TShape.md) | get; set |  |
| [ShapeSubKind](#shapesubkind) | [TShapeSubKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TShapeSubKind.md) | get; set |  |
| [SizeX](#sizex) | `int` | get; set |  |
| [SizeY](#sizey) | `int` | get; set |  |
| [ThermalRelief](#thermalrelief) | [PadViaThermalReliefData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PadViaThermalReliefData.md) | get; set |  |
| [UseCRPct](#usecrpct) | `bool` | get; set |  |

### CRPct

*No description yet.*

```csharp
byte GetState_CRPct();
void SetState_CRPct(byte argValue);
```

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

### CRPctEx

*No description yet.*

```csharp
double GetState_CRPctEx();
void SetState_CRPctEx(double argValue);
```

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

### CRSize

*No description yet.*

```csharp
int GetState_CRSize();
void SetState_CRSize(int argValue);
```

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

### CustomShape

*No description yet.*

```csharp
PolySegment GetState_CustomShape(int argIndex);
void SetState_CustomShape(int argIndex, PolySegment argValue);
```

**Type:** [PolySegment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PolySegment.md) · **Access:** read/write · **Index:** `argIndex` (`int`)

The accessors are extension methods of `IPCB_PadTemplateStackDataHelper` (`using PCB;`).

### CustomShapeInfo

*No description yet.*

```csharp
IPCB_CustomShapeInfo GetState_CustomShapeInfo();
```

**Type:** [IPCB_CustomShapeInfo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_CustomShapeInfo.md) · **Access:** read-only

The accessors are extension methods of `IPCB_PadTemplateStackDataHelper` (`using PCB;`).

### Layer

*No description yet.*

```csharp
V7_LayerBase GetState_Layer();
void SetState_Layer(V7_LayerBase argValue);
```

**Type:** [V7_LayerBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/V7_LayerBase.md) · **Access:** read/write

The accessors are extension methods of `IPCB_PadTemplateStackDataHelper` (`using PCB;`).

### SegmentsCount

*No description yet.*

```csharp
int GetState_SegmentsCount();
void SetState_SegmentsCount(int argValue);
```

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

### Shape

*No description yet.*

```csharp
TShape GetState_Shape();
void SetState_Shape(TShape argValue);
```

**Type:** [TShape](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TShape.md) · **Access:** read/write

The accessors are extension methods of `IPCB_PadTemplateStackDataHelper` (`using PCB;`).

### ShapeSubKind

*No description yet.*

```csharp
TShapeSubKind GetState_ShapeSubKind();
void SetState_ShapeSubKind(TShapeSubKind argValue);
```

**Type:** [TShapeSubKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TShapeSubKind.md) · **Access:** read/write

The accessors are extension methods of `IPCB_PadTemplateStackDataHelper` (`using PCB;`).

### SizeX

*No description yet.*

```csharp
int GetState_SizeX();
void SetState_SizeX(int argValue);
```

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

### SizeY

*No description yet.*

```csharp
int GetState_SizeY();
void SetState_SizeY(int argValue);
```

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

### ThermalRelief

*No description yet.*

```csharp
PadViaThermalReliefData GetState_ThermalRelief();
void SetState_ThermalRelief(PadViaThermalReliefData argValue);
```

**Type:** [PadViaThermalReliefData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PadViaThermalReliefData.md) · **Access:** read/write

The accessors are extension methods of `IPCB_PadTemplateStackDataHelper` (`using PCB;`).

### UseCRPct

*No description yet.*

```csharp
bool GetState_UseCRPct();
void SetState_UseCRPct(bool argValue);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddSegment](#addsegment) | `void` |  |

### AddSegment

*No description yet.*

```csharp
void AddSegment(PolySegment argSegment);
void AddSegment(IPolySegment argSegment);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argSegment` | [PolySegment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PolySegment.md) | value |

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

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

## Returned by

[IPCB_PadTemplate.CreateDefaultStackData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadTemplate.md#createdefaultstackdata), [IPCB_PadTemplate.StackData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadTemplate.md#stackdata)

## Accepted by

[IPCB_PadTemplate.AddStackData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadTemplate.md#addstackdata)
