/// <summary>
        /// Sets the frame loads distributed.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="table">The table.</param>
        private static void setFRAME_LOADS_DISTRIBUTED(Model model, List <Dictionary <string, string> > table)
        {
            foreach (Dictionary <string, string> tableRow in table)
            {
                Frame frame = model.Structure.Frames[tableRow["Frame"]];

                RelativeAbsoluteLength distanceFromI = new RelativeAbsoluteLength(frame.Length)
                {
                    UseRelativeDistance = (tableRow["DistType"] == "RelDist")
                };
                if (distanceFromI.UseRelativeDistance)
                {
                    distanceFromI.RelativeDistanceStart = Adaptor.toDouble(tableRow["RelDistA"]);
                    distanceFromI.RelativeDistanceEnd   = Adaptor.toDouble(tableRow["RelDistB"]);
                }
                else
                {
                    distanceFromI.ActualDistanceStart = Adaptor.toDouble(tableRow["AbsDistA"]);
                    distanceFromI.ActualDistanceEnd   = Adaptor.toDouble(tableRow["AbsDistB"]);
                }

                FrameLoadDistributed load = new FrameLoadDistributed
                {
                    LoadPattern      = tableRow["LoadPat"],
                    CoordinateSystem = tableRow["CoordSys"],
                    ForceType        = Enums.EnumLibrary.ConvertStringToEnumByDescription <eLoadForceType>(tableRow["Type"]),
                    LoadDirection    = Enums.EnumLibrary.ConvertStringToEnumByDescription <eLoadDirection>(tableRow["Dir"]),
                    DistanceFromI    = distanceFromI,
                    GUID             = tableRow["GUID"],
                };
                if (tableRow.ContainsKey("FOverLA"))
                {
                    load.StartLoadValue = Adaptor.toDouble(tableRow["FOverLA"]);
                }
                if (tableRow.ContainsKey("MOverLA"))
                {
                    load.StartLoadValue = Adaptor.toDouble(tableRow["MOverLA"]);
                }
                if (tableRow.ContainsKey("FOverLB"))
                {
                    load.EndLoadValue = Adaptor.toDouble(tableRow["FOverLB"]);
                }
                if (tableRow.ContainsKey("MOverLB"))
                {
                    load.EndLoadValue = Adaptor.toDouble(tableRow["MOverLB"]);
                }

                frame.AddLoadDistributed(load);
            }
        }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FrameLoadDistributed"/> class.
 /// </summary>
 /// <param name="frameLength">Length of the frame.</param>
 public FrameLoadDistributed(double frameLength = 0)
 {
     DistanceFromI = new RelativeAbsoluteLength(frameLength);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FrameLateralBracing"/> class.
 /// </summary>
 /// <param name="frameLength">Length of the frame.</param>
 public FrameLateralBracing(double frameLength = 0)
 {
     BracingLocations = new RelativeAbsoluteLength(frameLength);
 }