Click or drag to resize

CurveStructuralReferenceOnBeam Class

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

Defines information about a line force on a StructuralCurveMember
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.StructuralReferences.CurvesCurveStructuralReferenceOnBeam

Namespace:  ModelExchanger.AnalysisDataModel.StructuralReferences.Curves
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class CurveStructuralReferenceOnBeam : ICurveStructuralReference, 
	IEquatable<CurveStructuralReferenceOnBeam>

The CurveStructuralReferenceOnBeam type exposes the following members.

Constructors
  NameDescription
Public methodCurveStructuralReferenceOnBeam
Create information about a line force on the provided StructuralCurveMember
Top
Properties
  NameDescription
Public propertyReferenceMember
The StructuralCurveMember on which the line force is applied
Top
Methods
  NameDescription
Public methodEquals(CurveStructuralReferenceOnBeam)
Indicates whether the current object is equal to another object of the same type.
Public methodEquals(Object)
Determines whether the specified object is equal to the current object.
(Overrides ObjectEquals(Object).)
Public methodGetHashCode
Serves as the default hash function.
(Overrides ObjectGetHashCode.)
Top
Examples
Creating an instance acting on a beam
using System;
using System.Collections.Generic;
using System.Linq;
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Loads;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using ModelExchanger.AnalysisDataModel.StructuralReferences.Curves;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralCurveActionOnBeamExample : BaseExample<StructuralCurveAction<CurveStructuralReferenceOnBeam>>
    {
        protected override IReadOnlyCollection<StructuralCurveAction<CurveStructuralReferenceOnBeam>> CreateAnalysisObjects(AnalysisModel model)
        {
            IReadOnlyDictionary<string, StructuralCurveMember> beams = model.OfType<StructuralCurveMember>().ToDictionary(x => x.Name, x => x);
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");

            return new[]
            {
                CreateStructuralCurveActionOnBeam("LF1", loadCase, beams["B5"], ActionDirection.Z, CoordinateSystem.Local),
                CreateStructuralCurveActionOnBeam("LF2", loadCase, beams["B6"], ActionDirection.Z, CoordinateSystem.Local),
                CreateStructuralCurveActionOnBeam("LF3", loadCase, beams["B7"], ActionDirection.Z, CoordinateSystem.Local),
                CreateStructuralCurveActionOnBeam("LF4", loadCase, beams["B10"], ActionDirection.Z, CoordinateSystem.Local),
                CreateStructuralCurveActionOnBeam("LF26", loadCase, beams["B36"], ActionDirection.Z, CoordinateSystem.Local),

                CreateStructuralCurveActionOnBeam("LF10", loadCase, beams["B16"], ActionDirection.Y, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF11", loadCase, beams["B17"], ActionDirection.Y, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF12", loadCase, beams["B18"], ActionDirection.Y, CoordinateSystem.Global),

                CreateStructuralCurveActionOnBeam("LF13", loadCase, beams["B19"], ActionDirection.X, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF14", loadCase, beams["B20"], ActionDirection.X, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF15", loadCase, beams["B21"], ActionDirection.X, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF16", loadCase, beams["B22"], ActionDirection.X, CoordinateSystem.Global),

                CreateStructuralCurveActionOnBeam("LF17", loadCase, beams["B23"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF18", loadCase, beams["B24"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF19", loadCase, beams["B25"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF20", loadCase, beams["B26"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF21", loadCase, beams["B27"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF22", loadCase, beams["B28"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF23", loadCase, beams["B29"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF24", loadCase, beams["B30"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF25", loadCase, beams["B31"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF5", loadCase, beams["B11"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF6", loadCase, beams["B12"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF7", loadCase, beams["B13"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF8", loadCase, beams["B14"], ActionDirection.Z, CoordinateSystem.Global),
                CreateStructuralCurveActionOnBeam("LF9", loadCase, beams["B15"], ActionDirection.Z, CoordinateSystem.Global),
            };
        }

        private StructuralCurveAction<CurveStructuralReferenceOnBeam> CreateStructuralCurveActionOnBeam(
            string name, StructuralLoadCase loadCase, StructuralCurveMember beam, ActionDirection direction, CoordinateSystem coordinateSystem)
        {
            return new StructuralCurveAction<CurveStructuralReferenceOnBeam>(Guid.NewGuid(), name, CurveForceAction.OnBeam, ForcePerLength.FromKilonewtonsPerMeter(-1), loadCase, new CurveStructuralReferenceOnBeam(beam)){
                Direction = direction,
                CoordinateSystem = coordinateSystem
            };
        }
    }
}
See Also