
# IModelDatafileType interface

The `IModelDatafileType` interface represents the data file type for the specified model. Simulation Model has three model types and thus three data files, PCB LIB has one model type and one data file, PCB3DLib has one model type and one data file and SI has one model type and one data file.

```csharp
public interface IModelDatafileType
```

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

## Remarks

The `IModelDatafileType` interface is used by the [`IModelTypeManager`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md)

## Example

Show the properties of every model data file type.

```csharp
using SCH;

IModelTypeManager modelTypeMan = EDP.Utils.LoadModelTypeManager();
if (modelTypeMan == null)
    return;
for (int i = 0; i < modelTypeMan.ModelDatafileTypeCount(); i++)
{
    IModelDatafileType modelDatafileType = modelTypeMan.ModelDatafileTypeAt(i);
    DXP.Utils.ShowMessage(
        modelDatafileType.FileKind() + "\r" +
        modelDatafileType.ExtensionFilter() + "\r" +
        modelDatafileType.Description() + "\r" +
        modelDatafileType.EntityType() + "\r" +
        modelDatafileType.ModelType().Name() + "\r" +
        modelDatafileType.SupportsParameters());
}
```

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [Description](#description) | `string` | This method returns the description string for this IModelDatafiletype interface depending on the model's data file type. |
| [EntityType](#entitytype) | `string` | This method returns the Entity type string for this IModelDatafiletype interface depending on the model's data file type. |
| [ExtensionFilter](#extensionfilter) | `string` | This method returns the extension filter string for this IModelDatafiletype interface depending on the model's data file type. |
| [FileKind](#filekind) | `string` | This method returns the `FileKind` string for this IModelDatafiletype interface depending on the model's data file type. |
| [ModelType](#modeltype) | [IModelType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelType.md) | This method returns the `ModelType` string for this IModelDatafiletype interface depending on the model's data file type. |
| [SupportsParameters](#supportsparameters) | `bool` | This method returns the `SupportsParameters` Boolean value for this IModelDatafiletype interface depending on the model's data file type. |

### Description

This method returns the description string for this IModelDatafiletype interface depending on the model's data file type. Since Altium Designer supports four models and six model types:

```csharp
string Description();
```

**Returns:** `string`

**See also:** [IModelTypeManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md)

### EntityType

This method returns the Entity type string for this IModelDatafiletype interface depending on the model's data file type. Since Altium Designer supports four models and six model types:

```csharp
string EntityType();
```

**Returns:** `string`

**See also:** [IModelTypeManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md)

### ExtensionFilter

This method returns the extension filter string for this IModelDatafiletype interface depending on the model's data file type. Since Altium Designer supports four models and six model types:

```csharp
string ExtensionFilter();
```

**Returns:** `string`

**See also:** [IModelTypeManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md)

### FileKind

This method returns the `FileKind` string for this IModelDatafiletype interface depending on the model's data file type. Since Altium Designer supports four models and six model types:

```csharp
string FileKind();
```

**Returns:** `string`

**See also:** [IModelTypeManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md)

### ModelType

This method returns the `ModelType` string for this IModelDatafiletype interface depending on the model's data file type. Since Altium Designer supports four models and six model types:

```csharp
IModelType ModelType();
```

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

Extension method of `IModelDatafileTypeHelper` (`using SCH;`).

**See also:** [IModelTypeManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md)

### SupportsParameters

This method returns the `SupportsParameters` Boolean value for this IModelDatafiletype interface depending on the model's data file type. Since Altium Designer supports four models and six model types:

```csharp
bool SupportsParameters();
```

**Returns:** `bool`

**See also:** [IModelTypeManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md)

## Returned by

[IModelTypeManager.ModelDatafileTypeAt](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md#modeldatafiletypeat), [IModelTypeManager.ModelDatafileTypeFromKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelTypeManager.md#modeldatafiletypefromkind)
