    

 ## On this page

  

 

 # Class SplitAPI

 Last update: 09.03.2026 

<a id="VM_API_Pre_SplitAPI"></a>

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

This class implements APIs for split.

```csharp
public static class SplitAPI

```

#### Inheritance

object ← [SplitAPI](VM.API.Pre.SplitAPI.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

### <a id="VM_API_Pre_SplitAPI_SplitFaceWithCirclePlane_VM_Models_Pre_IDocument_System_Collections_Generic_IEnumerable_VM_API_Pre_Obj__VM_Vector_VM_Vector_System_Nullable_VM_Models_Pre_ExpressionValueVariable__"></a> SplitFaceWithCirclePlane(IDocument, IEnumerable&lt;Obj&gt;, Vector, Vector, ExpressionValueVariable?)

Split a face with circle plane.

```csharp
[NotNull(new string[] { "document", "targetFaces" })]
public static void SplitFaceWithCirclePlane(this IDocument document, IEnumerable<Obj> targetFaces, Vector point, Vector direction, ExpressionValueVariable? radius = null)

```

#### Parameters

`document` IDocument

The  to split a face with circle plane.

`targetFaces` IEnumerable&lt;[Obj](VM.API.Pre.Obj.md)&gt;

The target faces of a face with circle plane.

`point` Vector

The point of a face with circle plane.

`direction` Vector

The direction of a face with circle plane.

`radius` [ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)?

The radius of a face with circle plane.

#### Exceptions

ArgumentNullException

Will be thrown if 'document', 'targetFaces' argument is null.

ArgumentException

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

ArgumentException

Will be thrown if the type of 'targetFaces' is not .

ArgumentException

Will be thrown if the 'radius' value is equal to or less than 0.

### <a id="VM_API_Pre_SplitAPI_SplitFaceWithImprintFaceAndBody_VM_Models_Pre_IDocument_System_Collections_Generic_IEnumerable_VM_API_Pre_Obj__VM_API_Pre_Obj_System_Boolean_"></a> SplitFaceWithImprintFaceAndBody(IDocument, IEnumerable&lt;Obj&gt;, Obj, bool)

Split a face with Imprint.

```csharp
[NotNull(new string[] { "document", "targetFaces" })]
[NotNullObj(new string[] { "toolBody" })]
public static void SplitFaceWithImprintFaceAndBody(this IDocument document, IEnumerable<Obj> targetFaces, Obj toolBody, bool parametric = true)

```

#### Parameters

`document` IDocument

The  to split a face with imprint using face and body.

`targetFaces` IEnumerable&lt;[Obj](VM.API.Pre.Obj.md)&gt;

The target faces of a face with imprint.

`toolBody` [Obj](VM.API.Pre.Obj.md)

The tool body of a face with imprint.

`parametric` bool

The flag of parametric of a face with imprint.

#### Exceptions

ArgumentNullException

Will be thrown if 'document', 'targetFaces', 'toolBody' argument is null.

ArgumentException

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

ArgumentException

Will be thrown if the type of 'targetFaces' is not .

ArgumentException

Will be thrown if the type of 'toolBody' is not  and .

### <a id="VM_API_Pre_SplitAPI_SplitFaceWithImprintTwoBodies_VM_Models_Pre_IDocument_VM_API_Pre_Obj_VM_API_Pre_Obj_System_Boolean_"></a> SplitFaceWithImprintTwoBodies(IDocument, Obj, Obj, bool)

Split a face with Imprint.

```csharp
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "targetBody", "toolBody" })]
public static void SplitFaceWithImprintTwoBodies(this IDocument document, Obj targetBody, Obj toolBody, bool parametric = true)

```

#### Parameters

`document` IDocument

The  to split a face with imprint using two bodies.

`targetBody` [Obj](VM.API.Pre.Obj.md)

The target body of a face with imprint.

`toolBody` [Obj](VM.API.Pre.Obj.md)

The tool body of a face with imprint.

`parametric` bool

The flag of parametric of a face with imprint.

#### Exceptions

ArgumentNullException

Will be thrown if 'document', 'targetBody', 'toolBody' argument is null.

ArgumentException

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

ArgumentException

Will be thrown if the type of 'targetBody', 'toolBody' is not  and .

ArgumentException

Will be thrown if the 'toolBody' is equal to the 'targetBody'.

### <a id="VM_API_Pre_SplitAPI_SplitFaceWithImprintTwoFaces_VM_Models_Pre_IDocument_System_Collections_Generic_IEnumerable_VM_API_Pre_Obj__System_Collections_Generic_IEnumerable_VM_API_Pre_Obj__System_Boolean_"></a> SplitFaceWithImprintTwoFaces(IDocument, IEnumerable&lt;Obj&gt;, IEnumerable&lt;Obj&gt;, bool)

Split a face with Imprint.

```csharp
[NotNull(new string[] { "document", "targetFaces", "toolFaces" })]
public static void SplitFaceWithImprintTwoFaces(this IDocument document, IEnumerable<Obj> targetFaces, IEnumerable<Obj> toolFaces, bool parametric = true)

```

#### Parameters

`document` IDocument

The  to split a face with imprint using two faces.

`targetFaces` IEnumerable&lt;[Obj](VM.API.Pre.Obj.md)&gt;

The target faces of a face with imprint.

`toolFaces` IEnumerable&lt;[Obj](VM.API.Pre.Obj.md)&gt;

The tool faces of a face with imprint.

`parametric` bool

The flag of parametric of a face with imprint.

#### Exceptions

ArgumentNullException

Will be thrown if 'document', 'targetFaces', 'toolFaces' argument is null.

ArgumentException

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

ArgumentException

Will be thrown if the type of 'targetFaces', 'toolFaces' is not .

### <a id="VM_API_Pre_SplitAPI_SplitFaceWithRectanglePlane_VM_Models_Pre_IDocument_System_Collections_Generic_IEnumerable_VM_API_Pre_Obj__VM_Vector_VM_TMatrix_System_Nullable_VM_Models_Pre_ExpressionValueVariable__System_Nullable_VM_Models_Pre_ExpressionValueVariable__"></a> SplitFaceWithRectanglePlane(IDocument, IEnumerable&lt;Obj&gt;, Vector, TMatrix, ExpressionValueVariable?, ExpressionValueVariable?)

Split a face with rectangle plane.

```csharp
[NotNull(new string[] { "document", "targetFaces" })]
public static void SplitFaceWithRectanglePlane(this IDocument document, IEnumerable<Obj> targetFaces, Vector point, TMatrix transform, ExpressionValueVariable? width = null, ExpressionValueVariable? height = null)

```

#### Parameters

`document` IDocument

The  to split a face with rectangle plane.

`targetFaces` IEnumerable&lt;[Obj](VM.API.Pre.Obj.md)&gt;

The target faces of a face with rectangle plane.

`point` Vector

The point of a face with rectangle plane.

`transform` TMatrix

The transform of a face with rectangle plane.

`width` [ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)?

The width of a face with rectangle plane.

`height` [ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)?

The height of a face with rectangle plane.

#### Exceptions

ArgumentNullException

Will be thrown if 'document', 'targetFaces' argument is null.

ArgumentException

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

ArgumentException

Will be thrown if the type of 'targetFaces' is not .

ArgumentException

Will be thrown if the magnitude of transform X, Y, Z values is equal to 0.

ArgumentException

Will be thrown if 'width', 'height' values are equal to or less than 0.