Skip to content

BH.oM.Structure.SurfaceProperties.Cassette

Property for 2D analytical elements, made up of two slabs with parallel ribs running in one direction between them. Ribs and slabs can all be made up of different materials.

Class structure

Implemented interfaces and base types

The Cassette is inheriting from the following base type(s) and implements the following interfaces:

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. -
TopThickness double The thickness of the slab sitting on top of the ribs. Length [m]
BottomThickness double The thickness of the slab sitting beneath the ribs. Length [m]
RibThickness double Width of each rib. Length [m]
RibHeight double Height of the ribs, equal to the distance between the bottom of the top slab and top of the bottom slab. Length [m]
RibSpacing double Centre-centre distance between the ribs. Measured perpendicular to the rib direction. Length [m]
Material IMaterialFragment Structural material of the top slab. If no material is provided for the ribs and/or the bottom slab then this material is used for those parts as well. -
RibMaterial IMaterialFragment Structural material of the ribs. If nothing is provided, the Material will be used instead. -
BottomMaterial IMaterialFragment Structural material of the bottom slab. If nothing is provided, the Material will be used instead. -
Direction PanelDirection Specifies if the ribs are running in local x or y direction. -
PanelType PanelType Defines what type of element this property will be used. Used by some analysis packages. -

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
Construction Construction Creates a physical Construction from a structural ISurfaceProperty. Extracts the Structural MaterialFragment and creates a physical material with the same name. - Structure_Engine
Description string Generates a default description for the SurfaceProperty. - Structure_Engine
DescriptionOrName string Gets the name from a IProperty. If null or empty, a default description name is provided instead. - Structure_Engine
HasModifiers bool Checks if a SurfaceProperty has any modifiers by first checking if any modifiers has been assigned, and if any of them are set to a value different than 1. - Structure_Engine
IConstruction Construction Creates a physical Construction from a structural ISurfaceProperty. Extracts the Structural MaterialFragment and creates a physical material with the same name. - Structure_Engine
IDescription string Generates a default description for the IProperty, based on its properties. - Structure_Engine
IDescription string Generates a default description for the SurfaceProperty, based on type, dimensions and material. - Structure_Engine
IMassPerArea double Calculates the mass per area for the property. MassPerUnitArea [kg/m²] Structure_Engine
IMaterialComposition MaterialComposition Returns a SurfaceProperty's MaterialComposition. - Structure_Engine
InvalidSurfaceProperty bool - - Lusas_Engine
IsNull bool Checks if a SurfaceProperty is null and outputs relevant error message. - Structure_Engine
ITotalThickness double Gets the total thickness of the surface property. Length [m] Structure_Engine
IVolumePerArea double Gets the volume per area of the property for the purpose of calculating solid volume. Length [m] Structure_Engine
MassPerArea double Gets the mass per area for a Cassette. MassPerUnitArea [kg/m²] Structure_Engine
MaterialComposition MaterialComposition Returns a SurfaceProperty's MaterialComposition. - Structure_Engine
Modifiers double[] Gets any modifiers from a property as an array of doubles. The modifiers are used to scale one or more of the property constants for analysis. Constants are multiplied with the modifiers, hence a modifier value of 1 means no change.
The values returned are in the following order: FXX, FXY, FYY, MXX, MXY, MYY, VXZ, VYZ, Mass, Weight. Method returns null if no modifiers are found.
- Structure_Engine
TotalThickness double Gets the total thickness of the surface property. Length [m] Structure_Engine
VolumePerArea double Gets the volume per area of the property for the purpose of calculating solid volume. Length [m] Structure_Engine

Code and Schema

C# implementation

C#
public class Cassette : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Structure.SurfaceProperties.ISurfaceProperty,
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.

JSON Schema
{
 "$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Structure_oM/SurfaceProperties/Cassette.json"
}

The JSON Schema is available on github here: