    

 ## On this page

  

 

 # Class BooleanAPI

 Last update: 09.03.2026 

<a id="VM_API_Pre_BooleanAPI"></a>

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

This class implements APIs for boolean.

```csharp
public static class BooleanAPI

```

#### Inheritance

object ← [BooleanAPI](VM.API.Pre.BooleanAPI.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_BooleanAPI_CheckClashOperation_VM_Managed_Document3D_VM_Managed_CAD_Body_VM_Managed_CAD_Body_"></a> CheckClashOperation(Document3D, Body, Body)

Check a clash of bodies.

```csharp
public static bool CheckClashOperation(Document3D document, Body target, Body tool)

```

#### Parameters

`document` Document3D

The  to check a clash of bodies.

`target` Body

The target of a body.

`tool` Body

The tool of a body.

#### Returns

bool

the object seleted by this API.

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

```csharp
[NotNull(new string[] { "document", "toolBodies" })]
[NotNullObj(new string[] { "targetBody" })]
public static void IntersectBody(this IDocument document, Obj targetBody, IEnumerable<Obj> toolBodies, bool reserveToolBody = false)

```

#### Parameters

`document` IDocument

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

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

`reserveToolBody` bool

### <a id="VM_API_Pre_BooleanAPI_SubtractBody_VM_Models_Pre_IDocument_VM_API_Pre_Obj_VM_API_Pre_Obj_System_Boolean_"></a> SubtractBody(IDocument, Obj, Obj, bool)

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

```

#### Parameters

`document` IDocument

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

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

`reserveToolBody` bool

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

```csharp
[NotNull(new string[] { "document", "toolBodies" })]
[NotNullObj(new string[] { "targetBody" })]
public static void UniteBody(this IDocument document, Obj targetBody, IEnumerable<Obj> toolBodies, bool reserveToolBody = false)

```

#### Parameters

`document` IDocument

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

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

`reserveToolBody` bool