    

 ## On this page

  

 

 # Class BooleanAPI

 Last update: 16.07.2025 

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](https://learn.microsoft.com/dotnet/api/system.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

### 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](https://learn.microsoft.com/dotnet/api/system.boolean)

the object seleted by this API.

### 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](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[Obj](VM.API.Pre.Obj.md)&gt;

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

### 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](https://learn.microsoft.com/dotnet/api/system.boolean)

### 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](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[Obj](VM.API.Pre.Obj.md)&gt;

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