BH.oM.Structure.Constraints.Constraint4DOF¶
Constraint objects with four degrees of freedom, three translational and one rotational. Used for support or release of 1D analytical elements of 2D analytical objects. The Rotational DOF will correspond to rotation about the axis of the object.
Class structure¶
Implemented interfaces and base types¶
The Constraint4DOF is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Base.BHoMObject
- BH.oM.Base.IBHoMObject
- BH.oM.Base.IObject
- BH.oM.Structure.IProperty
Properties¶
Defining properties¶
The following properties are defined on the class
Name | Type | Description | Quantity |
---|---|---|---|
Name | string | A unique Name is required for some structural packages to create and identify the object. | - |
TranslationX | DOFType | Defines the translational fixity in the X-direction. | - |
TranslationY | DOFType | Defines the translational fixity in the Y-direction. | - |
TranslationZ | DOFType | Defines the translational fixity in the Z-direction. | - |
RotationX | DOFType | Defines the rotational fixity about the axis of the element. | - |
TranslationalStiffnessX | double | Defines the stiffness in X-direction. This will only be active when corresponding degree of freedom has a DOFType with a stiffness dependency, such as Spring. | ForcePerUnitLength [N/m] |
TranslationalStiffnessY | double | Defines the stiffness in Y-direction. This will only be active when corresponding degree of freedom has a DOFType with a stiffness dependency, such as Spring. | ForcePerUnitLength [N/m] |
TranslationalStiffnessZ | double | Defines the stiffness in Z-direction. This will only be active when corresponding degree of freedom has a DOFType with a stiffness dependency, such as Spring. | ForcePerUnitLength [N/m] |
RotationalStiffnessX | double | Defines the stiffness for rotation about the axis of the element. This will only be active when corresponding degree of freedom has a DOFType with a stiffness dependency, such as Spring. | MomentPerUnitAngle [N.m/rad] |
Inherited properties¶
The following properties are inherited from the base class of the object
Name | Type | Description | Quantity |
---|---|---|---|
BHoM_Guid | Guid | - | - |
Fragments | FragmentSet | - | - |
Tags | HashSet<string> | - | - |
CustomData | Dictionary<string, object> | - | - |
Derived properties¶
The following properties are defined as extension methods in one of the BHoM_Engines
Name | Type | Description | Quantity | Engine |
---|---|---|---|---|
Description | string | Generates a default description for the Constraint4DOF based on the constraints at each degree of freedom. | - | Structure_Engine |
DescriptionOrName | string | Gets the name from a IProperty. If null or empty, a default description name is provided instead. | - | Structure_Engine |
IDescription | string | Generates a default description for the IProperty, based on its properties. | - | Structure_Engine |
IsNull | bool | Checks if a Constraint4DOF is null and outputs relevant error message. | - | Structure_Engine |
IsNumericallyDependent | bool | Returns true if any of the degrees of freedom is of a value based type or the values are non-zero. | - | Structure_Engine |
Code and Schema¶
C# implementation¶
public class Constraint4DOF : BH.oM.Base.BHoMObject, BH.oM.Base.IBHoMObject, BH.oM.Base.IObject, BH.oM.Structure.IProperty
Assembly: Structure_oM.dll
The C# class definition is available on github:
All history and changes of the class can be found by inspection the history.
JSON Schema implementation¶
The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.
{
"$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Structure_oM/Constraints/Constraint4DOF.json"
}
The JSON Schema is available on github here: