
# IPCB3D_Transformation interface

*No description yet.*

```csharp
public interface IPCB3D_Transformation
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [FillGlobalTransformation](#fillglobaltransformation) | `int` |  |
| [MirrorByAxis](#mirrorbyaxis) | `int` |  |
| [MirrorByPlane](#mirrorbyplane) | `int` |  |
| [MirrorByPoint](#mirrorbypoint) | `int` |  |
| [Multiply](#multiply) | `int` |  |
| [PreMultiply](#premultiply) | `int` |  |
| [Rotate](#rotate) | `int` |  |
| [SetIdentity](#setidentity) | `int` |  |
| [SetValues](#setvalues) | `int` |  |
| [Translate](#translate) | `int` |  |

### FillGlobalTransformation

*No description yet.*

```csharp
int FillGlobalTransformation();
```

**Returns:** `int`

### MirrorByAxis

*No description yet.*

```csharp
int MirrorByAxis(double argX, double argY, double argZ, double argxDir, double argyDir, double argzDir);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argX` | `double` | value |
| `argY` | `double` | value |
| `argZ` | `double` | value |
| `argxDir` | `double` | value |
| `argyDir` | `double` | value |
| `argzDir` | `double` | value |

**Returns:** `int`

### MirrorByPlane

*No description yet.*

```csharp
int MirrorByPlane(double argxOrigin, double argyOrigin, double argzOrigin, double argxNormal, double argyNormal, double argzNormal);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argxOrigin` | `double` | value |
| `argyOrigin` | `double` | value |
| `argzOrigin` | `double` | value |
| `argxNormal` | `double` | value |
| `argyNormal` | `double` | value |
| `argzNormal` | `double` | value |

**Returns:** `int`

### MirrorByPoint

*No description yet.*

```csharp
int MirrorByPoint(double argX, double argY, double argZ);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argX` | `double` | value |
| `argY` | `double` | value |
| `argZ` | `double` | value |

**Returns:** `int`

### Multiply

*No description yet.*

```csharp
int Multiply(IPCB3D_Transformation argtransform);
int Multiply(object argtransform);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argtransform` | [IPCB3D_Transformation](#) | value |

**Returns:** `int`

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

### PreMultiply

*No description yet.*

```csharp
int PreMultiply(IPCB3D_Transformation argtransform);
int PreMultiply(object argtransform);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argtransform` | [IPCB3D_Transformation](#) | value |

**Returns:** `int`

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

### Rotate

*No description yet.*

```csharp
int Rotate(double argX, double argY, double argZ, double argngle);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argX` | `double` | value |
| `argY` | `double` | value |
| `argZ` | `double` | value |
| `argngle` | `double` | value |

**Returns:** `int`

### SetIdentity

*No description yet.*

```csharp
int SetIdentity();
```

**Returns:** `int`

### SetValues

*No description yet.*

```csharp
int SetValues(double arg11, double arg12, double arg13, double arg14, double arg21, double arg22, double arg23, double arg24, double arg31, double arg32, double arg33, double arg34);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `arg11` | `double` | value |
| `arg12` | `double` | value |
| `arg13` | `double` | value |
| `arg14` | `double` | value |
| `arg21` | `double` | value |
| `arg22` | `double` | value |
| `arg23` | `double` | value |
| `arg24` | `double` | value |
| `arg31` | `double` | value |
| `arg32` | `double` | value |
| `arg33` | `double` | value |
| `arg34` | `double` | value |

**Returns:** `int`

### Translate

*No description yet.*

```csharp
int Translate(double argX, double argY, double argZ);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argX` | `double` | value |
| `argY` | `double` | value |
| `argZ` | `double` | value |

**Returns:** `int`

## Accepted by

[IPCB3D_ShapeTool.TransformShape](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB3D_ShapeTool.md#transformshape), [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)
