
# ICMP_SubStack interface

*No description yet.*

```csharp
public interface ICMP_SubStack : 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)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [IsFlex](#isflex) | `bool` | get; set |  |
| [IsMain](#ismain) | `bool` | get; set |  |
| [Name](#name) | `string` | get; set |  |

### IsFlex

*No description yet.*

```csharp
bool GetIsFlex();
void SetIsFlex(bool argValue);
```

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

### IsMain

*No description yet.*

```csharp
bool GetIsMain();
void SetIsMain(bool argValue);
```

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

### Name

*No description yet.*

```csharp
string GetName();
void SetName(string argValue);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddLayer](#addlayer) | `void` |  |
| [AddNewLayer](#addnewlayer) | [ICMP_PhysicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PhysicalLayer.md) |  |
| [ClearLayers](#clearlayers) | `void` |  |
| [DeleteLayer](#deletelayer) | `void` |  |
| [GetLayer](#getlayer) | [ICMP_PhysicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PhysicalLayer.md) |  |
| [GetLayerCount](#getlayercount) | `int` |  |
| [InsertLayer](#insertlayer) | `void` |  |
| [InsertNewLayer](#insertnewlayer) | [ICMP_PhysicalLayer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PhysicalLayer.md) |  |

### AddLayer

*No description yet.*

```csharp
void AddLayer(ICMP_PhysicalLayer argLayer);
void AddLayer(object argLayer);
```

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

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

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

### AddNewLayer

*No description yet.*

```csharp
ICMP_PhysicalLayer AddNewLayer(TCMP_LayerKind argKind);
```

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

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

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

### ClearLayers

*No description yet.*

```csharp
void ClearLayers();
```

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

### DeleteLayer

*No description yet.*

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

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

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

### GetLayer

*No description yet.*

```csharp
ICMP_PhysicalLayer GetLayer(int argIndex);
```

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

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

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

### GetLayerCount

*No description yet.*

```csharp
int GetLayerCount();
```

**Returns:** `int`

### InsertLayer

*No description yet.*

```csharp
void InsertLayer(int argBeforeIndex, ICMP_PhysicalLayer argLayer);
void InsertLayer(int argBeforeIndex, object argLayer);
```

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

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

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

### InsertNewLayer

*No description yet.*

```csharp
ICMP_PhysicalLayer InsertNewLayer(int argBeforeIndex, TCMP_LayerKind argKind);
```

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

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

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

## 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_ComparisonServer.CreateSubstack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ComparisonServer.md#createsubstack), [ICMP_LayerStack.AddNewSubStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_LayerStack.md#addnewsubstack), [ICMP_LayerStack.GetSubStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_LayerStack.md#getsubstack), [ICMP_PhysicalLayer.GetParentStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PhysicalLayer.md#getparentstack)

## Accepted by

[ICMP_LayerStack.AddSubStack](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_LayerStack.md#addsubstack)
