
# IWSM_OutputJobDocument interface

The `IWSM_OutputJobDocument` interface represents the output jobs document in Altium Designer.

```csharp
public interface IWSM_OutputJobDocument
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [MediumOutputer](#mediumoutputer) | [IOutputer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputer.md) | get |  |
| [MediumOutputersCount](#mediumoutputerscount) | `int` | get |  |
| [Outputer](#outputer) | [IOutputer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputer.md) | get |  |
| [OutputerCount](#outputercount) | `int` | get |  |
| [OutputMedium](#outputmedium) | [IOutputMedium](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputMedium.md) | get |  |
| [OutputMediumCount](#outputmediumcount) | `int` | get |  |
| [VariantName](#variantname) | `string` | get; set |  |
| [VariantScope](#variantscope) | [TOutputJobVariantScope](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TOutputJobVariantScope.md) | get; set |  |

### MediumOutputer

*No description yet.*

```csharp
IOutputer GetState_MediumOutputer(IOutputMedium argOutputMedium, int argi);
```

**Type:** [IOutputer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputer.md) · **Access:** read-only · **Index:** `argOutputMedium` ([IOutputMedium](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputMedium.md)), `argi` (`int`)

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

### MediumOutputersCount

*No description yet.*

```csharp
int GetState_MediumOutputersCount(IOutputMedium argOutputMedium);
```

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

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

### Outputer

*No description yet.*

```csharp
IOutputer GetState_Outputer(int argIndex);
```

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

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

**Examples:** [Extension_ChangeOutputJobFile](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_ChangeOutputJobFile/Source%20Code/Commands.cs#L35), [Extension_GenerateGerber](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_GenerateGerber/Source%20Code/Commands.cs#L52)

### OutputerCount

*No description yet.*

```csharp
int GetState_OutputerCount();
```

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

**Examples:** [Extension_ChangeOutputJobFile](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_ChangeOutputJobFile/Source%20Code/Commands.cs#L33), [Extension_GenerateGerber](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_GenerateGerber/Source%20Code/Commands.cs#L50)

### OutputMedium

*No description yet.*

```csharp
IOutputMedium GetState_OutputMedium(int argIndex);
```

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

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

### OutputMediumCount

*No description yet.*

```csharp
int GetState_OutputMediumCount();
```

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

### VariantName

*No description yet.*

```csharp
string GetState_VariantName();
void SetState_VariantName(string argName);
```

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

**Examples:** [Extension_GenerateGerber](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_GenerateGerber/Source%20Code/Commands.cs#L48)

### VariantScope

*No description yet.*

```csharp
TOutputJobVariantScope GetState_VariantScope();
void SetState_VariantScope(TOutputJobVariantScope argValue);
```

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

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [BeginModifyOutputer](#beginmodifyoutputer) | `bool` |  |
| [CreateOutputer](#createoutputer) | [IOutputer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputer.md) |  |
| [EndModifyOutputer](#endmodifyoutputer) | `void` |  |

### BeginModifyOutputer

*No description yet.*

```csharp
bool BeginModifyOutputer(IOutputer argOutputer);
bool BeginModifyOutputer(object argOutputer);
```

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

**Returns:** `bool`

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

### CreateOutputer

*No description yet.*

```csharp
IOutputer CreateOutputer(string argOutputCategoryName, string argPredefinedOutputName, string argOutputerName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argOutputCategoryName` | `string` | value |
| `argPredefinedOutputName` | `string` | value |
| `argOutputerName` | `string` | value |

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

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

### EndModifyOutputer

*No description yet.*

```csharp
void EndModifyOutputer();
```

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

## Returned by

[IWorkspace.DM_GetOutputJobDocumentByPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_getoutputjobdocumentbypath)

## Examples

Used in the SDK examples: [Extension_ChangeOutputJobFile](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_ChangeOutputJobFile/Source%20Code/Commands.cs#L32), [Extension_GenerateGerber](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_GenerateGerber/Source%20Code/Commands.cs#L45).
