
# IPCB_CustomPadShape interface

*No description yet.*

```csharp
public interface IPCB_CustomPadShape
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [CustomShape](#customshape) | [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) | get; set |  |
| [CustomShapeInfo](#customshapeinfo) | [IPCB_CustomShapeInfo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_CustomShapeInfo.md) | get |  |
| [CustomShapeKind](#customshapekind) | [TShapeSubKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TShapeSubKind.md) | get; set |  |
| [ExtractedPrimitiveOnLayer](#extractedprimitiveonlayer) | [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) | get |  |
| [RegionShapeOnLayer](#regionshapeonlayer) | [IPCB_Region](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Region.md) | get |  |

### CustomShape

*No description yet.*

```csharp
IPCB_Primitive GetProperty_CustomShape(V7_LayerBase argLayer);
void SetProperty_CustomShape(V7_LayerBase argLayer, IPCB_Primitive argShape);
```

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

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

### CustomShapeInfo

*No description yet.*

```csharp
IPCB_CustomShapeInfo GetState_CustomShapeInfo(V7_LayerBase argLayer);
```

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

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

### CustomShapeKind

*No description yet.*

```csharp
TShapeSubKind GetProperty_CustomShapeKind(V7_LayerBase argLayer);
void SetProperty_CustomShapeKind(V7_LayerBase argLayer, TShapeSubKind argValue);
```

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

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

### ExtractedPrimitiveOnLayer

*No description yet.*

```csharp
IPCB_Primitive GetState_ExtractedPrimitiveOnLayer(V7_LayerBase argLayer);
```

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

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

### RegionShapeOnLayer

*No description yet.*

```csharp
IPCB_Region GetState_RegionShapeOnLayer(V7_LayerBase argLayer);
```

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

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [EditShapeOnLayer](#editshapeonlayer) | `void` |  |
| [ResetMaskShapes](#resetmaskshapes) | `void` |  |

### EditShapeOnLayer

*No description yet.*

```csharp
void EditShapeOnLayer(V7_LayerBase argLayer);
void EditShapeOnLayer(IV7_Layer argLayer);
```

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

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

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

### ResetMaskShapes

*No description yet.*

```csharp
void ResetMaskShapes();
```

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