Click or drag to resize

StructuralSurfaceAction Class

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

Defines a load on a StructuralSurfaceMember
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.LoadsStructuralSurfaceAction

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

The StructuralSurfaceAction type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyCoordinateSystem
Defines the co-ordinate system of the member in which the load is applied
Public propertyDirection
Defines the base direction of the load
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyLoadCase
The StructuralLoadCase to which the load belongs
Public propertyLocation
Specifies whether the load is "put directly on an inclined 2D member" or whether the "projection on plan" is defined.
Public propertyMember2DDistributionReference
The StructuralSurfaceActionDistribution to which the load belongs
Public propertyMember2DReference
The StructuralSurfaceMember on which the load acts
Public propertyMember2DRegionReference
The StructuralSurfaceMemberRegion on which the load acts
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyParentId
The ID of the parent object of the same type
Public propertyType
Defines what the load is caused by. Supports dynamic values
Public propertyValue
The value of the load
Top
Methods
  NameDescription
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(StructuralSurfaceAction)
Indicates whether the current object is equal to another object of the same type.
Public methodGetHashCode
Retrieves the hashcode of the object
(Overrides StructuralAnalysisObjectBaseGetHashCode.)
Top
Events
  NameDescription
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Top
Extension Methods
  NameDescription
Public Extension MethodToObjectIdentifier
Converts the provided IAnalysisObject into an AnalysisObjectIdentifier
(Defined by IAnalysisObjectExtensions.)
Top
Examples
Creating an instance
using System;
using System.Collections.Generic;
using System.Linq;
using CSInfrastructure;
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Loads;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralSurfaceActionExample : BaseExample<StructuralSurfaceAction>
    {
        protected override IReadOnlyCollection<StructuralSurfaceAction> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().First(x => x.Name == "LC2");
            StructuralSurfaceMemberRegion region = model.OfType<StructuralSurfaceMemberRegion>().First(x => x.Name == "R4");
            StructuralSurfaceActionDistribution distribution = model.OfType<StructuralSurfaceActionDistribution>().First(x => x.Name == "FL2");

            IReadOnlyDictionary<string, StructuralSurfaceMember> surfaces = model.OfType<StructuralSurfaceMember>().ToDictionary(x => x.Name, x => x);

            return new[]
            {
                new StructuralSurfaceAction(Guid.NewGuid(), "SF1", Pressure.FromKilonewtonsPerSquareMeter(-2.5), surfaces["S8"],
                    loadCase)
                {
                    Direction = ActionDirection.Z,
                    CoordinateSystem = CoordinateSystem.Local
                },
                new StructuralSurfaceAction(Guid.NewGuid(), "SF2", Pressure.FromKilonewtonsPerSquareMeter(-2), surfaces["S5"], loadCase)
                {
                    Direction = ActionDirection.Y,
                    CoordinateSystem = CoordinateSystem.Local
                },
                new StructuralSurfaceAction(Guid.NewGuid(), "SF3", Pressure.FromKilonewtonsPerSquareMeter(-3), surfaces["S6"], loadCase)
                {
                    Direction = ActionDirection.X,
                    Type = new FlexibleEnum<ActionLoadType>(ActionLoadType.SelfWeight),
                    CoordinateSystem = CoordinateSystem.Local
                },
                new StructuralSurfaceAction(Guid.NewGuid(), "SF4", Pressure.FromKilonewtonsPerSquareMeter(-3), region, loadCase)
                {
                    Direction = ActionDirection.Z,
                    CoordinateSystem = CoordinateSystem.Local
                },
                new StructuralSurfaceAction(Guid.NewGuid(), "SF5", Pressure.FromKilonewtonsPerSquareMeter(-5), distribution, loadCase)
                {
                    Direction = ActionDirection.Z,
                    CoordinateSystem = CoordinateSystem.Local,
                    Location =  Location.Length
                }
            };
        }
    }
}
See Also