
# IPCB_3DShapeCollection interface

*No description yet.*

```csharp
public interface IPCB_3DShapeCollection
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [CylinderCount](#cylindercount) | `int` | get |  |
| [ExtrudedCount](#extrudedcount) | `int` | get |  |
| [MeshByPosition](#meshbyposition) | [IPCB_3DSimpleMesh](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_3DSimpleMesh.md) | get |  |
| [MeshCount](#meshcount) | `int` | get |  |
| [SphereCount](#spherecount) | `int` | get |  |

### CylinderCount

*No description yet.*

```csharp
int GetState_CylinderCount();
```

**Type:** `int` · **Access:** read-only

### ExtrudedCount

*No description yet.*

```csharp
int GetState_ExtrudedCount();
```

**Type:** `int` · **Access:** read-only

### MeshByPosition

*No description yet.*

```csharp
IPCB_3DSimpleMesh GetState_MeshByPosition(int argPos);
```

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

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

### MeshCount

*No description yet.*

```csharp
int GetState_MeshCount();
```

**Type:** `int` · **Access:** read-only

### SphereCount

*No description yet.*

```csharp
int GetState_SphereCount();
```

**Type:** `int` · **Access:** read-only

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddMesh](#addmesh) | [IPCB_3DSimpleMesh](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_3DSimpleMesh.md) |  |
| [CopyTo](#copyto) | `void` |  |
| [Count](#count) | `int` |  |
| [GetBounds](#getbounds) | `void` |  |

### AddMesh

*No description yet.*

```csharp
IPCB_3DSimpleMesh AddMesh();
```

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

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

### CopyTo

*No description yet.*

```csharp
void CopyTo(IPCB_3DShapeCollection argOther);
void CopyTo(object argOther);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argOther` | [IPCB_3DShapeCollection](#) | value |

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

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

### Count

*No description yet.*

```csharp
int Count();
```

**Returns:** `int`

### GetBounds

*No description yet.*

```csharp
void GetBounds(out float argMinX, out float argMinY, out float argMinZ, out float argMaxX, out float argMaxY, out float argMaxZ);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argMinX` | `float` | out |
| `argMinY` | `float` | out |
| `argMinZ` | `float` | out |
| `argMaxX` | `float` | out |
| `argMaxY` | `float` | out |
| `argMaxZ` | `float` | out |

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