Skip to content

BH.oM.Structure.SurfaceProperties.ToppedSlab

Property for 2D analytical elements, made up of a slab property with concrete topping.

Class structure

Implemented interfaces and base types

The ToppedSlab 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. -
BaseProperty ISurfaceProperty Base property which is being topped. -
ToppingThickness double Thickness of the topping added on top of the base surface property. Length [m]
Material IMaterialFragment Material for the topping of the slab. -
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
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 SurfaceProperty, based on type, dimensions and material. - Structure_Engine
IDescription string Generates a default description for the IProperty, based on its properties. - 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
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 ToppedSlab : 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/ToppedSlab.json"
}

The JSON Schema is available on github here: