    

 ## On this page

  

 

 # Class ObjectControlAPI

 Last update: 09.03.2026 

<a id="VM_API_Pre_ObjectControlAPI"></a>

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

This class implements APIs for object control.

```csharp
public static class ObjectControlAPI

```

#### Inheritance

object ← [ObjectControlAPI](VM.API.Pre.ObjectControlAPI.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_ObjectControlAPI_RotateObjectsDegree_System_Collections_Generic_IEnumerable_VM_API_Pre_Obj__VM_Vector_VM_Vector_System_Double_"></a> RotateObjectsDegree(IEnumerable&lt;Obj&gt;, Vector, Vector, double)

Rotate given  by using rotation axis and angle(degree).

```csharp
[NotNull(new string[] { "objs" })]
[NotZeroMagnitude(new string[] { "direction" })]
public static void RotateObjectsDegree(IEnumerable<Obj> objs, Vector position, Vector direction, double rotateAngleDegree)

```

#### Parameters

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

The collection of  to rotate.

`position` Vector

The position of the axis.

`direction` Vector

The direction vetor of the rotation axis.

`rotateAngleDegree` double

The rotation angle.

#### Exceptions

ArgumentNullException

Will be thrown when the collection of objects is null.

ArgumentException

Will be thrown if the magnitude of 'direction' is 0.

### <a id="VM_API_Pre_ObjectControlAPI_TransformObjects_System_Collections_Generic_IEnumerable_VM_API_Pre_Obj__VM_TMatrix_"></a> TransformObjects(IEnumerable&lt;Obj&gt;, TMatrix)

Transform given  by using .

```csharp
[NotNull(new string[] { "objs" })]
public static void TransformObjects(IEnumerable<Obj> objs, TMatrix transform)

```

#### Parameters

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

The collection of  to transform.

`transform` TMatrix

The

#### Exceptions

ArgumentNullException

Will be thrown when the collection of objects is null.