    

 ## On this page

  

 

 # Class SolidBody

 Last update: 16.07.2025 

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

This class is to represent the solid body.

```csharp
public class SolidBody : BodyBase<SolidBodyProperty>, 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, IMarkerCreatable, IFacesetCreatable, ICurvesetCreatable, IConnectableNotReference, IReferencable, IConnectableHasGeometry, IBody, IInterface, ITemplateObject, IHasBuilder, IDrawIcon, ITransformable, IGeometryContainer, IMassProp, IChainedSegmentConnector, IArgument, ITransparentable, IMFModalable, IBodyAnalysisType, IAutoContactable, ITemperatureComponent, IHeatGenerationComponent, IGeometricalComponent, IContactableGeometry2Dot5D, IConnectable, IMarkerParent, IEntityRelation, IHasBody, IHasMaterial

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;SolidBodyProperty&gt; ← [BodyBase&lt;SolidBodyProperty&gt;](VM.Managed.DAFUL.BodyBase-1.md) ← [SolidBody](VM.Managed.DAFUL.SolidBody.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, [IMarkerCreatable](VM.Managed.DAFUL.IMarkerCreatable.md), [IFacesetCreatable](VM.Managed.DAFUL.IFacesetCreatable.md), [ICurvesetCreatable](VM.Managed.DAFUL.ICurvesetCreatable.md), [IConnectableNotReference](VM.Managed.DAFUL.IConnectableNotReference.md), IReferencable, [IConnectableHasGeometry](VM.Managed.DAFUL.IConnectableHasGeometry.md), IBody, IInterface, ITemplateObject, IHasBuilder, IDrawIcon, ITransformable, IGeometryContainer, IMassProp, IChainedSegmentConnector, IArgument, ITransparentable, [IMFModalable](VM.Managed.DAFUL.IMFModalable.md), [IBodyAnalysisType](VM.Managed.DAFUL.IBodyAnalysisType.md), IAutoContactable, [ITemperatureComponent](VM.Managed.DAFUL.ITemperatureComponent.md), [IHeatGenerationComponent](VM.Managed.DAFUL.IHeatGenerationComponent.md), [IGeometricalComponent](VM.Managed.DAFUL.IGeometricalComponent.md), [IContactableGeometry2Dot5D](VM.Managed.DAFUL.IContactableGeometry2Dot5D.md), [IConnectable](VM.Managed.DAFUL.IConnectable.md), [IMarkerParent](VM.Managed.DAFUL.IMarkerParent.md), IEntityRelation, IHasBody, IHasMaterial

#### Inherited Members

[BodyBase&lt;SolidBodyProperty&gt;.Initialize(Unit.ConvertFactor)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_Initialize_VM_Unit_ConvertFactor_), [BodyBase&lt;SolidBodyProperty&gt;.GetGeomModelNavigatorInfo(XmlDocument, XmlElement, BodyProperty, Body)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_GetGeomModelNavigatorInfo_System_Xml_XmlDocument_System_Xml_XmlElement_VM_Managed_DAFUL_BodyProperty_VM_Managed_CAD_Body_), [BodyBase&lt;SolidBodyProperty&gt;.GetGeneralMarkerInfo(XmlDocument, XmlElement, Marker)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_GetGeneralMarkerInfo_System_Xml_XmlDocument_System_Xml_XmlElement_VM_Managed_DAFUL_Marker_), [BodyBase&lt;SolidBodyProperty&gt;.MakeReferenceImpl(LinkedList&lt;Reference&gt;)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_MakeReferenceImpl_System_Collections_Generic_LinkedList_VM_Managed_Reference__), [BodyBase&lt;SolidBodyProperty&gt;.FixUp(ObjectBase)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_FixUp_VM_Managed_ObjectBase_), [BodyBase&lt;SolidBodyProperty&gt;.GetArgumentList(LinkedList&lt;ObjectBase&gt;)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_GetArgumentList_System_Collections_Generic_LinkedList_VM_Managed_ObjectBase__), [BodyBase&lt;SolidBodyProperty&gt;.OnUpdatePropertyImpl(Property, LinkEventArgs)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_OnUpdatePropertyImpl_VM_Managed_Property_VM_Managed_LinkEventArgs_), [BodyBase&lt;SolidBodyProperty&gt;.GetLayerImpl()](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_GetLayerImpl), [BodyBase&lt;SolidBodyProperty&gt;.SetLayerImpl(Layer)](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_SetLayerImpl_VM_Managed_Layer_), [BodyBase&lt;SolidBodyProperty&gt;.GetTargetListForUpdate()](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_GetTargetListForUpdate), [BodyBase&lt;SolidBodyProperty&gt;.HasLayerExplicitly](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_HasLayerExplicitly), [BodyBase&lt;SolidBodyProperty&gt;.ParentType](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ParentType), [BodyBase&lt;SolidBodyProperty&gt;.ParentTypeImpl](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ParentTypeImpl), [BodyBase&lt;SolidBodyProperty&gt;.ReferenceFrameType](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ReferenceFrameType), [BodyBase&lt;SolidBodyProperty&gt;.ConnectableName](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ConnectableName), [BodyBase&lt;SolidBodyProperty&gt;.ConnectableFullName](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ConnectableFullName), [BodyBase&lt;SolidBodyProperty&gt;.ConnectablePostfixName](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ConnectablePostfixName), [BodyBase&lt;SolidBodyProperty&gt;.ConnectablePosition](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ConnectablePosition), [BodyBase&lt;SolidBodyProperty&gt;.ConnectableBody](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ConnectableBody), [BodyBase&lt;SolidBodyProperty&gt;.Body](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_Body), [BodyBase&lt;SolidBodyProperty&gt;.Layer](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_Layer), [BodyBase&lt;SolidBodyProperty&gt;.IsVisible](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_IsVisible), [BodyBase&lt;SolidBodyProperty&gt;.ReferencableImpl](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_ReferencableImpl), [BodyBase&lt;SolidBodyProperty&gt;.Geometry](VM.Managed.DAFUL.BodyBase-1.md#VM_Managed_DAFUL_BodyBase_1_Geometry), Entity&lt;SolidBodyProperty&gt;.Initialize(Unit.ConvertFactor), Entity&lt;SolidBodyProperty&gt;.GetUnnamedObjectName(object), Entity&lt;SolidBodyProperty&gt;.FindLocal(string), Entity&lt;SolidBodyProperty&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

### SolidBody()

Initializes a new instance of the  class.

```csharp
public SolidBody()

```

### SolidBody(string)

Initializes a new instance of the  class.

```csharp
public SolidBody(string strName)

```

#### Parameters

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

Name of the solid body.

### SolidBody(string, Builder)

Initializes a new instance of the  class.

```csharp
public SolidBody(string strName, Builder builder)

```

#### Parameters

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

Name of the solid body.

`builder` Builder

The builder.

## Fields

### m\_MeshFreeProperty

The SolidBody property object to use MeshFree Analysis

```csharp
[Obsolete]
protected MeshFreePropertyForSolidBody m_MeshFreeProperty

```

#### Field Value

[MeshFreePropertyForSolidBody](VM.Managed.DAFUL.MeshFreePropertyForSolidBody.md)

## Properties

### AnalysisType

Gets or sets the type of the analysis.

```csharp
public BodyAnalysisType AnalysisType { get; set; }

```

#### Property Value

[BodyAnalysisType](VM.Managed.DAFUL.BodyAnalysisType.md)

### ArgumentType

Gets the type of the argument

```csharp
public ArgumentTypes ArgumentType { get; }

```

#### Property Value

ArgumentTypes

### Connectable

Gets the connectable interface.

```csharp
public IConnectable Connectable { get; }

```

#### Property Value

[IConnectable](VM.Managed.DAFUL.IConnectable.md)

### DFMFPath

Gets or sets the DFMF file path.

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

```

#### Property Value

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

### Geometry

Gets the geometry.

```csharp
public override List<Body> Geometry { get; }

```

#### Property Value

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;Body&gt;

### HalfThickness

Gets or sets the half thickness \[Not Implemented\].

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

```

#### Property Value

ExpressionValueVariable

### IsActionGeometry

Gets or sets a value indicating whether this instance is action geometry.

```csharp
public bool IsActionGeometry { get; set; }

```

#### Property Value

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

### IsBaseGeometry

Gets or sets a value indicating whether this instance is base geometry.

```csharp
public bool IsBaseGeometry { get; set; }

```

#### Property Value

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

### IsEditCM

Gets a value indicating whether this instance is edit CM.

```csharp
public virtual bool IsEditCM { get; }

```

#### Property Value

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

### IsInterface

Gets or sets a value indicating whether this instance is interface.

```csharp
public bool IsInterface { get; set; }

```

#### Property Value

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

### IsRepresentedAsBSurface

Gets or sets a value indicating whether this instance is represented as Bsurface.

```csharp
public bool IsRepresentedAsBSurface { get; set; }

```

#### Property Value

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

### LastModifiedTimeToDFMFFile

Gets or sets the last modified time to DFMF file.

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

```

#### Property Value

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

### MaxPenetration

Gets the max penetration \[Not Implemented\].

```csharp
public ExpressionValueVariable MaxPenetration { get; }

```

#### Property Value

ExpressionValueVariable

### MeshFreeProperty

Gets or sets the SolidBody property to use MeshFree Analysis.

```csharp
[Obsolete]
public MeshFreePropertyForSolidBody MeshFreeProperty { get; set; }

```

#### Property Value

[MeshFreePropertyForSolidBody](VM.Managed.DAFUL.MeshFreePropertyForSolidBody.md)

### ModalReferencePosition

Gets or sets the modal reference modal.

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

```

#### Property Value

PointBase

### ModeArray

Gets or sets the modes.

```csharp
public ModeForMFModal[] ModeArray { get; set; }

```

#### Property Value

[ModeForMFModal](VM.Managed.DAFUL.ModeForMFModal.md)\[\]

### MovingReferenceFrame

Gets or sets the moving reference frame.

```csharp
public IMarker MovingReferenceFrame { get; set; }

```

#### Property Value

IMarker

### ParentTypeImpl

Gets the parent type \[implementation\].

```csharp
protected override MarkerParentType ParentTypeImpl { get; }

```

#### Property Value

[MarkerParentType](VM.Managed.DAFUL.MarkerParentType.md)

### ReferenceType

Gets the type of the array for argument.

```csharp
public virtual string ReferenceType { get; }

```

#### Property Value

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

### SurfaceSmoothingType

Gets or sets the type of the surface smoothing \[Not Implemented\].

```csharp
public SurfaceSmoothing SurfaceSmoothingType { get; set; }

```

#### Property Value

[SurfaceSmoothing](VM.Managed.DAFUL.SurfaceSmoothing.md)

### TopologyEntityTypeName

Topology type name

```csharp
public override string TopologyEntityTypeName { get; }

```

#### Property Value

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

### UseAdvancedOption

Gets or sets use advanced option.

```csharp
public bool UseAdvancedOption { get; set; }

```

#### Property Value

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

### UseModalReferencePosition

Gets or sets use modal reference modal.

```csharp
public bool UseModalReferencePosition { get; set; }

```

#### Property Value

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

### UseRMovingReferenceFrame

Gets or sets use rotational modal reference modal.

```csharp
public bool UseRMovingReferenceFrame { get; set; }

```

#### Property Value

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

### UseTMovingReferenceFrame

Gets or sets use translational modal reference modal.

```csharp
public bool UseTMovingReferenceFrame { get; set; }

```

#### Property Value

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

### \_MovingReferenceFrame

Gets or sets the moving reference frame.

```csharp
public Linker<IMarker> _MovingReferenceFrame { get; set; }

```

#### Property Value

Linker&lt;IMarker&gt;

## Methods

### DoWorkAfterUpdateContents()

After update contents, do work.

```csharp
public override void DoWorkAfterUpdateContents()

```

### FindLocal(string)

Finds an object that matches a specified name in local.

```csharp
public override IObjectBase FindLocal(string strName)

```

#### Parameters

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

Name to search for.

#### Returns

IObjectBase

An object that matches a specified name.

### FixUp(ObjectBase)

Fixes up.

```csharp
public override bool FixUp(ObjectBase ob)

```

#### Parameters

`ob` ObjectBase

The ob.

#### Returns

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

### GetAnalysisLevelInfo(ref List&lt;double&gt;, ref List&lt;uint&gt;)

Get node distance and count for each analysis level

```csharp
public bool GetAnalysisLevelInfo(ref List<double> lstNodeDistance, ref List<uint> lstNodeCount)

```

#### Parameters

`lstNodeDistance` [List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;[double](https://learn.microsoft.com/dotnet/api/system.double)&gt;

Node distance list

`lstNodeCount` [List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;[uint](https://learn.microsoft.com/dotnet/api/system.uint32)&gt;

Node count list

#### Returns

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

Whether it's successful.

### GetBuilder()

Gets the geometry.

```csharp
public ObjectBase[] GetBuilder()

```

#### Returns

ObjectBase\[\]

geometry container

### GetContactables()

Get contactable objects.

```csharp
public ObjectBase[] GetContactables()

```

#### Returns

ObjectBase\[\]

The contactable objects.

### GetDefaultMaxPenetration(ref double, IReferencable)

Gets the geometry's default max penetration.

```csharp
public bool GetDefaultMaxPenetration(ref double dMaxPenetration, IReferencable reference)

```

#### Parameters

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

The max penetration.

`reference` IReferencable

The reference \[no use\].

#### Returns

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

`true` if success; otherwise, `false`.

### GetGeometryNavigatorInformation(XmlDocument, XmlElement)

Gets the geometry information for model navigator.

```csharp
public bool GetGeometryNavigatorInformation(XmlDocument xmlDom, XmlElement xmlEle)

```

#### Parameters

`xmlDom` [XmlDocument](https://learn.microsoft.com/dotnet/api/system.xml.xmldocument)

The XmlDocument for geometry.

`xmlEle` [XmlElement](https://learn.microsoft.com/dotnet/api/system.xml.xmlelement)

The XmlElement for geometry.

#### Returns

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

`true` if success; otherwise, `false`.

### GetLayerImpl()

Gets the layer \[implementation\].

```csharp
protected override Layer GetLayerImpl()

```

#### Returns

Layer

`true` if success; otherwise, `false`.

### GetMarkerArrayModelNavigatorInfo(XmlDocument, XmlElement, NamedObjectDictionary&lt;Marker&gt;)

Gets the marker array information for model navigator.

```csharp
public bool GetMarkerArrayModelNavigatorInfo(XmlDocument xmlDom, XmlElement xmlEle, NamedObjectDictionary<Marker> arMarker)

```

#### Parameters

`xmlDom` [XmlDocument](https://learn.microsoft.com/dotnet/api/system.xml.xmldocument)

The XmlDocument for marker array.

`xmlEle` [XmlElement](https://learn.microsoft.com/dotnet/api/system.xml.xmlelement)

The XmlElement for marker array.

`arMarker` NamedObjectDictionary&lt;[Marker](VM.Managed.DAFUL.Marker.md)&gt;

The marker array.

#### Returns

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

`true` if success; otherwise, `false`.

### GetMarkerModelNavigatorInfo(XmlDocument, XmlElement, Marker)

Gets the marker information for model navigator.

```csharp
protected bool GetMarkerModelNavigatorInfo(XmlDocument xmlDom, XmlElement xmlEle, Marker marker)

```

#### Parameters

`xmlDom` [XmlDocument](https://learn.microsoft.com/dotnet/api/system.xml.xmldocument)

The XmlDocument for marker.

`xmlEle` [XmlElement](https://learn.microsoft.com/dotnet/api/system.xml.xmlelement)

The XmlElement for marker.

`marker` [Marker](VM.Managed.DAFUL.Marker.md)

The marker.

#### Returns

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

`true` if success; otherwise, `false`.

### GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)

Gets the object information for model navigator \[implementation\].

```csharp
protected override bool GetModelNavigatorInformationImpl(XmlDocument xmlDom, XmlElement xmlEle, bool bHasChild)

```

#### Parameters

`xmlDom` [XmlDocument](https://learn.microsoft.com/dotnet/api/system.xml.xmldocument)

The XmlDocument for object.

`xmlEle` [XmlElement](https://learn.microsoft.com/dotnet/api/system.xml.xmlelement)

The XmlElement for object.

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

if set to `true` \[has child\].

#### Returns

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

`true` if success; otherwise, `false`.

### GetPointDirection(ref VectorBase, ref VectorBase, IReferencable)

Gets the geometry's point and direction.

```csharp
public bool GetPointDirection(ref VectorBase point, ref VectorBase direction, IReferencable reference)

```

#### Parameters

`point` VectorBase

The point.

`direction` VectorBase

The direction.

`reference` IReferencable

The reference \[no use\].

#### Returns

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

`true` if success; otherwise, `false`.

### GetPointDirectionOnGeometry(ref VectorBase, ref VectorBase, IReferencable)

Gets the geometry's point and direction.

```csharp
public bool GetPointDirectionOnGeometry(ref VectorBase point, ref VectorBase direction, IReferencable reference)

```

#### Parameters

`point` VectorBase

The point.

`direction` VectorBase

The direction.

`reference` IReferencable

The reference \[no use\].

#### Returns

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

`true` if success; otherwise, `false`.

### GetUnnamedObjectName(object)

Gets the name of the unnamed object.

```csharp
public override string GetUnnamedObjectName(object obUnnamed)

```

#### Parameters

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

The ob unnamed.

#### Returns

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

The unnamed object name.

### Initialize(ConvertFactor)

Initializes member through unit convert factor.

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

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### IsAutoContactable()

Determines whether the specified auto contactable.

```csharp
public bool IsAutoContactable()

```

#### Returns

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

`true` if the specified auto contactable; otherwise, `false`.

### LinkRemovedFromDocument(object, RemoveFromDocEventArgs)

Remove Anlaysis Type in the Analysis Setting to a document.

```csharp
protected override void LinkRemovedFromDocument(object objNotifier, RemoveFromDocEventArgs arg)

```

#### Parameters

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

The linked object.

`arg` RemoveFromDocEventArgs

The  instance containing the event data.

### LinkRequestDestroy(object, LinkEventArgs)

Request for destroy the linked object.

```csharp
protected override void LinkRequestDestroy(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.

### MakeReferenceImpl(LinkedList&lt;Reference&gt;)

Makes the reference \[implementation\].

```csharp
protected override void MakeReferenceImpl(LinkedList<Reference> lstRef)

```

#### Parameters

`lstRef` [LinkedList](https://learn.microsoft.com/dotnet/api/system.collections.generic.linkedlist-1)&lt;Reference&gt;

The container.

### OnDeserialization(object)

Called when \[deserialization\].

```csharp
protected override void OnDeserialization(object sender)

```

#### Parameters

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

The sender.

### PostAddToDocument()

Call when post \[add to document\].

```csharp
public override void PostAddToDocument()

```

### ReDraw()

Redraw.

```csharp
public void ReDraw()

```

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

### ResetInvalidEntity()

Reset invalid entity.

```csharp
public override void ResetInvalidEntity()

```

### SetLayerImpl(Layer)

Sets the layer \[implementation\].

```csharp
protected override void SetLayerImpl(Layer layer)

```

#### Parameters

`layer` Layer

The layer.

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