
# IMBA_ServerDocument interface

*No description yet.*

```csharp
public interface IMBA_ServerDocument : IServerDocument
```

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

**Inherits:** [IServerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [Controller](#controller) | [IMBA_DocumentController](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_DocumentController.md) | get |  |
| [DataModel](#datamodel) | [IMBA_DocumentDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_DocumentDataModel.md) | get |  |
| [DocumentID](#documentid) | `int` | get; set |  |
| [UniqueID](#uniqueid) | `string` | get; set |  |

### Controller

*No description yet.*

```csharp
IMBA_DocumentController GetState_Controller();
```

**Type:** [IMBA_DocumentController](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_DocumentController.md) · **Access:** read-only

The accessors are extension methods of `IMBA_ServerDocumentHelper` (`using EDP;`).

### DataModel

*No description yet.*

```csharp
IMBA_DocumentDataModel GetState_DataModel();
```

**Type:** [IMBA_DocumentDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_DocumentDataModel.md) · **Access:** read-only

The accessors are extension methods of `IMBA_ServerDocumentHelper` (`using EDP;`).

### DocumentID

*No description yet.*

```csharp
int GetState_DocumentID();
void SetState_DocumentID(int argValue);
```

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

### UniqueID

*No description yet.*

```csharp
string GetState_UniqueID();
void SetState_UniqueID(string argValue);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [GetPartBoundingBox](#getpartboundingbox) | `void` |  |
| [InvalidateDataModel](#invalidatedatamodel) | `void` |  |
| [LoadPCBModel](#loadpcbmodel) | [IMBA_PartDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_PartDataModel.md) |  |
| [LoadPCBModel_ForPreview](#loadpcbmodel_forpreview) | [IMBA_PartDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_PartDataModel.md) |  |
| [LoadStepModel](#loadstepmodel) | [IMBA_PartDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_PartDataModel.md) |  |
| [LoadStepModel_ForPreview](#loadstepmodel_forpreview) | [IMBA_PartDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_PartDataModel.md) |  |
| [RemoveModel_ForPreview](#removemodel_forpreview) | `bool` |  |
| [SetModelTransparent_ForPreview](#setmodeltransparent_forpreview) | `void` |  |
| [SetPartVisible](#setpartvisible) | `void` |  |
| [ToggleMeasurementSystem](#togglemeasurementsystem) | `void` |  |
| [UpdateStepPartByStepPart_ForPreview](#updatesteppartbysteppart_forpreview) | `void` |  |

### GetPartBoundingBox

*No description yet.*

```csharp
void GetPartBoundingBox(int argPartId, out double argMinX, out double argMinY, out double argMinZ, out double argMaxX, out double argMaxY, out double argMaxZ);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPartId` | `int` | value |
| `argMinX` | `double` | out |
| `argMinY` | `double` | out |
| `argMinZ` | `double` | out |
| `argMaxX` | `double` | out |
| `argMaxY` | `double` | out |
| `argMaxZ` | `double` | out |

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

### InvalidateDataModel

*No description yet.*

```csharp
void InvalidateDataModel();
```

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

### LoadPCBModel

*No description yet.*

```csharp
IMBA_PartDataModel LoadPCBModel(string argFileName);
```

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

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

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

### LoadPCBModel_ForPreview

*No description yet.*

```csharp
IMBA_PartDataModel LoadPCBModel_ForPreview(string argFileName);
```

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

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

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

### LoadStepModel

*No description yet.*

```csharp
IMBA_PartDataModel LoadStepModel(string argFileName, bool argNeedToCache);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFileName` | `string` | value |
| `argNeedToCache` | `bool` | value |

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

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

### LoadStepModel_ForPreview

*No description yet.*

```csharp
IMBA_PartDataModel LoadStepModel_ForPreview(string argFileName);
```

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

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

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

### RemoveModel_ForPreview

*No description yet.*

```csharp
bool RemoveModel_ForPreview(int argPartId);
```

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

**Returns:** `bool`

### SetModelTransparent_ForPreview

*No description yet.*

```csharp
void SetModelTransparent_ForPreview(int argPartId, bool argTransparent);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPartId` | `int` | value |
| `argTransparent` | `bool` | value |

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

### SetPartVisible

*No description yet.*

```csharp
void SetPartVisible(int argPartId, bool argVisible);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPartId` | `int` | value |
| `argVisible` | `bool` | value |

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

### ToggleMeasurementSystem

*No description yet.*

```csharp
void ToggleMeasurementSystem();
```

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

### UpdateStepPartByStepPart_ForPreview

*No description yet.*

```csharp
void UpdateStepPartByStepPart_ForPreview(IMBA_PartDataModel argDestStepPart, IMBA_PartDataModel argSourceStepPart);
void UpdateStepPartByStepPart_ForPreview(object argDestStepPart, object argSourceStepPart);
```

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

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

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

## Inherited members

- From [IServerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md): [AcquireDataFileHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#acquiredatafilehandle), [AcquireFileOwnership](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#acquirefileownership), [AddView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#addview), [BeingClosed](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#beingclosed), [CanCreateSnippet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#cancreatesnippet), [CanPlaceSnippet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#canplacesnippet), [CreateSnippetFile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#createsnippetfile), [DocumentDirectoryChanged](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#documentdirectorychanged), [DoFileLoad](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dofileload), [DoFileSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dofilesave), [DoSafeChangeFileNameAndSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dosafechangefilenameandsave), [DoSafeFileSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dosafefilesave), [FileModifiedDate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#filemodifieddate), [FileName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#filename), [Focus](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#focus), [GetCanClose](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getcanclose), [GetContextHelpTopicName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getcontexthelptopicname), [GetCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getcount), [GetDocumentModifiedDate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getdocumentmodifieddate), [GetKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getkind), [GetServerModule](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getservermodule), [GetSnippetView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getsnippetview), [GetSupportsOwnSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getsupportsownsave), [GetView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getview), [GetViewByName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getviewbyname), [IsShown](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#isshown), [Modified](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#modified), [NotifyViews](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#notifyviews), [OwnsFile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#ownsfile), [PlaceSnippet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#placesnippet), [ReleaseDataFileHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#releasedatafilehandle), [ReleaseFileOwnership](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#releasefileownership), [SupportsReload](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#supportsreload), [UpdateModifiedDate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#updatemodifieddate), [WarnIfOwnedByOther](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#warnifownedbyother), [ZoomSnippetContents](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#zoomsnippetcontents)

## Returned by

[IMBA_ServerModule.CreateDocumentFromDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_ServerModule.md#createdocumentfromdatamodel), [IMBA_ServerModule.GetAssemblyByDocumentId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_ServerModule.md#getassemblybydocumentid), [IMBA_ServerModule.GetAssemblyByPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_ServerModule.md#getassemblybypath), [IMBA_ServerModule.LoadAssemblyByPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IMBA_ServerModule.md#loadassemblybypath)
