
# IParameter interface

The `IParameter` interface is a parameter object interface to an existing parameter object on a schematic sheet. There are two types of parameters - system parameters which are owned by a schematic document and parameters owned by certain schematic design objects.

```csharp
public interface IParameter : IDMObject
```

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

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

## Remarks

A parameter is a child object of a Parameter Set, Part, Pin, Port, or Sheet Symbol object. A Parameter object has a Name property and Value property which can be used to store information, thus the parameters are a way of defining and associating information and could include strings that identify component manufacturer, date added to the document and also a string for the component's value (e.g. 100K for a resistor or 10PF for a capacitor).

Each parameter has a Unique Id assigned to it. This is used for those parameters that have been added as design rule directives. When transferring the design to the PCB document, any defined rule parameters will be used to generate the relevant design rules in the PCB. These generated rules will be given the same Unique Ids, allowing you to change rule constraints in either schematic or PCB and push the change across when performing a synchronization.

An equivalent object representation is the [`ISch_Parameter`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Parameter.md) class in the Sch API reference.

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [DM_ConfigurationName](#dm_configurationname) | `string` | The method returns the configuration name, that the parameter object is associated with. |
| [DM_Description](#dm_description) | `string` | The method denotes the description of this parameter object. |
| [DM_Kind](#dm_kind) | [TParameterKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TParameterKind.md) | The method denotes the specific kind that can be assigned to this parameter object. |
| [DM_Name](#dm_name) | `string` | The method denotes the name of the parameter object. |
| [DM_NewName](#dm_newname) | `string` | The method denotes the New Name for the parameter object, especially when there is an ECO change. |
| [DM_NewValue](#dm_newvalue) | `string` | The method denotes the New Value for the parameter object, especially when there is an ECO change. |
| [DM_OriginalOwner](#dm_originalowner) | [IDMObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md) | This method returns the interface of the owner object this parameter object is associated with. |
| [DM_RawText](#dm_rawtext) | `string` | The method returns the raw text for this parameter object. |
| [DM_SetValue](#dm_setvalue) | `void` |  |
| [DM_UniqueId](#dm_uniqueid) | `string` | Any parameter that is configured as a container for design rule directives need to have a unique ID that will be ported onto the corresponding PCB implementation document. |
| [DM_Value](#dm_value) | `string` | The method denotes the value placeholder for this parameter object. |
| [DM_Visible](#dm_visible) | `bool` | The method denotes whether this parameter object is visible or not. |

### DM_ConfigurationName

The method returns the configuration name, that the parameter object is associated with.

```csharp
string DM_ConfigurationName();
```

**Returns:** `string`

### DM_Description

The method denotes the description of this parameter object.

```csharp
string DM_Description();
```

**Returns:** `string`

### DM_Kind

The method denotes the specific kind that can be assigned to this parameter object. String, Boolean, Integer or float.

```csharp
TParameterKind DM_Kind();
```

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

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

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

### DM_Name

The method denotes the name of the parameter object.

```csharp
string DM_Name();
```

**Returns:** `string`

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

### DM_NewName

The method denotes the New Name for the parameter object, especially when there is an ECO change. You can then compare the original and new names.

```csharp
string DM_NewName();
```

**Returns:** `string`

### DM_NewValue

The method denotes the New Value for the parameter object, especially when there is an ECO change. You can then compare the original and new values.

```csharp
string DM_NewValue();
```

**Returns:** `string`

### DM_OriginalOwner

This method returns the interface of the owner object this parameter object is associated with.

```csharp
IDMObject DM_OriginalOwner();
```

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

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

### DM_RawText

The method returns the raw text for this parameter object.

```csharp
string DM_RawText();
```

**Returns:** `string`

### DM_SetValue

*No description yet.*

```csharp
void DM_SetValue(string argValue);
```

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

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

### DM_UniqueId

Any parameter that is configured as a container for design rule directives need to have a unique ID that will be ported onto the corresponding PCB implementation document.

```csharp
string DM_UniqueId();
```

**Returns:** `string`

The method returns the Unique ID value for the parameter object.

### DM_Value

The method denotes the value placeholder for this parameter object.

```csharp
string DM_Value();
```

**Returns:** `string`

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

### DM_Visible

The method denotes whether this parameter object is visible or not.

```csharp
bool DM_Visible();
```

**Returns:** `bool`

## Inherited members

- From [IDMObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md): [DM_CalculateParameterValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_calculateparametervalue), [DM_CurrentSheetInstanceNumber](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_currentsheetinstancenumber), [DM_FullCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_fullcrossprobestring), [DM_GeneralField](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_generalfield), [DM_GetVCSProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_getvcsproject), [DM_ImageIndex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_imageindex), [DM_IsFormulaString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_isformulastring), [DM_IsInferredObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_isinferredobject), [DM_LocationString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationstring), [DM_LocationX](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationx), [DM_LocationY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationy), [DM_LongDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_longdescriptorstring), [DM_NetIndex_Flat](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_flat), [DM_NetIndex_Sheet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_sheet), [DM_NetIndex_SubNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_subnet), [DM_ObjectKindString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_objectkindstring), [DM_ObjectKindStringForCrossProbe](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_objectkindstringforcrossprobe), [DM_OwnerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocument), [DM_OwnerDocumentFullPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocumentfullpath), [DM_OwnerDocumentName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocumentname), [DM_ParameterCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_parametercount), [DM_Parameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_parameters), [DM_PcbHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbhandle), [DM_PCBObjectHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbobjecthandle), [DM_PCBObjectInterface](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbobjectinterface), [DM_PrimaryCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_primarycrossprobestring), [DM_SchHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schhandle), [DM_SCHObjectHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schobjecthandle), [DM_SCHObjectInterface](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schobjectinterface), [DM_SecondaryCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_secondarycrossprobestring), [DM_SetVCSProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_setvcsproject), [DM_SheetIndex_Logical](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_sheetindex_logical), [DM_SheetIndex_Physical](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_sheetindex_physical), [DM_ShortDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_shortdescriptorstring), [DM_ValidForNavigation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_validfornavigation), [DM_VHDLEntity](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_vhdlentity)

## Returned by

[IDMObject.DM_Parameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_parameters), [IProject.DM_ManagedParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProject.md#dm_managedparameters)

## Accepted by

[IDMObject.DM_CalculateParameterValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_calculateparametervalue)
