
# IOccWrapper interface

*No description yet.*

```csharp
public interface IOccWrapper
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddAssemblyToMainLabel](#addassemblytomainlabel) | `int` |  |
| [AddIgesModel](#addigesmodel) | `int` |  |
| [AddInstance](#addinstance) | `int` |  |
| [AddMetaCompound](#addmetacompound) | `int` |  |
| [AddModelToAssembly](#addmodeltoassembly) | `int` |  |
| [AddStepModel](#addstepmodel) | `int` |  |
| [AddStepModelToAssembly](#addstepmodeltoassembly) | `int` |  |
| [AddTrack](#addtrack) | `int` |  |
| [CloseDocument](#closedocument) | `int` |  |
| [CreateAssemblyQuery](#createassemblyquery) | `int` |  |
| [CreateColour](#createcolour) | `int` |  |
| [CreateCylinderShape](#createcylindershape) | `int` |  |
| [CreateExtrudedShape](#createextrudedshape) | `int` |  |
| [CreateGeomTool](#creategeomtool) | `int` |  |
| [CreateMetaCompound](#createmetacompound) | `int` |  |
| [CreateModelTriangulation](#createmodeltriangulation) | `int` |  |
| [CreateOccDocument](#createoccdocument) | `int` |  |
| [CreateOutline](#createoutline) | `int` |  |
| [CreatePlanarPolygon](#createplanarpolygon) | `int` |  |
| [CreateShapeCollection](#createshapecollection) | `int` |  |
| [CreateShapeTool](#createshapetool) | `int` |  |
| [CreateSphereShape](#createsphereshape) | `int` |  |
| [CreateSpline](#createspline) | [ISpline](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/ISpline.md) |  |
| [CreateTransformation](#createtransformation) | `int` |  |
| [CreateTransformedExtrudedShape](#createtransformedextrudedshape) | `int` |  |
| [ExportToStep](#exporttostep) | `void` |  |
| [GenerateStepModelForCylinder](#generatestepmodelforcylinder) | `void` |  |
| [GenerateStepModelForExtruded](#generatestepmodelforextruded) | `void` |  |
| [GenerateStepModelForSphere](#generatestepmodelforsphere) | `void` |  |
| [IsAssembly](#isassembly) | `int` |  |
| [NewAssembly](#newassembly) | `int` |  |
| [NewDocument](#newdocument) | `int` |  |
| [Transfer](#transfer) | `int` |  |

### AddAssemblyToMainLabel

*No description yet.*

```csharp
int AddAssemblyToMainLabel(int argssemblyIndex);
```

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

**Returns:** `int`

### AddIgesModel

*No description yet.*

```csharp
int AddIgesModel(string argModelKey, string argIgesFilename, object argpTransformation, out int argpIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argModelKey` | `string` | value |
| `argIgesFilename` | `string` | value |
| `argpTransformation` | `object` | value |
| `argpIndex` | `int` | out |

**Returns:** `int`

### AddInstance

*No description yet.*

```csharp
int AddInstance(int argParentShapeIndex, int argInstanceShapeIndex, object argpIPCB3D_Transformation, out bool argpSuccess);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argParentShapeIndex` | `int` | value |
| `argInstanceShapeIndex` | `int` | value |
| `argpIPCB3D_Transformation` | `object` | value |
| `argpSuccess` | `bool` | out |

**Returns:** `int`

### AddMetaCompound

*No description yet.*

```csharp
int AddMetaCompound(object argpIPCB3D_MetaCompound, object argpIPCB3D_Transformation, string argname, out int argpIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpIPCB3D_MetaCompound` | `object` | value |
| `argpIPCB3D_Transformation` | `object` | value |
| `argname` | `string` | value |
| `argpIndex` | `int` | out |

**Returns:** `int`

### AddModelToAssembly

*No description yet.*

```csharp
int AddModelToAssembly(int argssemblyShapeIndex, string argModelKey, string argModelFilename, object argpTransformation, object argpOverideColor, out int argpIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argssemblyShapeIndex` | `int` | value |
| `argModelKey` | `string` | value |
| `argModelFilename` | `string` | value |
| `argpTransformation` | `object` | value |
| `argpOverideColor` | `object` | value |
| `argpIndex` | `int` | out |

**Returns:** `int`

### AddStepModel

*No description yet.*

```csharp
int AddStepModel(string argModelKey, string argStepFilename, object argpTransformation, out int argpIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argModelKey` | `string` | value |
| `argStepFilename` | `string` | value |
| `argpTransformation` | `object` | value |
| `argpIndex` | `int` | out |

**Returns:** `int`

### AddStepModelToAssembly

*No description yet.*

```csharp
int AddStepModelToAssembly(int argssemblyShapeIndex, string argModelKey, string argStepFilename, object argpTransformation, out int argpIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argssemblyShapeIndex` | `int` | value |
| `argModelKey` | `string` | value |
| `argStepFilename` | `string` | value |
| `argpTransformation` | `object` | value |
| `argpIndex` | `int` | out |

**Returns:** `int`

### AddTrack

*No description yet.*

```csharp
int AddTrack(double argx1, double argy1, double argx2, double argy2, double argw, double argh, double argzPosition, object argpColor, double argisLast);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argx1` | `double` | value |
| `argy1` | `double` | value |
| `argx2` | `double` | value |
| `argy2` | `double` | value |
| `argw` | `double` | value |
| `argh` | `double` | value |
| `argzPosition` | `double` | value |
| `argpColor` | `object` | value |
| `argisLast` | `double` | value |

**Returns:** `int`

### CloseDocument

*No description yet.*

```csharp
int CloseDocument();
```

**Returns:** `int`

### CreateAssemblyQuery

*No description yet.*

```csharp
int CreateAssemblyQuery(out object argpAssemblyQuery);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpAssemblyQuery` | `object` | out |

**Returns:** `int`

### CreateColour

*No description yet.*

```csharp
int CreateColour(out object argpColour);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpColour` | `object` | out |

**Returns:** `int`

### CreateCylinderShape

*No description yet.*

```csharp
int CreateCylinderShape(out object argpCylinderShape);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpCylinderShape` | `object` | out |

**Returns:** `int`

### CreateExtrudedShape

*No description yet.*

```csharp
int CreateExtrudedShape(out object argpExtrudedShape);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpExtrudedShape` | `object` | out |

**Returns:** `int`

### CreateGeomTool

*No description yet.*

```csharp
int CreateGeomTool(out IPCB3D_GeomTool argpGeomTool);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpGeomTool` | [IPCB3D_GeomTool](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB3D_GeomTool.md) | out |

**Returns:** `int`

### CreateMetaCompound

*No description yet.*

```csharp
int CreateMetaCompound(out object argpMetaCompound);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpMetaCompound` | `object` | out |

**Returns:** `int`

### CreateModelTriangulation

*No description yet.*

```csharp
int CreateModelTriangulation(out object argpModelTriangulation);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpModelTriangulation` | `object` | out |

**Returns:** `int`

### CreateOccDocument

*No description yet.*

```csharp
int CreateOccDocument(out IOCCDocument argpResultDocument);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpResultDocument` | [IOCCDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IOCCDocument.md) | out |

**Returns:** `int`

### CreateOutline

*No description yet.*

```csharp
int CreateOutline(out object argpOutline);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpOutline` | `object` | out |

**Returns:** `int`

### CreatePlanarPolygon

*No description yet.*

```csharp
int CreatePlanarPolygon(out object argpPlanarPolygon);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpPlanarPolygon` | `object` | out |

**Returns:** `int`

### CreateShapeCollection

*No description yet.*

```csharp
int CreateShapeCollection(out object argpShapeCollection);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpShapeCollection` | `object` | out |

**Returns:** `int`

### CreateShapeTool

*No description yet.*

```csharp
int CreateShapeTool(out IPCB3D_ShapeTool argpShapeTool);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpShapeTool` | [IPCB3D_ShapeTool](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB3D_ShapeTool.md) | out |

**Returns:** `int`

### CreateSphereShape

*No description yet.*

```csharp
int CreateSphereShape(out object argpSphereShape);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpSphereShape` | `object` | out |

**Returns:** `int`

### CreateSpline

*No description yet.*

```csharp
ISpline CreateSpline(int argdimension, bool argrational, int argdegree, IPointList argControlPoints, IDoubleList argweights, IDoubleList argKnots, ICardinalList argknot_multiplicity);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argdimension` | `int` | value |
| `argrational` | `bool` | value |
| `argdegree` | `int` | value |
| `argControlPoints` | [IPointList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPointList.md) | value |
| `argweights` | [IDoubleList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IDoubleList.md) | value |
| `argKnots` | [IDoubleList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IDoubleList.md) | value |
| `argknot_multiplicity` | [ICardinalList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/ICardinalList.md) | value |

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

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

### CreateTransformation

*No description yet.*

```csharp
int CreateTransformation(out object argpTransformation);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpTransformation` | `object` | out |

**Returns:** `int`

### CreateTransformedExtrudedShape

*No description yet.*

```csharp
int CreateTransformedExtrudedShape(out object argpExtrudedShape);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpExtrudedShape` | `object` | out |

**Returns:** `int`

### ExportToStep

*No description yet.*

```csharp
void ExportToStep(string argfilename);
```

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

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

### GenerateStepModelForCylinder

*No description yet.*

```csharp
void GenerateStepModelForCylinder(object argpCylinder, object argpTransformation, object argpColor, string argStepFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpCylinder` | `object` | value |
| `argpTransformation` | `object` | value |
| `argpColor` | `object` | value |
| `argStepFilename` | `string` | value |

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

### GenerateStepModelForExtruded

*No description yet.*

```csharp
void GenerateStepModelForExtruded(object argpExtruded, object argpTransformation, object argpColor, string argStepFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpExtruded` | `object` | value |
| `argpTransformation` | `object` | value |
| `argpColor` | `object` | value |
| `argStepFilename` | `string` | value |

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

### GenerateStepModelForSphere

*No description yet.*

```csharp
void GenerateStepModelForSphere(object argpSphere, object argpTransformation, object argpColor, string argStepFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argpSphere` | `object` | value |
| `argpTransformation` | `object` | value |
| `argpColor` | `object` | value |
| `argStepFilename` | `string` | value |

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

### IsAssembly

*No description yet.*

```csharp
int IsAssembly(int argShapeIndex, out bool argpSuccess);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argShapeIndex` | `int` | value |
| `argpSuccess` | `bool` | out |

**Returns:** `int`

### NewAssembly

*No description yet.*

```csharp
int NewAssembly(string argname, out int argpIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argname` | `string` | value |
| `argpIndex` | `int` | out |

**Returns:** `int`

### NewDocument

*No description yet.*

```csharp
int NewDocument(bool argcreateTopLabel);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argcreateTopLabel` | `bool` | value |

**Returns:** `int`

### Transfer

*No description yet.*

```csharp
int Transfer(IOCCDocument argoccDocument);
int Transfer(object argoccDocument);
```

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

**Returns:** `int`

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

## Returned by

[IPCB_ServerInterface.GetOccWrapper](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ServerInterface.md#getoccwrapper)

## Accepted by

[IPCB_Model.AddTo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Model.md#addto), [IPCB_Model.AddToAssembly](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Model.md#addtoassembly), [IPCB_Model.AddToAssembly2](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Model.md#addtoassembly2)
