    

 ## On this page

  

 

 # Class GlueAPI

 Last update: 16.07.2025 

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

This class implements APIs for  and class.

```csharp
public static class GlueAPI

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [GlueAPI](VM.API.Pre.EasyFlex.GlueAPI.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

### CreateTieWithColor(SubSystemDocument, Obj, IEnumerable&lt;Color&gt;, Obj, IEnumerable&lt;Color&gt;, string, SymmetricType)

```csharp
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "baseBody", "actionBody" })]
[MatchTypeObj(new object[] { "baseBody", typeof(SolidBody), "actionBody", typeof(SolidBody) })]
public static Obj CreateTieWithColor(this SubSystemDocument document, Obj baseBody, IEnumerable<Color> baseColors, Obj actionBody, IEnumerable<Color> actionColors, string tieName = "", SymmetricType symmetricType = SymmetricType.None)

```

#### Parameters

`document` SubSystemDocument

`baseBody` Obj

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

`actionBody` Obj

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

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

`symmetricType` SymmetricType

#### Returns

Obj

### CreateTieWithColor(PartDocument, Obj, IEnumerable&lt;Color&gt;, Obj, IEnumerable&lt;Color&gt;, string, SymmetricType)

```csharp
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "baseBody", "actionBody" })]
public static Obj CreateTieWithColor(this PartDocument document, Obj baseBody, IEnumerable<Color> baseColors, Obj actionBody, IEnumerable<Color> actionColors, string tieName = "", SymmetricType symmetricType = SymmetricType.None)

```

#### Parameters

`document` PartDocument

`baseBody` Obj

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

`actionBody` Obj

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

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

`symmetricType` SymmetricType

#### Returns

Obj

### CreateTieWithFaces(IDocument, IEnumerable&lt;Obj&gt;, IEnumerable&lt;Obj&gt;, string, SymmetricType)

Create  with faces.

```csharp
[NotNull(new string[] { "document", "baseFaces", "actionFaces" })]
public static Obj CreateTieWithFaces(this IDocument document, IEnumerable<Obj> baseFaces, IEnumerable<Obj> actionFaces, string tieName = "", SymmetricType symmetricType = SymmetricType.None)

```

#### Parameters

`document` IDocument

The document to create the tie.

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

The base faces

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

The action faces

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

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

`symmetricType` SymmetricType

The symmetric type

#### 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' or 'baseContactable' or 'actionContactable' arguments are empty.

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

Will be thrown if the type of 'document' is not SubSystemDocument and PartDocument.

### CreateTieWithFaceset(IDocument, Obj, Obj, string, SymmetricType)

```csharp
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "baseGeometry", "actionGeometry" })]
[MatchTypeObj(new object[] { "baseGeometry", typeof(IContactableRigid3D), "actionGeometry", typeof(IContactableRigid3D) })]
public static Obj CreateTieWithFaceset(this IDocument document, Obj baseGeometry, Obj actionGeometry, string tieName = "", SymmetricType symmetricType = SymmetricType.None)

```

#### Parameters

`document` IDocument

`baseGeometry` Obj

`actionGeometry` Obj

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

`symmetricType` SymmetricType

#### Returns

Obj

### CreateWeld(IDocument, Obj, Obj, Vector, Vector, Vector?, string, ExpressionValueVariable?, ExpressionValueVariable?, Obj?, Color?)

Create  with two points.

```csharp
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "baseBody", "actionBody" })]
[MatchTypeObj(new object[] { "material", typeof(ISO) })]
public static Obj CreateWeld(this IDocument document, Obj baseBody, Obj actionBody, Vector startPoint, Vector endPoint, Vector? tangentialDirection = null, string name = "", ExpressionValueVariable? number = null, ExpressionValueVariable? halfLength = null, Obj? material = null, Color? color = null)

```

#### Parameters

`document` IDocument

The  to create the weld in mesh free.

`baseBody` Obj

The base body of the weld in mesh free.

`actionBody` Obj

The action body of the weld in mesh free.

`startPoint` Vector

The start point of the weld in mesh free.

`endPoint` Vector

The end point of the weld in mesh free.

`tangentialDirection` Vector?

The tangential direction of the weld in mesh free.

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

The name of the weld in mesh free.

`number` ExpressionValueVariable?

The num of element of the weld in mesh free.

`halfLength` ExpressionValueVariable?

The half length of element of the weld in mesh free.

`material` Obj?

The material of the weld in mesh free. This type should be .

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

The color of the weld in mesh free.

#### Returns

Obj

the new  object created by this API.

#### Exceptions

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

Will be thrown if 'document', 'baseBody', 'actionBody' argument is null.

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

Will be thrown if the magnitude of 'tangentialDirection' is 0 and if the type of 'material' is not 'ISO'.

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

Will be thrown if 'document' is not  and .

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

Will be thrown if 'baseBody', 'actionBody' is not  and  or if 'baseBody' is equal to 'actionBody'.

[ArgumentOutOfRangeException](https://learn.microsoft.com/dotnet/api/system.argumentoutofrangeexception)

Will be thrown if 'number' value is less than 2.

### CreateWeld(IDocument, Obj, Obj, IEnumerable&lt;Vector&gt;, Vector?, string, ExpressionValueVariable?, Obj?, Color?)

Create  with multi points.

```csharp
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "baseBody", "actionBody" })]
[MatchTypeObj(new object[] { "material", typeof(ISO) })]
public static Obj CreateWeld(this IDocument document, Obj baseBody, Obj actionBody, IEnumerable<Vector> positions, Vector? tangentialDirection = null, string name = "", ExpressionValueVariable? halfLength = null, Obj? material = null, Color? color = null)

```

#### Parameters

`document` IDocument

The  to create the weld in mesh free.

`baseBody` Obj

The base body of the weld in mesh free.

`actionBody` Obj

The action body of the weld in mesh free.

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

The positions of the weld in mesh free.

`tangentialDirection` Vector?

The tangential direction of the weld in mesh free.

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

The name of the weld in mesh free.

`halfLength` ExpressionValueVariable?

The half length of element of the weld in mesh free.

`material` Obj?

The material of the weld in mesh free. This type should be .

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

The color of the weld in mesh free.

#### Returns

Obj

the new  object created by this API.

#### Exceptions

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

Will be thrown if 'document', 'baseBody', 'actionBody' argument is null.

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

Will be thrown if the magnitude of 'tangentialDirection' is 0 and if the type of 'material' is not 'ISO'.

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

Will be thrown if 'document' is not  and .

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

Will be thrown if 'baseBody', 'actionBody' is not  and  or if 'baseBody' is equal to 'actionBody'.

### CreateWeld(IDocument, string, Obj, Obj, string, Obj?, Color?)

Create  with file.

```csharp
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "baseBody", "actionBody" })]
[MatchTypeObj(new object[] { "material", typeof(ISO) })]
[ExistFile(new string[] { "filePath" })]
public static Obj CreateWeld(this IDocument document, string filePath, Obj baseBody, Obj actionBody, string name = "", Obj? material = null, Color? color = null)

```

#### Parameters

`document` IDocument

The  to create the weld in mesh free.

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

The file path of the weld in mesh free.

`baseBody` Obj

The base body of the weld in mesh free.

`actionBody` Obj

The action body of the weld in mesh free.

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

The name of the weld in mesh free.

`material` Obj?

The material of the weld in mesh free. This type should be .

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

The color of the weld in mesh free.

#### Returns

Obj

the new  object created by this API.

#### Exceptions

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

Will be thrown if 'document', 'baseBody', 'actionBody' argument is null.

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

Will be thrown if the type of 'material' is not 'ISO'.

[FileNotFoundException](https://learn.microsoft.com/dotnet/api/system.io.filenotfoundexception)

Will be thrown if 'filePath' files are not exist.

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

Will be thrown if 'document' is not  and .

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

Will be thrown if 'baseBody', 'actionBody' is not  and  or if 'baseBody' is equal to 'actionBody'.