    

 ## On this page

  

 

 # Class Spring

 Last update: 16.07.2025 

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

The spring force class.

```csharp
public class Spring : ForceCar<PropertySpring>, 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, ITemplateObject

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;PropertySpring&gt; ← Connector&lt;PropertySpring&gt; ← Force&lt;PropertySpring&gt; ← [ForceCar&lt;PropertySpring&gt;](VM.Managed.DAFUL.Car.Force.ForceCar-1.md) ← [Spring](VM.Managed.DAFUL.Car.Force.Spring.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, ITemplateObject

#### Inherited Members

[ForceCar&lt;PropertySpring&gt;.m\_bSkipToUpdateSymmetric](VM.Managed.DAFUL.Car.Force.ForceCar-1.md#VM_Managed_DAFUL_Car_Force_ForceCar_1_m_bSkipToUpdateSymmetric), [ForceCar&lt;PropertySpring&gt;.Initialize(Unit.ConvertFactor)](VM.Managed.DAFUL.Car.Force.ForceCar-1.md#VM_Managed_DAFUL_Car_Force_ForceCar_1_Initialize_VM_Unit_ConvertFactor_), [ForceCar&lt;PropertySpring&gt;.WriteTemplateImpl(XmlWriter)](VM.Managed.DAFUL.Car.Force.ForceCar-1.md#VM_Managed_DAFUL_Car_Force_ForceCar_1_WriteTemplateImpl_System_Xml_XmlWriter_), [ForceCar&lt;PropertySpring&gt;.ReadTemplateImpl(XmlReader)](VM.Managed.DAFUL.Car.Force.ForceCar-1.md#VM_Managed_DAFUL_Car_Force_ForceCar_1_ReadTemplateImpl_System_Xml_XmlReader_), Force&lt;PropertySpring&gt;.Initialize(Unit.ConvertFactor), Force&lt;PropertySpring&gt;.WriteMarker(XmlWriter, Marker, string), Force&lt;PropertySpring&gt;.ReadMarker(XmlReader, Marker, string), Force&lt;PropertySpring&gt;.UseForSimulationScenario, Connector&lt;PropertySpring&gt;.Initialize(Unit.ConvertFactor), Connector&lt;PropertySpring&gt;.GetTargetListForUpdate(), Connector&lt;PropertySpring&gt;.Verify(VerifiedResult), Connector&lt;PropertySpring&gt;.LinkRequestUpdate(object, LinkEventArgs), Connector&lt;PropertySpring&gt;.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), Connector&lt;PropertySpring&gt;.Draw(Canvas), Connector&lt;PropertySpring&gt;.ReDraw(), Connector&lt;PropertySpring&gt;.FindLocal(string), Connector&lt;PropertySpring&gt;.Instantiate(Reference, Canvas), Connector&lt;PropertySpring&gt;.MakeReference(LinkedList&lt;Reference&gt;), Connector&lt;PropertySpring&gt;.MakeReferenceImpl(LinkedList&lt;Reference&gt;), Connector&lt;PropertySpring&gt;.GetLayerImpl(), Connector&lt;PropertySpring&gt;.SetLayerImpl(Layer), Connector&lt;PropertySpring&gt;.SwitchImpl(), Connector&lt;PropertySpring&gt;.BaseMarker, Connector&lt;PropertySpring&gt;.ActionMarker, Connector&lt;PropertySpring&gt;.ConnectorReferenceMarker, Connector&lt;PropertySpring&gt;.PreventDuplicatedRBE, Connector&lt;PropertySpring&gt;.Generable, Connector&lt;PropertySpring&gt;.HasLayerExplicitly, Connector&lt;PropertySpring&gt;.Hide, Connector&lt;PropertySpring&gt;.Referencable, Connector&lt;PropertySpring&gt;.Visible, Connector&lt;PropertySpring&gt;.Layer, Connector&lt;PropertySpring&gt;.ReferenceType, Connector&lt;PropertySpring&gt;.ArgumentType, Connector&lt;PropertySpring&gt;.CanWriteToOutFileImpl, Connector&lt;PropertySpring&gt;.ReportTypeImpl, Connector&lt;PropertySpring&gt;.CanSwitchImpl, Entity&lt;PropertySpring&gt;.Initialize(Unit.ConvertFactor), Entity&lt;PropertySpring&gt;.GetUnnamedObjectName(object), Entity&lt;PropertySpring&gt;.FindLocal(string), Entity&lt;PropertySpring&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

### Spring()

Initializes a new instance of the  class.

```csharp
public Spring()

```

### Spring(string)

Initializes a new instance of the  class.

```csharp
public Spring(string strName)

```

#### Parameters

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

Name of the STR.

## Properties

### GeomColor

Gets or sets the color of the geometry.

```csharp
public string GeomColor { get; set; }

```

#### Property Value

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

### InstallMethod

Gets or sets the install method.

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

```

#### Property Value

ExpressionValueVariable

### InstallMethodType

Gets or sets the type of the install method.

```csharp
public Spring.MethodType InstallMethodType { get; set; }

```

#### Property Value

[Spring](VM.Managed.DAFUL.Car.Force.Spring.md).[MethodType](VM.Managed.DAFUL.Car.Force.Spring.MethodType.md)

### ReportTypeImpl

Gets the report type.

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

```

#### Property Value

IReportable.ReportEntityType

### SpringCoilCount

Gets or sets the spring coil count.

```csharp
public int SpringCoilCount { get; set; }

```

#### Property Value

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

### SpringDiameter

Gets or sets the spring diameter.

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

```

#### Property Value

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

## Methods

### 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.

### ReadTemplateImpl(XmlReader)

Reads the template document \[implementation\].

```csharp
protected override void ReadTemplateImpl(XmlReader reader)

```

#### Parameters

`reader` [XmlReader](https://learn.microsoft.com/dotnet/api/system.xml.xmlreader)

The reader.

### WriteTemplateImpl(XmlWriter)

Writes the template document \[implementation\].

```csharp
protected override void WriteTemplateImpl(XmlWriter writer)

```

#### Parameters

`writer` [XmlWriter](https://learn.microsoft.com/dotnet/api/system.xml.xmlwriter)

The writer.