
# ICMP_LayerStack interface

*No description yet.*

```csharp
public interface ICMP_LayerStack : ICMP_PCBObject
```

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

**Inherits:** [ICMP_Object](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md) → [ICMP_PCBObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PCBObject.md)

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddMechLayer](#addmechlayer) | `void` |  |
| [AddNewMechLayer](#addnewmechlayer) | [ICMP_MechanicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_MechanicalLayer.md) |  |
| [AddNewSubStack](#addnewsubstack) | [ICMP_SubStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_SubStack.md) |  |
| [AddSubStack](#addsubstack) | `void` |  |
| [ClearMechLayers](#clearmechlayers) | `void` |  |
| [ClearSubstacks](#clearsubstacks) | `void` |  |
| [DeleteMechLayer](#deletemechlayer) | `void` |  |
| [DeleteSubstack](#deletesubstack) | `void` |  |
| [GetMechLayer](#getmechlayer) | [ICMP_MechanicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_MechanicalLayer.md) |  |
| [GetMechLayerCount](#getmechlayercount) | `int` |  |
| [GetSubStack](#getsubstack) | [ICMP_SubStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_SubStack.md) |  |
| [GetSubStackCount](#getsubstackcount) | `int` |  |

### AddMechLayer

*No description yet.*

```csharp
void AddMechLayer(ICMP_MechanicalLayer argLayer);
void AddMechLayer(object argLayer);
```

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

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

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

### AddNewMechLayer

*No description yet.*

```csharp
ICMP_MechanicalLayer AddNewMechLayer();
```

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

Extension method of `ICMP_LayerStackHelper` (`using EDP;`).

### AddNewSubStack

*No description yet.*

```csharp
ICMP_SubStack AddNewSubStack();
```

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

Extension method of `ICMP_LayerStackHelper` (`using EDP;`).

### AddSubStack

*No description yet.*

```csharp
void AddSubStack(ICMP_SubStack argSubstack);
void AddSubStack(object argSubstack);
```

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

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

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

### ClearMechLayers

*No description yet.*

```csharp
void ClearMechLayers();
```

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

### ClearSubstacks

*No description yet.*

```csharp
void ClearSubstacks();
```

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

### DeleteMechLayer

*No description yet.*

```csharp
void DeleteMechLayer(int argIndex);
```

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

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

### DeleteSubstack

*No description yet.*

```csharp
void DeleteSubstack(int argIndex);
```

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

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

### GetMechLayer

*No description yet.*

```csharp
ICMP_MechanicalLayer GetMechLayer(int argIndex);
```

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

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

Extension method of `ICMP_LayerStackHelper` (`using EDP;`).

### GetMechLayerCount

*No description yet.*

```csharp
int GetMechLayerCount();
```

**Returns:** `int`

### GetSubStack

*No description yet.*

```csharp
ICMP_SubStack GetSubStack(int argIndex);
```

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

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

Extension method of `ICMP_LayerStackHelper` (`using EDP;`).

### GetSubStackCount

*No description yet.*

```csharp
int GetSubStackCount();
```

**Returns:** `int`

## Inherited members

- From [ICMP_Object](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md): [Clone](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md#clone), [CopyFrom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md#copyfrom), [GetObjectKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md#getobjectkind), [GetTopParent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md#gettopparent), [Handle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md#handle), [ParentObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Object.md#parentobject)

## Returned by

[ICMP_Board.GetLayerStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Board.md#getlayerstack)
