Click or drag to resize

StructuralSurfaceActionFree Class

[This is preliminary documentation and is subject to change.]

Defines a free surface load. The free surface load is not defined by the entity it acts on, but by a specific load area. Free surface loads are defined by means of "loading entities" that may overlap or affect one or more 2D members.
Inheritance Hierarchy

Namespace:  ModelExchanger.AnalysisDataModel.Loads
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
public sealed class StructuralSurfaceActionFree : StructuralAnalysisObjectBase, 
	ILoadAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IEquatable<StructuralSurfaceActionFree>

The StructuralSurfaceActionFree type exposes the following members.

Public methodStructuralSurfaceActionFree
Create a free surface load
Public propertyCoordinateSystem
Defines co-ordinate system of the member in which the load is applied
Public propertyCurves
Load shape
Public propertyDirection
Defines validation type
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyLoadCase
Load case to which the force belongs
Public propertyLoadDefinition
The Free surface load is related to slabs. The load is not defined by the entity it acts on, but by a specific load border. Free loads are defined by means of "loading entities" that may overlap or affect one or more slabs.
Public propertyLocation
Defines location type
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyType
This property defines what the load is caused by, E.g. Standard, Wind, Snow, Self weight, Hoar Frost, Predefined, Plane Load, Water Pond, Water Pressure, Soil Pressure, Generated Water, Generated Soil
Public propertyValidity
Defines validation type
Public propertyValidityFrom
Defines validity from
Public propertyValidityTo
Defines validity to
Public methodEquals(Object)
Check if this object is the same as the provided object.
(Overrides StructuralAnalysisObjectBaseEquals(Object).)
Public methodEquals(StructuralAnalysisObjectBase)
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.)
Public methodEquals(StructuralSurfaceActionFree)
Indicates whether the current object is equal to another object of the same type.
Public methodGetHashCode
Retrieves the hashcode of the object
(Overrides StructuralAnalysisObjectBaseGetHashCode.)
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Extension Methods
Public Extension MethodToObjectIdentifier
Converts the provided IAnalysisObject into an AnalysisObjectIdentifier
(Defined by IAnalysisObjectExtensions.)
Creating an instance
using System;
using System.Collections.Generic;
using System.Linq;
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Loads;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.Subtypes;
using ModelExchanger.AnalysisDataModel.Subtypes.Load;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
    public sealed class StructuralSurfaceActionFreeExample : BaseExample<StructuralSurfaceActionFree>
        protected override IReadOnlyCollection<StructuralSurfaceActionFree> CreateAnalysisObjects(AnalysisModel model)
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");

            return new[]
                new StructuralSurfaceActionFree(Guid.NewGuid(), "SFF1", loadCase, new[]
                        CreateLineCurve(1, (2, 17, 5), (2, 14, 5)),
                        CreateLineCurve(2, (2, 14, 5), (8, 14, 0)),
                        CreateLineCurve(3, (8, 14, 0), (8, 17, 0)),
                        CreateLineCurve(4, (8, 17, 0), (2, 17, 5))
                    new StructuralSurfaceActionFreeLoadUniform(Pressure.FromKilonewtonsPerSquareMeter(-1D)))
                    Direction = ActionDirection.Z,
                    Validity = Validity.ZIsZero,
                    Location = Location.Projection

        private Curve<Coordinate> CreateLineCurve(int curve,
            (double x, double y, double z) start,
            (double x, double y, double z) end)
            => new Curve<Coordinate>(CurveGeometricalShape.Line, new []
                new Coordinate($"C{curve}_Start", Length.FromMeters(start.x), Length.FromMeters(start.y), Length.FromMeters(start.z)),
                new Coordinate($"C{curve}_End", Length.FromMeters(end.x), Length.FromMeters(end.y), Length.FromMeters(end.z))
See Also