
# IPCB_MasterLayerStack2 interface

*No description yet.*

```csharp
public interface IPCB_MasterLayerStack2 : IPCB_MasterLayerStack
```

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

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddMechanicalLayer](#addmechanicallayer) | [IPCB_MechanicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MechanicalLayer.md) |  |
| [ChangeSubStackId](#changesubstackid) | `void` |  |
| [ClearAllPhysicalLayers](#clearallphysicallayers) | `void` |  |
| [CreateImpedanceProfile](#createimpedanceprofile) | [IPCB_ImpedanceProfile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ImpedanceProfile.md) |  |
| [CreateImpedanceProfileWithId](#createimpedanceprofilewithid) | [IPCB_ImpedanceProfile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ImpedanceProfile.md) |  |
| [CreateLayerPairByKind](#createlayerpairbykind) | `bool` |  |
| [CreateLayerWithId](#createlayerwithid) | [IPCB_LayerObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerObject.md) |  |
| [CreateSubstackWithId](#createsubstackwithid) | [IPCB_LayerStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStack.md) |  |
| [FindLayerByKind](#findlayerbykind) | [IPCB_MechanicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MechanicalLayer.md) |  |
| [GetImpedanceProfileById](#getimpedanceprofilebyid) | [IPCB_ImpedanceProfile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ImpedanceProfile.md) |  |
| [GetImpedanceProfileByIndex](#getimpedanceprofilebyindex) | [IPCB_ImpedanceProfile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ImpedanceProfile.md) |  |
| [GetImpedanceProfileCount](#getimpedanceprofilecount) | `int` |  |
| [GetMechanicalLayer](#getmechanicallayer) | [IPCB_MechanicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MechanicalLayer.md) |  |
| [RemoveImpedanceProfile](#removeimpedanceprofile) | `bool` |  |

### AddMechanicalLayer

*No description yet.*

```csharp
IPCB_MechanicalLayer AddMechanicalLayer();
```

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

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

### ChangeSubStackId

*No description yet.*

```csharp
void ChangeSubStackId(IPCB_LayerStack argSubstack, string argNewID);
void ChangeSubStackId(object argSubstack, string argNewID);
```

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

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

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

### ClearAllPhysicalLayers

*No description yet.*

```csharp
void ClearAllPhysicalLayers();
```

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

### CreateImpedanceProfile

*No description yet.*

```csharp
IPCB_ImpedanceProfile CreateImpedanceProfile();
```

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

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

### CreateImpedanceProfileWithId

*No description yet.*

```csharp
IPCB_ImpedanceProfile CreateImpedanceProfileWithId(string argID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argID` | `string` | value |

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

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

### CreateLayerPairByKind

*No description yet.*

```csharp
bool CreateLayerPairByKind(TMechanicalLayerPairKind argKind);
bool CreateLayerPairByKind(int argKind);
```

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

**Returns:** `bool`

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

### CreateLayerWithId

*No description yet.*

```csharp
IPCB_LayerObject CreateLayerWithId(V7_LayerBase argLayer, string argLayerID);
```

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

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

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

### CreateSubstackWithId

*No description yet.*

```csharp
IPCB_LayerStack CreateSubstackWithId(string argID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argID` | `string` | value |

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

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

### FindLayerByKind

*No description yet.*

```csharp
IPCB_MechanicalLayer FindLayerByKind(TMechanicalLayerKind argLayerKind);
```

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

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

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

### GetImpedanceProfileById

*No description yet.*

```csharp
IPCB_ImpedanceProfile GetImpedanceProfileById(string argID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argID` | `string` | value |

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

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

### GetImpedanceProfileByIndex

*No description yet.*

```csharp
IPCB_ImpedanceProfile GetImpedanceProfileByIndex(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

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

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

### GetImpedanceProfileCount

*No description yet.*

```csharp
int GetImpedanceProfileCount();
```

**Returns:** `int`

### GetMechanicalLayer

*No description yet.*

```csharp
IPCB_MechanicalLayer GetMechanicalLayer(int argIndexInMechanicalFamily);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndexInMechanicalFamily` | `int` | value |

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

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

### RemoveImpedanceProfile

*No description yet.*

```csharp
bool RemoveImpedanceProfile(IPCB_ImpedanceProfile argImpedanceProfile);
bool RemoveImpedanceProfile(object argImpedanceProfile);
```

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

**Returns:** `bool`

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

## Inherited members

- From [IPCB_MasterLayerStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md): [Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#board), [CreateLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#createlayer), [CreateSubstack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#createsubstack), [DisableLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#disablelayer), [EnableLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#enablelayer), [Export_ToParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#export_toparameters), [GetSubstack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#getsubstack), [GetSubstack_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#getsubstack_1), [Import_FromParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#import_fromparameters), [InsertAbove](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#insertabove), [InsertBelow](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#insertbelow), [InsertOnBottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#insertonbottom), [InsertOnTop](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#insertontop), [LayerStackStyle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#layerstackstyle), [RemoveLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#removelayer), [RemoveSubstack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#removesubstack), [SubstackCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#substackcount), [Substacks](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_MasterLayerStack.md#substacks)
- From [IPCB_LayerStackBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md): [Count](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#count), [Count_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#count_1), [Count_2](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#count_2), [First](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#first), [ID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#id), [IsFlex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#isflex), [Iterator](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#iterator), [Iterator_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#iterator_1), [Iterator_2](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#iterator_2), [Last](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#last), [Name](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#name), [Next](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#next), [Previous](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#previous), [StateID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#stateid), [ZBottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#zbottom), [ZTop](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerStackBase.md#ztop)
