    

 ## On this page

  

 

 # Class TrackedSystemAPI

 Last update: 16.07.2025 

Namespace: [VM.API.Pre.Links](VM.API.Pre.Links.md)  
Assembly: VM.API.Pre.Links.dll

This class implements APIs for chained system.

```csharp
public static class TrackedSystemAPI

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [TrackedSystemAPI](VM.API.Pre.Links.TrackedSystemAPI.md)

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Methods

### AddPathObjectToDocument(Obj, IEnumerable&lt;Obj&gt;, IEnumerable&lt;Document3D&gt;)

Add path to active document.

```csharp
[NotNullObj(new string[] { "trackPlacing" })]
[MatchTypeObj(new object[] { "trackPlacing", typeof(TrackPlacing) })]
[NotNull(new string[] { "paths", "pathDocuments" })]
public static IEnumerable<Obj> AddPathObjectToDocument(this Obj trackPlacing, IEnumerable<Obj> paths, IEnumerable<Document3D> pathDocuments)

```

#### Parameters

`trackPlacing` Obj

The track placing to add object.

`paths` [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;Obj&gt;

The paths.

`pathDocuments` [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;Document3D&gt;

The path data documents.

#### Returns

[IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;Obj&gt;

The new path list

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'trackPlacing' arguments are empty.

[ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Will be thrown if type of 'trackPlacing' is not .

[ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Will be thrown if 'paths', 'pathDocuments' arguments are empty.

[ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Will be thrown if length of 'paths' and length of 'pathDocuments' are not equal.

### CreateDouble(DocumentChainedSegment, string, Color?, bool)

Create double shoe  with  builder.

```csharp
public static Obj CreateDouble(this DocumentChainedSegment document, string bodyName = "", Color? color = null, bool isInterface = false)

```

#### Parameters

`document` DocumentChainedSegment

The document to create the double shoe solid body.

`bodyName` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of the . If empty, default name starts with 'BD\_' will be generated and used.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

`isInterface` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

'true' if it is interface body. Otherwise, 'false'.

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateDouble(PartDocumentChainedSegment, Color?)

Create double shoe  with  builder in part.

```csharp
public static Obj CreateDouble(this PartDocumentChainedSegment document, Color? color = null)

```

#### Parameters

`document` PartDocumentChainedSegment

The document to create the double shoe body.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateSimple(DocumentChainedSegment, string, Color?, bool)

Create simple link  with  builder.

```csharp
public static Obj CreateSimple(this DocumentChainedSegment document, string bodyName = "", Color? color = null, bool isInterface = false)

```

#### Parameters

`document` DocumentChainedSegment

The document to create the simple link solid body.

`bodyName` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of the . If empty, default name starts with 'BD\_' will be generated and used.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

`isInterface` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

'true' if it is interface body. Otherwise, 'false'.

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateSimple(PartDocumentChainedSegment, Color?)

Create simple link  with  builder in part.

```csharp
public static Obj CreateSimple(this PartDocumentChainedSegment document, Color? color = null)

```

#### Parameters

`document` PartDocumentChainedSegment

The document to create the simple link body.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateSingle(DocumentChainedSegment, string, Color?, bool)

Create single shoe  with  builder.

```csharp
public static Obj CreateSingle(this DocumentChainedSegment document, string bodyName = "", Color? color = null, bool isInterface = false)

```

#### Parameters

`document` DocumentChainedSegment

The document to create the single shoe solid body.

`bodyName` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of the . If empty, default name starts with 'BD\_' will be generated and used.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

`isInterface` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

'true' if it is interface body. Otherwise, 'false'.

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateSingle(PartDocumentChainedSegment, Color?)

Create single shoe  with  builder in part.

```csharp
public static Obj CreateSingle(this PartDocumentChainedSegment document, Color? color = null)

```

#### Parameters

`document` PartDocumentChainedSegment

The document to create the single shoe body.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateTrackedSystem(SubSystemDocument, string)

Create tracked system .

```csharp
[NotNull(new string[] { "document" })]
public static Obj CreateTrackedSystem(this SubSystemDocument document, string name = "")

```

#### Parameters

`document` SubSystemDocument

The document to create the tracked system.

`name` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of the . If empty, default name starts with 'TPlacing\_' will be generated and used.

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateTriple(DocumentChainedSegment, string, Color?, bool)

Create triple shoe  with  builder.

```csharp
public static Obj CreateTriple(this DocumentChainedSegment document, string bodyName = "", Color? color = null, bool isInterface = false)

```

#### Parameters

`document` DocumentChainedSegment

The document to create the triple shoe solid body.

`bodyName` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of the . If empty, default name starts with 'BD\_' will be generated and used.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

`isInterface` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

'true' if it is interface body. Otherwise, 'false'.

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateTriple(PartDocumentChainedSegment, Color?)

Create triple shoe  with  builder in part.

```csharp
public static Obj CreateTriple(this PartDocumentChainedSegment document, Color? color = null)

```

#### Parameters

`document` PartDocumentChainedSegment

The document to create the triple shoe body.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateUserDefined(DocumentChainedSegment, string, Color?, bool)

Create user-defined shoe  with  builder.

```csharp
public static Obj CreateUserDefined(this DocumentChainedSegment document, string bodyName = "", Color? color = null, bool isInterface = false)

```

#### Parameters

`document` DocumentChainedSegment

The document to create the user-defined shoe solid body.

`bodyName` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of the . If empty, default name starts with 'BD\_' will be generated and used.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

`isInterface` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

'true' if it is interface body. Otherwise, 'false'.

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateUserDefined(PartDocumentChainedSegment, Color?)

Create user-defined shoe  with  builder in part.

```csharp
public static Obj CreateUserDefined(this PartDocumentChainedSegment document, Color? color = null)

```

#### Parameters

`document` PartDocumentChainedSegment

The document to create the user-defined shoe body.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateVType(DocumentChainedSegment, string, Color?, bool)

Create V-type link  with  builder.

```csharp
public static Obj CreateVType(this DocumentChainedSegment document, string bodyName = "", Color? color = null, bool isInterface = false)

```

#### Parameters

`document` DocumentChainedSegment

The document to create the V-type link solid body.

`bodyName` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of the . If empty, default name starts with 'BD\_' will be generated and used.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

`isInterface` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

'true' if it is interface body. Otherwise, 'false'.

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### CreateVType(PartDocumentChainedSegment, Color?)

Create V-type link  with  builder in part.

```csharp
public static Obj CreateVType(this PartDocumentChainedSegment document, Color? color = null)

```

#### Parameters

`document` PartDocumentChainedSegment

The document to create the V-type link body.

`color` [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)?

The color of the new flat roller geometry. The default value is '0xBFAAAA'

#### Returns

Obj

The new  object that is created by this API.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'document' is null.

### ReplaceDesignPosition(Obj, Obj, ExpressionValueVariable, TMatrix)

Replace design position.

```csharp
[NotNullObj(new string[] { "segmentBody", "designPoint" })]
[MatchTypeObj(new object[] { "designPoint", typeof(DesignPoint) })]
public static void ReplaceDesignPosition(this Obj segmentBody, Obj designPoint, ExpressionValueVariable value, TMatrix matT)

```

#### Parameters

`segmentBody` Obj

The segment body.

`designPoint` Obj

The design point to be replaced.

`value` ExpressionValueVariable

The value to be replaced with axis.

`matT` TMatrix

The transformation to be replaced.

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'segmentBody','designPoint' arguments are empty.

[ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Will be thrown if type of 'segmentBody' is not  or  or  or .

[ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Will be thrown if type of 'designPoint' is not .

### RestorePathToOriginPositionAndOrientation(Obj, IEnumerable&lt;Obj&gt;, IEnumerable&lt;TMatrix&gt;)

```csharp
[NotNullObj(new string[] { "trackPlacing" })]
[MatchTypeObj(new object[] { "trackPlacing", typeof(TrackPlacing) })]
[NotNull(new string[] { "paths", "transforms" })]
public static void RestorePathToOriginPositionAndOrientation(this Obj trackPlacing, IEnumerable<Obj> paths, IEnumerable<TMatrix> transforms)

```

#### Parameters

`trackPlacing` Obj

`paths` [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;Obj&gt;

`transforms` [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;TMatrix&gt;