    

 ## On this page

  

 

 # Class RackBuilder

 Last update: 09.03.2026 

<a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder"></a>

Namespace: [VM.Managed.DAFUL.GearTrain.CAD](VM.Managed.DAFUL.GearTrain.CAD.md)  
Assembly: VMDGearTrain.dll

The rack builder

```csharp
public class RackBuilder : BuilderColorGeom, IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IHasReplaceableEntity, IGeometryBuilder, IGearBuilder, IGTBuilder

```

#### Inheritance

object ← ObservableObject ← [LinkableBase](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/LinkableBase.cs) ← ObjectBase ← Object&lt;ObjectEventCore&gt; ← Builder ← BuilderTransform ← BuilderColorGeom ← [RackBuilder](VM.Managed.DAFUL.GearTrain.CAD.RackBuilder.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, [IHistoryObjectSerializable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMHist/Interfaces.cs), IAttributeContainer, IHasReplaceableEntity, [IGeometryBuilder](VM.Managed.DAFUL.GearTrain.CAD.IGeometryBuilder.md), [IGearBuilder](VM.Managed.DAFUL.GearTrain.CAD.IGearBuilder.md), [IGTBuilder](VM.Managed.DAFUL.GearTrain.CAD.IGTBuilder.md)

#### Inherited Members

BuilderColorGeom.m\_color, BuilderColorGeom.CheckValidationAboutBuild(), BuilderColorGeom.OnDeserialization(object), BuilderColorGeom.FillParameter(BuilderParamBase), BuilderColorGeom.Color, BuilderColorGeom.DrawingColor, BuilderTransform.SetTransform(TMatrix), BuilderTransform.IsParameterized, Builder.CheckValidationAboutBuild(), Builder.CheckCircularReference(ObjectBase), Builder.ChangeDataForCircularReference(), Builder.GetUnnamedObjectName(object), Builder.FindLocal(string), Builder.CopyFilePathWhenImportBuilder(Builder), Builder.Contains(Type), Builder.GetBodyType(), Builder.ReplaceData(string, object), Builder.GetNameAttribute(string, ref List&lt;string&gt;), Builder.AddUneditableAttribute(), Builder.GetParentBody(), Builder.Clone(), Builder.Initialize(Unit.ConvertFactor), Builder.OnDeserialization(object), Builder.CreateParameter(), Builder.FillParameter(BuilderParamBase), Builder.LinkRequestUpdate(object, LinkEventArgs), Builder.PostWorkWhenFailedToGetXmlString(), Builder.GetFilledParameter(), Builder.GetXmlString(), Builder.HasReplaceableEntity(IObjectBase), Builder.ReplaceEntity(IObjectBase, IObjectBase), Builder.GetFactorForLength(), Builder.CheckCircularReferenceForPoint(PointBase, ObjectBase), Builder.CheckCircularReferenceForDirection(DirectionBase, ObjectBase), Builder.CheckCircularReferenceForOrientation(OrientationBase, ObjectBase), Builder.CheckCircularReferenceForTransform(TransformBase, ObjectBase), Builder.GetUnitScale(), Builder.InitialKernelLengthUnit, Builder.IsExternable, Builder.Uneditable, Builder.TypeOfBuilder, Builder.Transparency, Object&lt;ObjectEventCore&gt;.GetKey(), Object&lt;ObjectEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;ObjectEventCore&gt;.SetIconColor(Canvas), Object&lt;ObjectEventCore&gt;.OnDeserialization(object), Object&lt;ObjectEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;ObjectEventCore&gt;.RollbackEvent(), Object&lt;ObjectEventCore&gt;.OnDeserializedCore(object), Object&lt;ObjectEventCore&gt;.Key, Object&lt;ObjectEventCore&gt;.UntypedEventCore, Object&lt;ObjectEventCore&gt;.EventCore, Object&lt;ObjectEventCore&gt;.Attributes, ObjectBase.ReplaceEventCore(ObjectEventCore), ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType), ObjectBase.AddPostDeserialize(StreamingContext), ObjectBase.LinkAddedToDocumentCore(IOwned, bool), ObjectBase.SetModified(ModifiedResult.ModifiedType), ObjectBase.SetModified(), ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument), ObjectBase.DestroyObject(object, LinkEventArgs), ObjectBase.DestroyObject(DestroyEventArgs), ObjectBase.DestroyObject(), ObjectBase.Initialize(Unit.ConvertFactor), ObjectBase.FixUp(ObjectBase), ObjectBase.DoWorkAfterUpdateContents(), ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), ObjectBase.SetIconColor(Canvas), ObjectBase.RemoveFromCreatedList(), ObjectBase.PostAddToDocument(), ObjectBase.PostRemoveFromDocument(Document), ObjectBase.GetArgumentList(LinkedList&lt;ObjectBase&gt;), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet&lt;ObjectBase&gt;), ObjectBase.Verify(VerifiedResult), ObjectBase.ConnectProxy(), ObjectBase.RollbackEvent(), ObjectBase.LinkRequestUpdating(object, LinkEventArgs), ObjectBase.LinkRequestUpdate(object, LinkEventArgs), ObjectBase.LinkRequestDestroying(object, LinkEventArgs), ObjectBase.LinkRequestDestroy(object, LinkEventArgs), ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs), ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), ObjectBase.DisposeManagedResources(), ObjectBase.GetDestroyEventExtraData(), ObjectBase.OnLinkReserved(ILink, object, EventArgs), ObjectBase.CreateEntityWhenUpdateContents(Action), ObjectBase.GetObjectByKey(UIntPtr), ObjectBase.FindObjectOnXmlDeserialize(string), ObjectBase.UpdateContents(XmlReader, ObjectBase, string), ObjectBase.UpdateContents(XmlReader, ObjectBase), ObjectBase.UpdateContents(string, string), ObjectBase.UpdateContents(string), ObjectBase.SetFlagWhenXMLFile(string, bool), ObjectBase.IsEqualArray&lt;T&gt;(T\[\], T\[\]), ObjectBase.IsEqualList(List&lt;double&gt;, List&lt;double&gt;), ObjectBase.SetContainer(IOwned, bool), ObjectBase.GetTargetListForUpdate(), ObjectBase.SkipUpdateObjectImpl(), ObjectBase.raise\_OnUpdating(object, LinkEventArgs), ObjectBase.raise\_OnUpdate(object, LinkEventArgs), ObjectBase.raise\_OnDestroying(object, LinkEventArgs), ObjectBase.raise\_OnDestroy(object, LinkEventArgs), ObjectBase.raise\_Destroying(object, Identifier), ObjectBase.raise\_OnAdded(object, AddToDocEventArgs), ObjectBase.raise\_OnRemoved(object, RemoveFromDocEventArgs), ObjectBase.raise\_OnContentsUpdated(object, EventArgs), ObjectBase.Dispose(bool), ObjectBase.SkipModified, ObjectBase.ClearChildInfoBeforeDeserialize, ObjectBase.KeyImpl, ObjectBase.ID, ObjectBase.TopologyEntityTypeName, ObjectBase.ObjectStateForCircularError, ObjectBase.ObjectState, ObjectBase.IsChildExternable, ObjectBase.IsExternable, ObjectBase.Container, ObjectBase.Owner, ObjectBase.Document, ObjectBase.UntypedEventCore, ObjectBase.KernelKey, ObjectBase.Key, ObjectBase.OnContentsUpdated, ObjectBase.OnRemoved, ObjectBase.OnAdded, ObjectBase.Destroying, ObjectBase.OnDestroy, ObjectBase.OnDestroying, ObjectBase.OnUpdate, ObjectBase.OnUpdating, [LinkableBase.OnDeserialization(object)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/LinkableBase.cs), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### 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_)

## Constructors

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder__ctor"></a> RackBuilder()

Initializes a new instance of the  class.

```csharp
public RackBuilder()

```

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder__ctor_VM_Managed_DAFUL_GearTrain_CAD_RackSection_"></a> RackBuilder(RackSection)

Initializes a new instance of the  class.

```csharp
public RackBuilder(RackSection rackSection)

```

#### Parameters

`rackSection` [RackSection](VM.Managed.DAFUL.GearTrain.CAD.RackSection.md)

The rack section.

## Properties

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_ConnectableEntity"></a> ConnectableEntity

Gets the ConnectableEntity.

```csharp
public IConnectable ConnectableEntity { get; }

```

#### Property Value

IConnectable

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_GearGeometryInformation"></a> GearGeometryInformation

Gets or sets the gear geometry information.

```csharp
public GearGeometryInfo GearGeometryInformation { get; set; }

```

#### Property Value

[GearGeometryInfo](VM.Managed.DAFUL.GearTrain.GearGeometryInfo.md)

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_InitialAngle"></a> InitialAngle

Gets or sets the Initial angle. Use SetInitAngle() when this instance sets for undo/redo

```csharp
public double InitialAngle { get; set; }

```

#### Property Value

double

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_MateAngle"></a> MateAngle

Gets or sets the mate angle. Use SetMateAngle() when this instance sets for undo/redo

```csharp
public double MateAngle { get; set; }

```

#### Property Value

double

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_Offset"></a> Offset

Gets or sets the offset. Use SetOffset() when this instance sets for undo/redo

```csharp
public double Offset { get; set; }

```

#### Property Value

double

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_OffsetToAxisDirection"></a> OffsetToAxisDirection

Gets the offset to axis direction.

```csharp
public double OffsetToAxisDirection { get; }

```

#### Property Value

double

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_Position"></a> Position

Gets the position.

```csharp
public VectorBase Position { get; }

```

#### Property Value

VectorBase

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_Rotation"></a> Rotation

Gets or sets the rotation. Use SetRotation() when this instance sets for undo/redo

```csharp
public OMatrix Rotation { get; set; }

```

#### Property Value

OMatrix

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_StartAxis"></a> StartAxis

Gets or sets the start axis.

```csharp
public DirectionBase StartAxis { get; set; }

```

#### Property Value

DirectionBase

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_StartPoint"></a> StartPoint

Gets or sets the start point.

```csharp
public PointBase StartPoint { get; set; }

```

#### Property Value

PointBase

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_TypeOfParent"></a> TypeOfParent

Gets or sets the type of parent. Use SetTypeOfParent() when this instance sets for undo/redo

```csharp
public GearBuilder.ParentType TypeOfParent { get; set; }

```

#### Property Value

[GearBuilder](VM.Managed.DAFUL.GearTrain.CAD.GearBuilder.md).[ParentType](VM.Managed.DAFUL.GearTrain.CAD.GearBuilder.ParentType.md)

## Methods

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_CreateParameter"></a> CreateParameter()

```csharp
protected override BuilderParamBase CreateParameter()

```

#### Returns

[BuilderParamBase](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VM.CAD.Builders/VM.CAD.Builders/VMAppCore/BuilderParamBase.cs)

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_FillParameter_VM_CAD_Builders_BuilderParamBase_"></a> FillParameter(BuilderParamBase)

```csharp
protected override void FillParameter(BuilderParamBase parameter)

```

#### Parameters

`parameter` [BuilderParamBase](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VM.CAD.Builders/VM.CAD.Builders/VMAppCore/BuilderParamBase.cs)

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_GetLengthAndHeight_System_Double__System_Double__"></a> GetLengthAndHeight(ref double, ref double)

Gets the height of the length and.

```csharp
public void GetLengthAndHeight(ref double dLength, ref double dHeight)

```

#### Parameters

`dLength` double

Length of the d.

`dHeight` double

Height of the d.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_Initialize_VM_Unit_ConvertFactor_"></a> Initialize(ConvertFactor)

Initializes the specified factor.

```csharp
public override void Initialize(Unit.ConvertFactor factor)

```

#### Parameters

`factor` Unit.ConvertFactor

The factor.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_LinkRequestDestroying_System_Object_VM_Managed_LinkEventArgs_"></a> LinkRequestDestroying(object, LinkEventArgs)

Links the request destroying.

```csharp
protected override void LinkRequestDestroying(object objNotifier, LinkEventArgs arg)

```

#### Parameters

`objNotifier` object

The object notifier.

`arg` LinkEventArgs

The  instance containing the event data.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_SetInitAngle_System_Double_"></a> SetInitAngle(double)

Set init angle.

```csharp
public void SetInitAngle(double dInitAngle)

```

#### Parameters

`dInitAngle` double

The init angle.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_SetMateAngle_System_Double_"></a> SetMateAngle(double)

Set mate angle.

```csharp
public void SetMateAngle(double dMateAngle)

```

#### Parameters

`dMateAngle` double

The mate angle.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_SetOffset_System_Double_"></a> SetOffset(double)

Set offset.

```csharp
public void SetOffset(double dOffset)

```

#### Parameters

`dOffset` double

The offset.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_SetRackSection_VM_Managed_DAFUL_GearTrain_CAD_RackSection_"></a> SetRackSection(RackSection)

Sets the rack section.

```csharp
public void SetRackSection(RackSection rackSection)

```

#### Parameters

`rackSection` [RackSection](VM.Managed.DAFUL.GearTrain.CAD.RackSection.md)

The rack section.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_SetRotation_VM_Managed_OMatrix_"></a> SetRotation(OMatrix)

Set rotation.

```csharp
public void SetRotation(OMatrix mat)

```

#### Parameters

`mat` OMatrix

The matrix.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_SetTypeOfParent_VM_Managed_DAFUL_GearTrain_CAD_GearBuilder_ParentType_"></a> SetTypeOfParent(ParentType)

Set type of parent.

```csharp
public void SetTypeOfParent(GearBuilder.ParentType type)

```

#### Parameters

`type` [GearBuilder](VM.Managed.DAFUL.GearTrain.CAD.GearBuilder.md).[ParentType](VM.Managed.DAFUL.GearTrain.CAD.GearBuilder.ParentType.md)

The type of parent.

### <a id="VM_Managed_DAFUL_GearTrain_CAD_RackBuilder_UpdateRackGeometry"></a> UpdateRackGeometry()

Updates the rack geometry.

```csharp
public void UpdateRackGeometry()

```