
# ISch_Component interface

The `ISch_Component` references the logical symbol as a component that can contain links to different model implementations such as PCB, Signal Integrity and Simulation models. Only one model of a particular model type (PCB footprint, SIM, SI, EDIF Macro and VHDL) can be enabled as the currently linked model, at any one time.

```csharp
public interface ISch_Component : ISch_ParametrizedGroup
```

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

**Inherits:** [ISch_BasicContainer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md) → [ISch_GraphicalObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md) → [ISch_ParametrizedGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ParametrizedGroup.md)

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

## Remarks

Each schematic component has two system parameters - the Designator parameter and the Comment parameter. Custom parameters can be added anytime. The Comment parameter can be assigned an indirect name parameter. Once a name parameter (with a equal sign character as a prefix to the name parameter) is assigned to the Comment field of the Component properties dialog, the value for this parameter appears on the document, ensure that the Convert Special Strings option in the Schematic Preferences dialog is enabled.

The Unique ID (UID) is an system generated value that uniquely identifies this current component. It is used for linking to an associated PCB component on a PCB document. Enter a new UID value or click the Reset button to generate a new UID if you wish to force the Schematic component to be linked to a different PCB component. You will need to run the Component Links... dialog to update the linkage on the corresponding PCB document.

This [`SourceLibraryName`](#sourcelibraryname) property denotes the source library where the symbol and its associated model links are from. The * character in this field denotes the current library of the current project. Note a schematic component is a symbol with a defined designator placed on a schematic document.

The LibraryRef property is the name of the symbol. The symbol is from the library specified in the Library field below.

The SheetPartyFilename property, enter a sub design project file name to be linked to the current schematic component. An example of a sub design project is a programmable logic device project or a schematic sub-sheet.

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [AliasAsText](#aliasastext) | `string` | get; set |  |
| [AliasAt](#aliasat) | `string` | get; set | The indexed property returns an alias string. |
| [AliasCount](#aliascount) | `int` | get |  |
| [ComponentDescription](#componentdescription) | `string` | get; set | The `ComponentDescription` property determines the description string for this component. |
| [ComponentKind](#componentkind) | [TComponentKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TComponentKind.md) | get; set | The `ComponentKind` property deteremines the component's type of [`TComponentKind`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TComponentKind.md) type. |
| [ConfigurationParameters](#configurationparameters) | `string` | get |  |
| [ConfiguratorName](#configuratorname) | `string` | get |  |
| [CurrentPartID](#currentpartid) | `int` | get; set |  |
| [DatabaseLibraryKeys](#databaselibrarykeys) | `string` | get |  |
| [DatabaseLibraryName](#databaselibraryname) | `string` | get |  |
| [DatabaseTableName](#databasetablename) | `string` | get; set |  |
| [DesignatorLocked](#designatorlocked) | `bool` | get; set |  |
| [DesignItemId](#designitemid) | `string` | get; set |  |
| [DisplayFieldNames](#displayfieldnames) | `bool` | get; set |  |
| [DisplayMode](#displaymode) | `byte` | get; set | The `GetState_DisplayMode` method returns the TDisplayMode value for this component. |
| [DisplayModeCount](#displaymodecount) | `int` | get | The property can return up to 255 display modes for the same component. |
| [DisplayModeCount_Check](#displaymodecount_check) | `int` | set |  |
| [FilePosition](#fileposition) | `int` | set |  |
| [IsMirrored](#ismirrored) | `bool` | get; set | The `IsMirrored` property determines whether the component is mirrored along the x-axis. |
| [IsUserConfigurable](#isuserconfigurable) | `bool` | get; set |  |
| [ItemGUID](#itemguid) | `string` | get; set |  |
| [LibIdentifierKind](#libidentifierkind) | [TLibIdentifierKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TLibIdentifierKind.md) | get |  |
| [LibraryIdentifier](#libraryidentifier) | `string` | get |  |
| [LibraryPath](#librarypath) | `string` | get; set |  |
| [LibReference](#libreference) | `string` | get; set |  |
| [Orientation](#orientation) | [TRotationBy90](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TRotationBy90.md) | get; set | This property determines the orientation of the component on the schematic sheet in increments of 0,90,180 and 270 degrees only. |
| [OrientationWithoutRotating](#orientationwithoutrotating) | [TRotationBy90](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TRotationBy90.md) | set |  |
| [OverideColors](#overidecolors) | `bool` | get; set | The SetState_OverrideColors method sets the local colors for the component. |
| [PartCountNoPart0](#partcountnopart0) | `int` | get; set | A component can consist of more than one part, for example a 74LS00 contains four parts. |
| [PartIdLocked](#partidlocked) | `bool` | get; set |  |
| [PinColor](#pincolor) | `int` | get; set |  |
| [PinsMoveable](#pinsmoveable) | `bool` | get; set |  |
| [RevisionGUID](#revisionguid) | `string` | get; set |  |
| [SchComment](#schcomment) | [ISch_Parameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Parameter.md) | get | The Comment property determines the comment object associated with the component object. |
| [SchDesignator](#schdesignator) | [ISch_Designator](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Designator.md) | get |  |
| [SelectedInLibrary](#selectedinlibrary) | `bool` | get; set |  |
| [SheetPartFileName](#sheetpartfilename) | `string` | get; set |  |
| [ShowHiddenFields](#showhiddenfields) | `bool` | get; set | The `ShowHiddenFields` property determines the visibility of the text fields associated with the component, such as its name. |
| [ShowHiddenPins](#showhiddenpins) | `bool` | get; set | This property determines whether the hidden pins of a component can be hidden or not. |
| [SourceLibraryName](#sourcelibraryname) | `string` | get; set |  |
| [SymbolItemGUID](#symbolitemguid) | `string` | get; set |  |
| [SymbolReference](#symbolreference) | `string` | get; set |  |
| [SymbolRevisionGUID](#symbolrevisionguid) | `string` | get; set |  |
| [SymbolVaultGUID](#symbolvaultguid) | `string` | get; set |  |
| [TargetFileName](#targetfilename) | `string` | get; set |  |
| [UseDBTableName](#usedbtablename) | `bool` | get; set |  |
| [UseLibraryName](#uselibraryname) | `bool` | get; set |  |
| [VariantOption](#variantoption) | [IVariantOption](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IVariantOption.md) | get; set |  |
| [VaultGUID](#vaultguid) | `string` | get; set |  |

### AliasAsText

*No description yet.*

```csharp
string GetState_AliasAsText();
void SetState_AliasAsText(string argValue);
```

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

### AliasAt

The indexed property returns an alias string. A component can have multiple aliases because a component name can be referred to by multiple names. For example a SN7432 is also SN74LS32 or SN74S32.

```csharp
string GetState_AliasAt(int argI);
void SetState_AliasAt(int argI, string argValue);
```

**Type:** `string` · **Access:** read/write · **Index:** `argI` (`int`)

Use the [`AliasCount`](#aliascount) property to obtain the number of aliases before going through one by one.

### AliasCount

*No description yet.*

```csharp
int GetState_AliasCount();
```

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

Use the `AliasCount` to obtain the count before going through each indexed Alias property one by one.

### ComponentDescription

The `ComponentDescription` property determines the description string for this component. Normally this string contains text on what this component is.

```csharp
string GetState_ComponentDescription();
void SetState_ComponentDescription(string argValue);
```

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

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

### ComponentKind

The `ComponentKind` property deteremines the component's type of [`TComponentKind`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TComponentKind.md) type.

```csharp
TComponentKind GetState_ComponentKind();
void SetState_ComponentKind(TComponentKind argValue);
```

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

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

eComponentKind_Standard: These components possess standard electrical properties, are always synchronized and are the type most commonly used on a schematic sheet.

eComponentKind_Mechanical: These components do not have electrical properties and will appear in the BOM. They are synchronized if the same components exist on both the Schematic and PCB documents. An example is a heatsink.

eComponentKind_Graphical: These components are not used during synchronization or checked for electrical errors. These components are used, for example, when adding company logos to documents.

eComponentKind_NetTie_BOM: These components short two or more different nets and these components will appear in the BOM and are maintained during synchronization.

eComponentKind_NetTie_NoBOM: These components short two or more different nets and these components will NOT appear in the BOM and are maintained during synchronization.

eComponentKind_Standard_NoBOM: These components possess standard electrical properties, and are synchronized BUT are not included in any BOM file produced from the file.

### ConfigurationParameters

*No description yet.*

```csharp
string GetState_ConfigurationParameters();
```

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

### ConfiguratorName

*No description yet.*

```csharp
string GetState_ConfiguratorName();
```

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

### CurrentPartID

*No description yet.*

```csharp
int GetState_CurrentPartID();
void SetState_CurrentPartID(int argValue);
```

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

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

### DatabaseLibraryKeys

*No description yet.*

```csharp
string GetState_DatabaseLibraryKeys(string argDelimiter);
```

**Type:** `string` · **Access:** read-only · **Index:** `argDelimiter` (`string`)

### DatabaseLibraryName

*No description yet.*

```csharp
string GetState_DatabaseLibraryName();
```

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

### DatabaseTableName

*No description yet.*

```csharp
string GetState_DatabaseTableName();
void SetState_DatabaseTableName(string argValue);
```

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

### DesignatorLocked

*No description yet.*

```csharp
bool GetState_DesignatorLocked();
void SetState_DesignatorLocked(bool argValue);
```

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

### DesignItemId

*No description yet.*

```csharp
string GetState_DesignItemId();
void SetState_DesignItemId(string argValue);
```

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

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

### DisplayFieldNames

*No description yet.*

```csharp
bool GetState_DisplayFieldNames();
void SetState_DisplayFieldNames(bool argValue);
```

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

### DisplayMode

The `GetState_DisplayMode` method returns the TDisplayMode value for this component. This TDisplayMode is a byte type from RT_Workspace unit.

```csharp
byte GetState_DisplayMode();
void SetState_DisplayMode(byte argValue);
```

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

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

### DisplayModeCount

The property can return up to 255 display modes for the same component. Modes are added or edited in the Schematic Library Editor.

```csharp
int GetState_DisplayModeCount();
```

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

### DisplayModeCount_Check

*No description yet.*

```csharp
void SetState_DisplayModeCount_Check(int argValue);
```

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

### FilePosition

*No description yet.*

```csharp
void SetState_FilePosition(int argValue);
```

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

### IsMirrored

The `IsMirrored` property determines whether the component is mirrored along the x-axis.

```csharp
bool GetState_IsMirrored();
void SetState_IsMirrored(bool argValue);
```

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

### IsUserConfigurable

*No description yet.*

```csharp
bool GetState_IsUserConfigurable();
void SetState_IsUserConfigurable(bool argValue);
```

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

### ItemGUID

*No description yet.*

```csharp
string GetState_ItemGUID();
void SetState_ItemGUID(string argValue);
```

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

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

### LibIdentifierKind

*No description yet.*

```csharp
TLibIdentifierKind GetState_LibIdentifierKind();
```

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

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

### LibraryIdentifier

*No description yet.*

```csharp
string GetState_LibraryIdentifier();
```

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

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

### LibraryPath

*No description yet.*

```csharp
string GetState_LibraryPath();
void SetState_LibraryPath(string argValue);
```

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

### LibReference

*No description yet.*

```csharp
string GetState_LibReference();
void SetState_LibReference(string argValue);
```

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

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

### Orientation

This property determines the orientation of the component on the schematic sheet in increments of 0,90,180 and 270 degrees only.

```csharp
TRotationBy90 GetState_Orientation();
void SetState_Orientation(TRotationBy90 argValue);
```

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

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

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

### OrientationWithoutRotating

*No description yet.*

```csharp
void SetState_OrientationWithoutRotating(TRotationBy90 argValue);
```

**Type:** [TRotationBy90](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TRotationBy90.md) · **Access:** write-only

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

### OverideColors

The SetState_OverrideColors method sets the local colors for the component. This component's fill, line and pin colors are overridden with the colors from the Fill, Lines and Pins color boxes respectively.

```csharp
bool GetState_OverideColors();
void SetState_OverideColors(bool argValue);
```

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

### PartCountNoPart0

A component can consist of more than one part, for example a 74LS00 contains four parts.

```csharp
int GetState_PartCountNoPart0();
void SetState_PartCountNoPart0(int argValue);
```

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

Each component also includes a non-graphical part, Part Zero. Part Zero is used for pins that are to be included in all parts of a multi-part component, for example power pins.

### PartIdLocked

*No description yet.*

```csharp
bool GetState_PartIdLocked();
void SetState_PartIdLocked(bool argValue);
```

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

### PinColor

*No description yet.*

```csharp
int GetState_PinColor();
void SetState_PinColor(int argValue);
```

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

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

### PinsMoveable

*No description yet.*

```csharp
bool GetState_PinsMoveable();
void SetState_PinsMoveable(bool argValue);
```

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

### RevisionGUID

*No description yet.*

```csharp
string GetState_RevisionGUID();
void SetState_RevisionGUID(string argValue);
```

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

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

### SchComment

The Comment property determines the comment object associated with the component object. The Component Properties dialog for this component has a Comment field. The Parameter object has a Name and Value fields and this Name field will normally have 'Comment' string and a Value string.

```csharp
ISch_Parameter GetState_SchComment();
```

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

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

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

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

### SchDesignator

*No description yet.*

```csharp
ISch_Designator GetState_SchDesignator();
```

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

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

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

### SelectedInLibrary

*No description yet.*

```csharp
bool GetState_SelectedInLibrary();
void SetState_SelectedInLibrary(bool argValue);
```

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

### SheetPartFileName

*No description yet.*

```csharp
string GetState_SheetPartFileName();
void SetState_SheetPartFileName(string argValue);
```

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

### ShowHiddenFields

The `ShowHiddenFields` property determines the visibility of the text fields associated with the component, such as its name. If the Value is true, the hidden fields of the component will be displayed on the schematic sheet. If the value is false, the hidden text fields are not shown on the schematic.

```csharp
bool GetState_ShowHiddenFields();
void SetState_ShowHiddenFields(bool argValue);
```

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

### ShowHiddenPins

This property determines whether the hidden pins of a component can be hidden or not. Power pins are often defined as hidden.

```csharp
bool GetState_ShowHiddenPins();
void SetState_ShowHiddenPins(bool argValue);
```

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

### SourceLibraryName

*No description yet.*

```csharp
string GetState_SourceLibraryName();
void SetState_SourceLibraryName(string argValue);
```

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

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

### SymbolItemGUID

*No description yet.*

```csharp
string GetState_SymbolItemGUID();
void SetState_SymbolItemGUID(string argValue);
```

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

### SymbolReference

*No description yet.*

```csharp
string GetState_SymbolReference();
void SetState_SymbolReference(string argValue);
```

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

### SymbolRevisionGUID

*No description yet.*

```csharp
string GetState_SymbolRevisionGUID();
void SetState_SymbolRevisionGUID(string argValue);
```

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

### SymbolVaultGUID

*No description yet.*

```csharp
string GetState_SymbolVaultGUID();
void SetState_SymbolVaultGUID(string argValue);
```

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

### TargetFileName

*No description yet.*

```csharp
string GetState_TargetFileName();
void SetState_TargetFileName(string argValue);
```

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

### UseDBTableName

*No description yet.*

```csharp
bool GetState_UseDBTableName();
void SetState_UseDBTableName(bool argValue);
```

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

### UseLibraryName

*No description yet.*

```csharp
bool GetState_UseLibraryName();
void SetState_UseLibraryName(bool argValue);
```

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

### VariantOption

*No description yet.*

```csharp
IVariantOption GetState_VariantOption();
void SetState_VariantOption(IVariantOption argValue);
```

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

The accessors are extension methods of `ISch_ComponentHelper` (`using SCH;`).

### VaultGUID

*No description yet.*

```csharp
string GetState_VaultGUID();
void SetState_VaultGUID(string argValue);
```

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

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddDisplayMode](#adddisplaymode) | `void` | The `AddDisplayMode` method adds a graphical representation (mode) for the current component. |
| [AddPart](#addpart) | `void` |  |
| [AddSchImplementation](#addschimplementation) | [ISch_Implementation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Implementation.md) | Each schematic component can have models from one or more domains. |
| [AddSchParameter](#addschparameter) | [ISch_Parameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Parameter.md) |  |
| [Alias_Add](#alias_add) | `void` |  |
| [Alias_Clear](#alias_clear) | `void` |  |
| [Alias_Delete](#alias_delete) | `void` |  |
| [Alias_Remove](#alias_remove) | `void` |  |
| [DeleteDisplayMode](#deletedisplaymode) | `void` | This `DeleteDisplayMode` removes a display mode (graphical representation) from the component. |
| [DeletePart](#deletepart) | `void` |  |
| [FullPartDesignator](#fullpartdesignator) | `string` |  |
| [GetGraphicalHash](#getgraphicalhash) | `string` |  |
| [HasConfiguredPinMapping](#hasconfiguredpinmapping) | `bool` |  |
| [InLibrary](#inlibrary) | `bool` |  |
| [InSheet](#insheet) | `bool` |  |
| [IsIntegratedComponent](#isintegratedcomponent) | `bool` |  |
| [IsMultiPartComponent](#ismultipartcomponent) | `bool` |  |
| [OffsetParameters_Default](#offsetparameters_default) | `void` |  |
| [RemoveSchImplementation](#removeschimplementation) | `void` |  |
| [SaveToFile](#savetofile) | `void` |  |
| [SuggestedSearchKeywords](#suggestedsearchkeywords) | `string` |  |
| [UpdatePart_PostProcess](#updatepart_postprocess) | `void` |  |
| [UpdatePart_PreProcess](#updatepart_preprocess) | `void` |  |
| [UpdatePrimitivesAccessibility](#updateprimitivesaccessibility) | `void` |  |
| [ValidateImplementationsCurrentState](#validateimplementationscurrentstate) | `void` |  |

### AddDisplayMode

The `AddDisplayMode` method adds a graphical representation (mode) for the current component. Up to 255 alternative modes can be created.

```csharp
void AddDisplayMode();
```

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

### AddPart

*No description yet.*

```csharp
void AddPart();
```

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

### AddSchImplementation

Each schematic component can have models from one or more domains. A schematic component can also have multiple models per domain, one of which will be the current model for that domain.

```csharp
ISch_Implementation AddSchImplementation();
```

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

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

A model represents all the information needed for a component in a given domain, while a datafile entity (or link) is the only information which is in an external file.

The models of a component are represented by the [`ISch_Implementation`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Implementation.md) interface.

The mapping of pins of a component and the nodes/ports/pads of a model are represented by the [`ISch_MapDefiner`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_MapDefiner.md) interfaces.

The link between a model and its external data file links are represented by the ISch_DataFileLink interfaces.

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

### AddSchParameter

*No description yet.*

```csharp
ISch_Parameter AddSchParameter();
```

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

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

### Alias_Add

*No description yet.*

```csharp
void Alias_Add(string argS);
```

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

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

### Alias_Clear

*No description yet.*

```csharp
void Alias_Clear();
```

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

### Alias_Delete

*No description yet.*

```csharp
void Alias_Delete(int argI);
```

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

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

### Alias_Remove

*No description yet.*

```csharp
void Alias_Remove(string argS);
```

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

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

### DeleteDisplayMode

This `DeleteDisplayMode` removes a display mode (graphical representation) from the component.

```csharp
void DeleteDisplayMode(byte argMode);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argMode` | `byte` | value |

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

### DeletePart

*No description yet.*

```csharp
void DeletePart(int argPartId);
```

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

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

### FullPartDesignator

*No description yet.*

```csharp
string FullPartDesignator(int argPartId);
```

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

**Returns:** `string`

### GetGraphicalHash

*No description yet.*

```csharp
string GetGraphicalHash();
```

**Returns:** `string`

### HasConfiguredPinMapping

*No description yet.*

```csharp
bool HasConfiguredPinMapping();
```

**Returns:** `bool`

### InLibrary

*No description yet.*

```csharp
bool InLibrary();
```

**Returns:** `bool`

### InSheet

*No description yet.*

```csharp
bool InSheet();
```

**Returns:** `bool`

### IsIntegratedComponent

*No description yet.*

```csharp
bool IsIntegratedComponent();
```

**Returns:** `bool`

### IsMultiPartComponent

*No description yet.*

```csharp
bool IsMultiPartComponent();
```

**Returns:** `bool`

### OffsetParameters_Default

*No description yet.*

```csharp
void OffsetParameters_Default();
```

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

### RemoveSchImplementation

*No description yet.*

```csharp
void RemoveSchImplementation(ISch_Implementation argnImplementation);
void RemoveSchImplementation(object argnImplementation);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argnImplementation` | [ISch_Implementation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Implementation.md) | value |

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

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

### SaveToFile

*No description yet.*

```csharp
void SaveToFile(string argVFSAddress);
```

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

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

### SuggestedSearchKeywords

*No description yet.*

```csharp
string SuggestedSearchKeywords();
```

**Returns:** `string`

### UpdatePart_PostProcess

*No description yet.*

```csharp
void UpdatePart_PostProcess();
```

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

### UpdatePart_PreProcess

*No description yet.*

```csharp
void UpdatePart_PreProcess();
```

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

### UpdatePrimitivesAccessibility

*No description yet.*

```csharp
void UpdatePrimitivesAccessibility();
```

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

### ValidateImplementationsCurrentState

*No description yet.*

```csharp
void ValidateImplementationsCurrentState();
```

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

## Inherited members

- From [ISch_ParametrizedGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ParametrizedGroup.md): [Import_FromUser_Parameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ParametrizedGroup.md#import_fromuser_parameters), [ResetAllSchParametersPosition](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ParametrizedGroup.md#resetallschparametersposition)
- From [ISch_GraphicalObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md): [AddErrorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#adderrorstring), [AreaColor](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#areacolor), [BoundingRectangle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#boundingrectangle), [BoundingRectangle_Full](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#boundingrectangle_full), [Color](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#color), [CompilationMasked](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#compilationmasked), [Dimmed](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#dimmed), [Disabled](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#disabled), [DisplayError](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#displayerror), [EnableDraw](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#enabledraw), [ErrorColor](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#errorcolor), [ErrorKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#errorkind), [ErrorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#errorstring), [GetHash](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#gethash), [GraphicallyInvalidate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#graphicallyinvalidate), [LiveHighlightValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#livehighlightvalue), [Location](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#location), [Mirror](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#mirror), [MoveByXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#movebyxy), [MoveToXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#movetoxy), [OwnerPartDisplayMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#ownerpartdisplaymode), [OwnerPartId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#ownerpartid), [ResetErrorFields](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#reseterrorfields), [RotateBy90](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#rotateby90), [Selection](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#selection), [SetState_xSizeySize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_GraphicalObject.md#setstate_xsizeysize)
- From [ISch_BasicContainer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md): [AddAndPositionSchObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#addandpositionschobject), [AddSchObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#addschobject), [CopyTo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#copyto), [DeleteAll](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#deleteall), [DescriptionString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#descriptionstring), [ExportToParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#exporttoparameters), [FreeAllContainedObjects](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#freeallcontainedobjects), [Handle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#handle), [IdentifierString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#identifierstring), [Import_FromUser](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#import_fromuser), [ObjectId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#objectid), [OwnerSchDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#ownerschdocument), [RemoveSchObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#removeschobject), [Replicate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#replicate), [SchBasicContainer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#schbasiccontainer), [SchIterator_Create](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#schiterator_create), [SchIterator_Destroy](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#schiterator_destroy), [SchParameterByName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#schparameterbyname), [Setstate_Default](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#setstate_default), [Text](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#text), [UniqueId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#uniqueid), [WiringDiagramOriginUniqueId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_BasicContainer.md#wiringdiagramoriginuniqueid)

## Returned by

[ISch_Lib.Current_SchComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Lib.md#current_schcomponent), [ISch_Lib.SchComponentByLibRef](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Lib.md#schcomponentbylibref), [ISch_Pin.OwnerSchComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Pin.md#ownerschcomponent), [ISch_ServerInterface.LoadComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ServerInterface.md#loadcomponent), [ISch_ServerInterface.LoadComponentFromDatabaseLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ServerInterface.md#loadcomponentfromdatabaselibrary), [ISch_ServerInterface.LoadComponentFromLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ServerInterface.md#loadcomponentfromlibrary)

## Accepted by

[IEmbeddedMemoryManager.ConfigureComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemoryManager.md#configurecomponent), [IEmbeddedMemoryManager.ConfigureEmbeddedProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemoryManager.md#configureembeddedproject), [IEmbeddedMemoryManager.UpdateComponentBuses](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemoryManager.md#updatecomponentbuses), [IComponentConfigurator.ConfigureComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#configurecomponent), [IComponentConfigurator.ConfigureComponentParametrically](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#configurecomponentparametrically), [IComponentConfigurator.GenerateReport](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#generatereport), [IComponentConfigurator.GetConfigurationValues](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#getconfigurationvalues), [IComponentConfigurator.GetParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#getparameters), [IComponentConfigurator.IsChildCoreUsed](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#ischildcoreused), [IComponentConfigurator.SetConfigurationParametersToDefault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#setconfigurationparameterstodefault), [IComponentConfigurator.UpdateSymbol](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentConfigurator.md#updatesymbol), [IComponentPainterView.SetComponentByHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IComponentPainterView.md#setcomponentbyhandle), [IModelEditor.DrawModel_FromSchImpl](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelEditor.md#drawmodel_fromschimpl), [IModelEditor.EditModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelEditor.md#editmodel), [IModelEditor.EditModelMap](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelEditor.md#editmodelmap), [IModelEditor.SetDefaultModelState](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelEditor.md#setdefaultmodelstate), [IModelEditor3.EditModel_ReadOnly](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelEditor3.md#editmodel_readonly), [IModelEditor4.InitModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IModelEditor4.md#initmodel), [IOpenBusComponentConfigurator.AutoUpdateConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IOpenBusComponentConfigurator.md#autoupdateconfiguration), [IPartSearchManager.EditSupplierLinks](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPartSearchManager.md#editsupplierlinks), [ISch_CustomConnector.SetCustomMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_CustomConnector.md#setcustommode), [ISch_Lib.AddSchComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Lib.md#addschcomponent), [ISch_Lib.RemoveSchComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_Lib.md#removeschcomponent), [ISch_ServerInterface.PaintLoadedComponentThumbnail](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISch_ServerInterface.md#paintloadedcomponentthumbnail), [ISimModelMetafilePainter.SetSimImpl](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISimModelMetafilePainter.md#setsimimpl), [ISupplierManager.CreateSupplierLinksFrame](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISupplierManager.md#createsupplierlinksframe), [ISupplierManager.EditSupplierLinks](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISupplierManager.md#editsupplierlinks)

## Examples

Used in the SDK examples: [Ciiva](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Ciiva/Source%20Code/CiivaBOMDocument.cs#L91), [Extension_CreateSchComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateSchComponent/Source%20Code/Commands.cs#L36), [Extension_RemoveSchLibComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_RemoveSchLibComponent/Source%20Code/Commands.cs#L39).
