    

 ## On this page

  

 

 # Class RSpringDamper

 Last update: 16.07.2025 

Namespace: [VM.Managed.DAFUL.Force](VM.Managed.DAFUL.Force.md)  
Assembly: VMDFB.dll

This class is to represent the rotational spring damper force.

```csharp
public class RSpringDamper : Force<PropertyRSpringDamper>, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IDraw, IDrawIcon, IReferencable, ITransformable, IConnector, IEntityRelation, IGenerable, IArgument, IReportable, IFlip, IEnableForSimulationScenario, ITorqueReferenceForBearing

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;PropertyRSpringDamper&gt; ← Connector&lt;PropertyRSpringDamper&gt; ← [Force&lt;PropertyRSpringDamper&gt;](VM.Managed.DAFUL.Force.Force-1.md) ← [RSpringDamper](VM.Managed.DAFUL.Force.RSpringDamper.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IDraw, IDrawIcon, IReferencable, ITransformable, IConnector, IEntityRelation, IGenerable, IArgument, IReportable, IFlip, IEnableForSimulationScenario, ITorqueReferenceForBearing

#### Inherited Members

[Force&lt;PropertyRSpringDamper&gt;.Initialize(Unit.ConvertFactor)](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_Initialize_VM_Unit_ConvertFactor_), [Force&lt;PropertyRSpringDamper&gt;.WriteMarker(XmlWriter, Marker, string)](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_WriteMarker_System_Xml_XmlWriter_VM_Managed_DAFUL_Marker_System_String_), [Force&lt;PropertyRSpringDamper&gt;.ReadMarker(XmlReader, Marker, string)](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_ReadMarker_System_Xml_XmlReader_VM_Managed_DAFUL_Marker_System_String_), [Force&lt;PropertyRSpringDamper&gt;.UseForSimulationScenario](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_UseForSimulationScenario), Connector&lt;PropertyRSpringDamper&gt;.Initialize(Unit.ConvertFactor), Connector&lt;PropertyRSpringDamper&gt;.GetTargetListForUpdate(), Connector&lt;PropertyRSpringDamper&gt;.Verify(VerifiedResult), Connector&lt;PropertyRSpringDamper&gt;.LinkRequestUpdate(object, LinkEventArgs), Connector&lt;PropertyRSpringDamper&gt;.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), Connector&lt;PropertyRSpringDamper&gt;.Draw(Canvas), Connector&lt;PropertyRSpringDamper&gt;.ReDraw(), Connector&lt;PropertyRSpringDamper&gt;.FindLocal(string), Connector&lt;PropertyRSpringDamper&gt;.Instantiate(Reference, Canvas), Connector&lt;PropertyRSpringDamper&gt;.MakeReference(LinkedList&lt;Reference&gt;), Connector&lt;PropertyRSpringDamper&gt;.MakeReferenceImpl(LinkedList&lt;Reference&gt;), Connector&lt;PropertyRSpringDamper&gt;.GetLayerImpl(), Connector&lt;PropertyRSpringDamper&gt;.SetLayerImpl(Layer), Connector&lt;PropertyRSpringDamper&gt;.SwitchImpl(), Connector&lt;PropertyRSpringDamper&gt;.BaseMarker, Connector&lt;PropertyRSpringDamper&gt;.ActionMarker, Connector&lt;PropertyRSpringDamper&gt;.ConnectorReferenceMarker, Connector&lt;PropertyRSpringDamper&gt;.PreventDuplicatedRBE, Connector&lt;PropertyRSpringDamper&gt;.Generable, Connector&lt;PropertyRSpringDamper&gt;.HasLayerExplicitly, Connector&lt;PropertyRSpringDamper&gt;.Hide, Connector&lt;PropertyRSpringDamper&gt;.Referencable, Connector&lt;PropertyRSpringDamper&gt;.Visible, Connector&lt;PropertyRSpringDamper&gt;.Layer, Connector&lt;PropertyRSpringDamper&gt;.ReferenceType, Connector&lt;PropertyRSpringDamper&gt;.ArgumentType, Connector&lt;PropertyRSpringDamper&gt;.CanWriteToOutFileImpl, Connector&lt;PropertyRSpringDamper&gt;.ReportTypeImpl, Connector&lt;PropertyRSpringDamper&gt;.CanSwitchImpl, Entity&lt;PropertyRSpringDamper&gt;.Initialize(Unit.ConvertFactor), Entity&lt;PropertyRSpringDamper&gt;.GetUnnamedObjectName(object), Entity&lt;PropertyRSpringDamper&gt;.FindLocal(string), Entity&lt;PropertyRSpringDamper&gt;.Property, EntityBase.Initialize(Unit.ConvertFactor), EntityBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), EntityBase.PropertyRequestUpdate(object, LinkEventArgs), EntityBase.OnDeserializationForAttribute(), EntityBase.OnUpdatePropertyImpl(Property, LinkEventArgs), EntityBase.LinkRequestDestroying(object, LinkEventArgs), EntityBase.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), EntityBase.FixUp(ObjectBase), EntityBase.FindLocal(string), EntityBase.WriteTemplateImpl(XmlWriter), EntityBase.ReadTemplateImpl(XmlReader), EntityBase.LinkAddedToDocument(object, AddToDocEventArgs), EntityBase.OnDeserialization(object), EntityBase.Name, EntityBase.FullName, EntityBase.NonSymmetricName, EntityBase.DisplayName, EntityBase.IsEnabled, EntityBase.Comment, EntityBase.HasLayerExplicitly, EntityBase.UntypedProperty, EntityBase.IsFileProperty, EntityBase.Layer, EntityBase.IsVisible, ContainerObject&lt;EntityEventCore&gt;.Find(string), ContainerObject&lt;EntityEventCore&gt;.FindLocal(string), ContainerObject&lt;EntityEventCore&gt;.GetUnnamedObjectName(object), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int, int), Object&lt;EntityEventCore&gt;.GetKey(), Object&lt;EntityEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;EntityEventCore&gt;.SetIconColor(Canvas), Object&lt;EntityEventCore&gt;.OnDeserialization(object), Object&lt;EntityEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;EntityEventCore&gt;.RollbackEvent(), Object&lt;EntityEventCore&gt;.OnDeserializedCore(object), Object&lt;EntityEventCore&gt;.Key, Object&lt;EntityEventCore&gt;.UntypedEventCore, Object&lt;EntityEventCore&gt;.EventCore, Object&lt;EntityEventCore&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), 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

### RSpringDamper()

Initializes a new instance of the  class.

```csharp
public RSpringDamper()

```

### RSpringDamper(string)

Initializes a new instance of the  class.

```csharp
public RSpringDamper(string strName)

```

#### Parameters

`strName` [string](https://learn.microsoft.com/dotnet/api/system.string)

Name of the rotational spring damper.

## Properties

### FreeAngle

Gets or sets the free angle.

```csharp
public ExpressionValueVariable FreeAngle { get; set; }

```

#### Property Value

ExpressionValueVariable

### ReportTypeImpl

Gets the report type.

```csharp
protected override IReportable.ReportEntityType ReportTypeImpl { get; }

```

#### Property Value

IReportable.ReportEntityType

## Methods

### CalculationTwoMarkerAngle(OMatrix, OMatrix, double\[\])

Calculations the two marker angle.

```csharp
public static bool CalculationTwoMarkerAngle(OMatrix baseOMat, OMatrix actionOMat, double[] angle)

```

#### Parameters

`baseOMat` OMatrix

The base orientation matrix.

`actionOMat` OMatrix

The action orientation matrix.

`angle` [double](https://learn.microsoft.com/dotnet/api/system.double)\[\]

The angle.

#### Returns

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

### CalculationTwoMarkerZAngle(OMatrix, OMatrix)

Calculations the two marker Z angle.

```csharp
public static double CalculationTwoMarkerZAngle(OMatrix baseOMat, OMatrix actionOMat)

```

#### Parameters

`baseOMat` OMatrix

The base O mat.

`actionOMat` OMatrix

The action O mat.

#### Returns

[double](https://learn.microsoft.com/dotnet/api/system.double)

### Draw(Canvas)

Draws the icon.

```csharp
public override void Draw(Canvas canvas)

```

#### Parameters

`canvas` Canvas

The canvas has icon information.

### Initialize(ConvertFactor)

Initializes member through unit convert factor.

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

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### LinkRequestUpdate(object, LinkEventArgs)

Request for update the linked object.

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

```

#### Parameters

`objNotifier` [object](https://learn.microsoft.com/dotnet/api/system.object)

The linked object.

`arg` LinkEventArgs

The  instance containing the event data.

### MessageForPositionChanging(string)

Messages for position changing.

```csharp
public static void MessageForPositionChanging(string strName)

```

#### Parameters

`strName` [string](https://learn.microsoft.com/dotnet/api/system.string)

Name of the string.

### UpdateFreeAngle()

Updates the free angle.

```csharp
public void UpdateFreeAngle()

```