示例#1
0
 /// <summary>
 /// Create steel section Channel shape - steel shape
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="B">width</param>
 /// <param name="D">depth</param>
 /// <param name="tw">web thickness</param>
 /// <param name="tf">flange thickness</param>
 /// <param name="rw">root radius</param>
 /// <param name="rf">flange edge rounding radius</param>
 /// <param name="taperF">Flange taper</param>
 /// <returns></returns>
 public static void FillCssSteelChannel(CrossSectionParameter css, double B, double D, double tw, double tf, double rw, double rf, double taperF)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledU;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "B", Value = B
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "D", Value = D
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "tw", Value = tw
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "tf", Value = tf
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "rw", Value = rw
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "rf", Value = rf
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "tapperF", Value = taperF
     });
 }
示例#2
0
 /// <summary>
 /// Box 2 - steel shape
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="bu">Width of upper flange</param>
 /// <param name="bb">Width of bottom flange</param>
 /// <param name="hw">Height of web</param>
 /// <param name="b1">Web distance</param>
 /// <param name="tw">Web thickness</param>
 /// <param name="tfu">Upper flange thickness</param>
 /// <param name="tfb">Bottom flange thickness</param>
 public static void FillBox2(CrossSectionParameter css, System.Double bu, System.Double bb, System.Double hw, System.Double b1, System.Double tw, System.Double tfu, System.Double tfb)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.BoxFl;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "UpperFlangeWidth", Value = bu
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "BottomFlangeWidth", Value = bb
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "WebHeight", Value = hw
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "WebDistance", Value = b1
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "WebThickness", Value = tw
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "UpperFlangeThickness", Value = tfu
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "BottomFlangeThickness", Value = tfb
     });
 }
示例#3
0
 /// <summary>
 /// Fill steel section of parametric I section
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="cssGeomB">Css width</param>
 /// <param name="cssGeomH">Height of cross-section</param>
 /// <param name="cssGeomS">Web thickness</param>
 /// <param name="cssGeomT">Flange thickness</param>
 /// <param name="cssGeomR2">inside radius</param>
 /// <param name="tapperF">Flange tapper</param>
 /// <param name="r1">Flange edge rounding radius</param>
 /// <returns></returns>
 /// <remarks>Dimension of parametric I section<br/>
 /// <img src="Images\Iarc.png" /> <br/>
 /// </remarks>
 /// <example>
 /// This sample shows how to call this method./>
 /// <code lang = "C#">
 /// CrossSectionParameter css = new CrossSectionParameter();
 /// css.Id = 8;
 /// css.Material = new ReferenceElement(openStructModel.MatSteel.First());
 /// double cssGeomB = 0.25;
 /// double cssGeomH = 0.45;
 /// double cssGeomS = 0.02;
 /// double cssGeomT = 0.03;
 /// double cssGeomR2 = 0.012;
 /// double tapperF = Math.PI / 180.0 * 5.0;
 /// double r1 = 0.015;
 /// CrossSectionFactory.FillCssIarc(css, cssGeomB, cssGeomH, cssGeomS, cssGeomT, cssGeomR2, tapperF, r1);
 /// openStructModel.AddObject(css);
 /// </code>
 /// </example>
 public static void FillCssIarc(CrossSectionParameter css, double cssGeomB, double cssGeomH, double cssGeomS, double cssGeomT, double cssGeomR2, double tapperF, double r1)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledI;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "B", Value = cssGeomB
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "H", Value = cssGeomH
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "s", Value = cssGeomS
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "t", Value = cssGeomT
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "r2", Value = cssGeomR2
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "tapperF", Value = tapperF
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "r1", Value = r1
     });
 }
示例#4
0
 /// <summary>
 /// Creates a ][ steel shape of css.
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="bt">The width of U top flange.</param>
 /// <param name="bb">The width of U bottom flange.</param>
 /// <param name="h">The height of U shape.</param>
 /// <param name="tb">The bottom deck thickness.</param>
 /// <param name="tl">The left deck thickness.</param>
 /// <param name="tr">The right deck thickness.</param>
 /// <param name="dis">Distance between ][</param>
 /// <remarks>Dimension of assymetrical I section<br/>
 /// <img src="Images\Iasym.png" /> <br/>
 /// </remarks>
 /// <example>
 /// This sample shows how to call this method./>
 /// <code lang = "C#">
 /// CrossSectionParameter css = new CrossSectionParameter();
 /// css.Id = 5;
 /// css.Material = new ReferenceElement(openStructModel.MatSteel.First());
 /// double bt = 0.150;
 /// double bb = 0.180;
 /// double h = 0.320;
 /// double tb = 0.016;
 /// double tfu = 0.014;
 /// double tfb = 0.018;
 /// double dis= 0.025;
 /// CrossSectionFactory.FillShapeDblU(css, bt, bb, h, tb, tl, tr, dis);
 /// openStructModel.AddObject(css);
 /// </code>
 /// </example>
 public static void FillShapeDblU(CrossSectionParameter css, double bt, double bb, double h, double tb, double tl, double tr, double dis)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledDoubleUo;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bt", Value = bt
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bb", Value = bb
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "H", Value = h
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bw", Value = tb
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Tt", Value = tl
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Tb", Value = tr
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Distance", Value = dis
     });
 }
示例#5
0
 /// <summary>
 /// Fill steel section of channel shape
 /// </summary>
 /// <param name="cssO">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="b">width</param>
 /// <param name="hw">depth</param>
 /// <param name="tw">web thickness</param>
 /// <param name="tf">flange thickness</param>
 /// <param name="rw">root radius</param>
 /// <param name="rf">flange edge rounding radius</param>
 /// <param name="taperF">Flange taper</param>
 /// <returns></returns>
 /// <remarks>Dimension of channel section<br/>
 /// <img src="Images\WeldedC.png" /> <br/>
 /// </remarks>
 /// <example>
 /// This sample shows how to call this method./>
 /// <code lang = "C#">
 /// CrossSectionParameter css = new CrossSectionParameter();
 /// css.Id = 3;
 /// css.Material = new ReferenceElement(openStructModel.MatSteel.First());
 /// double b = 0.2;
 /// double hw = 0.4;
 /// double tw = 0.025;
 /// double tf= 0.02;
 /// double rw= 0.004;
 /// double rf = 0.002;
 /// double taperF = 0.001;
 /// CrossSectionFactory.FillWeldedU(css, b, hw, tw, tf, rw, rf, taperF);
 /// openStructModel.AddObject(css);
 /// </code>
 /// </example>
 public static void FillWeldedU(CrossSectionParameter cssO, double b, double hw, double tw, double tf, double rw, double rf, double taperF)
 {
     cssO.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledUPar;
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "b", Value = b
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "hw", Value = hw
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "tw", Value = tw
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "tf", Value = tf
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "rw", Value = rw
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "rf", Value = rf
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "tapperF", Value = taperF
     });
 }
示例#6
0
 /// <summary>
 /// Fill steel section of angle shape
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="B">width</param>
 /// <param name="D">depth</param>
 /// <param name="t">thickness</param>
 /// <param name="rw">root radius</param>
 /// <param name="r2">toe radius</param>
 /// <param name="C">centroid position</param>
 /// <param name="mirrorZ">profile can be mirrored</param>
 /// <returns></returns>
 /// <remarks>Dimension of angle section<br/>
 /// <img src="Images\WeldedL.png" /> <br/>
 /// </remarks>
 /// <example>
 /// This sample shows how to call this method./>
 /// <code lang = "C#">
 /// CrossSectionParameter css = new CrossSectionParameter();
 /// css.Id = 4;
 /// css.Material = new ReferenceElement(openStructModel.MatSteel.First());
 /// double B = 0.2;
 /// double D = 0.4;
 /// double t = 0.025;
 /// double rw = 0.004;
 /// double r2 = 0.002;
 /// double C = 0.0;
 /// bool mirrorZ = false;
 /// CrossSectionFactory.FillCssSteelAngle(css, B, D, t, rw, r2, C, mirrorZ);
 /// openStructModel.AddObject(css);
 /// </code>
 /// </example>
 public static void FillCssSteelAngle(CrossSectionParameter css, double B, double D, double t, double rw, double r2, double C, bool mirrorZ = false)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledAngle;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "B", Value = B
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "D", Value = D
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "t", Value = t
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "rw", Value = rw
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "r2", Value = r2
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "C", Value = C
     });
     css.Parameters.Add(new ParameterBool()
     {
         Name = "MirrorZ", Value = mirrorZ
     });
 }
示例#7
0
 /// <summary>
 /// Creates a U shape of css.
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="bt">The width of U top flange.</param>
 /// <param name="bb">The width of U bottom flange.</param>
 /// <param name="h">The height of U shape.</param>
 /// <param name="tb">The bottom deck thickness.</param>
 /// <param name="tl">The left deck thickness.</param>
 /// <param name="tr">The right deck thickness.</param>
 public static void FillShapeU(CrossSectionParameter css, double bt, double bb, double h, double tb, double tl, double tr)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.Ug;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bt", Value = bt
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bb", Value = bb
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "H", Value = h
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bw", Value = tb
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Tt", Value = tl
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Tb", Value = tr
     });
 }
示例#8
0
        private void AddchsCSS(KarambaIDEA.Core.CrossSection crossSection)
        {
            CrossSectionParameter chs = new CrossSectionParameter();

            chs.Id = crossSection.id;
            MatSteel material = openModel.MatSteel.First(a => a.Id == crossSection.material.id);

            chs.Material = new ReferenceElement(material);
            chs.Name     = crossSection.name;
            double height  = crossSection.height / 1000 / 2; //adjust to radius
            double width   = crossSection.width / 1000;
            double tweb    = crossSection.thicknessWeb / 1000;
            double tflange = crossSection.thicknessFlange / 1000;
            double radius  = crossSection.radius / 1000;

            //CrossSectionFactory.FillCssRectangleHollow(hollow, width, height, tweb, tweb, tflange, tflange);
            CrossSectionFactory.FillOHollow(chs, height, tweb);
            //height
            //width
            //thickness
            //innerradius
            //outerradius
            //unkown
            //CrossSectionFactory.FillCssSteelChannel(hollow, height, width, tweb, tflange, radius, radius, 0);

            openModel.AddObject(chs);
        }
示例#9
0
 /// <summary>
 /// Fill cross-section of shape rectangular for concrete sections
 /// </summary>
 /// <param name="cssO">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="width">The width of css.</param>
 /// <param name="height">The height of css.</param>
 /// <param name="thickLeft">The thickness at the left side.</param>
 /// <param name="thickRight">The thickness at the rigth side.</param>
 /// <param name="thickTop">The thickness at the top.</param>
 /// <param name="thickBottom">The thickness at the bottom.</param>
 /// <returns></returns>
 public static void FillCssRectangleHollow(CrossSectionParameter cssO, double width, double height, double thickLeft, double thickRight, double thickTop, double thickBottom)
 {
     cssO.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RHSg;
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "W", Value = width
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "H", Value = height
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "Tl", Value = thickLeft
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "Tr", Value = thickRight
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "Tt", Value = thickTop
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "Tb", Value = thickBottom
     });
 }
示例#10
0
 /// <summary>
 /// Fill cross-section of shape rectangular for steel sections
 /// </summary>
 /// <param name="cssO">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="D">depth</param>
 /// <param name="B">width</param>
 /// <param name="t">thickness</param>
 /// <param name="r1">inner radius</param>
 /// <param name="r2">outer radius</param>
 /// <param name="d">web buckling depth</param>
 /// <returns></returns>
 public static void FillCssSteelRectangularHollow(CrossSectionParameter cssO, double D, double B, double t, double r1, double r2, double d)
 {
     cssO.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledRHS;
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "B", Value = B
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "D", Value = D
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "t", Value = t
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "r1", Value = r1
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "r2", Value = r2
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "d", Value = d
     });
 }
示例#11
0
 /// <summary>
 /// I shape - massive concrete shape
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="h">Total height</param>
 /// <param name="btf">Width of the upper part</param>
 /// <param name="bbf">Width of the bottom part</param>
 /// <param name="htf">Thickness of the upper part</param>
 /// <param name="hbf">Thickness of the bottom  part</param>
 /// <param name="tw">Thinkness of the web</param>
 public static void FillShapeI(CrossSectionParameter css, System.Double h, System.Double btf, System.Double bbf, System.Double htf, System.Double hbf, System.Double tw)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.Ign;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "H", Value = h
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bh", Value = btf
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Bs", Value = bbf
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Ts", Value = hbf
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Th", Value = htf
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Tw", Value = tw
     });
 }
示例#12
0
        private void AddWeldedI()
        {
            //Example of custom I section
            CrossSectionParameter cssWI = new CrossSectionParameter();

            cssWI.Material = new ReferenceElement(openStructModel.MatSteel.First());              // I have only one material, I take the first one
            cssWI.Name     = "I 400, welded";
            CrossSectionFactory.FillWeldedI(cssWI, 0.2, 0.4, 0.025, 0.020);
            openStructModel.AddObject(cssWI);
        }
示例#13
0
 /// <summary>
 /// Circular shape - massive concrete shape
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="d">Diametrer of the shape</param>
 /// <returns></returns>
 public static void FillCircle(CrossSectionParameter css, System.Double d)
 {
     //var css = new CrossSectionParameter();
     css.CrossSectionType = CrossSectionType.O;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "D", Value = d
     });
     //return ret;
 }
示例#14
0
 /// <summary>
 /// Circular hollow section  - steel shape
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="D">Diameter</param>
 /// <param name="t">thickness</param>
 public static void FillCHSPar(CrossSectionParameter css, System.Double D, System.Double t)
 {
     css.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.CHSPar;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "R", Value = D / 2.0
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "t", Value = t
     });
 }
示例#15
0
 /// <summary>
 /// Fill steel T profile made from part of I profile
 /// </summary>
 /// <param name="cssO">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="name">Name</param>
 /// <param name="H">Height</param>
 /// <returns></returns>
 public static void FillSteelTI(CrossSectionParameter cssO, string name, double H)
 {
     cssO.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledTI;
     cssO.Parameters.Add(new ParameterString()
     {
         Name = "UniqueName", Value = name
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "H", Value = H
     });
 }
示例#16
0
 /// <summary>
 /// Fill steel section Lu shape
 /// </summary>
 /// <param name="cssO">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="name">Name</param>
 /// <param name="Distance">Distance</param>
 /// <returns></returns>
 public static void FillWelded2Lu(CrossSectionParameter cssO, string name, double Distance)
 {
     cssO.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.RolledDoubleLu;
     cssO.Parameters.Add(new ParameterString()
     {
         Name = "UniqueName", Value = name
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "Distance", Value = Distance
     });
 }
示例#17
0
 /// <summary>
 /// Fill massive pipe shape
 /// </summary>
 /// <param name="cssO">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="r">The radius of circle.</param>
 /// <param name="t">The thickness of wall.</param>
 /// <returns></returns>
 public static void FillOHollow(CrossSectionParameter cssO, double r, double t)
 {
     cssO.CrossSectionType = IdeaRS.OpenModel.CrossSection.CrossSectionType.CHSg;
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "R", Value = r
     });
     cssO.Parameters.Add(new ParameterDouble()
     {
         Name = "T", Value = t
     });
 }
示例#18
0
        private void FillWeldedI()
        {
            CrossSectionParameter css = new CrossSectionParameter();

            css.Id       = 1;
            css.Material = new ReferenceElement(openStructModel.MatSteel.First());              // I have only one material, I take the first one
            double bu = 0.2;
            double hw = 0.4;
            double tw = 0.025;
            double tf = 0.02;

            CrossSectionFactory.FillWeldedI(css, bu, hw, tw, tf);
            openStructModel.AddObject(css);
        }
示例#19
0
        private void FillCSSByName()
        {
            CrossSectionParameter cssO = new CrossSectionParameter();;

            cssO.Id               = 7;
            cssO.Material         = new ReferenceElement(openStructModel.MatSteel.First());
            cssO.CrossSectionType = CrossSectionType.UniqueName;
            cssO.Name             = "IPE200";
            cssO.Parameters.Add(new ParameterString()
            {
                Name = "UniqueName", Value = "IPE200"
            });
            openStructModel.AddObject(cssO);
        }
示例#20
0
 /// <summary>
 /// Rectangle shape - massive concrete shape
 /// </summary>
 /// <param name="css">Parameters of CrossSectionParameter will be filled</param>
 /// <param name="width">Width of the rectangle</param>
 /// <param name="height">Height of the rectangle</param>
 /// <returns></returns>
 public static void FillRectangle(CrossSectionParameter css, System.Double width, System.Double height)
 {
     //var css = new CrossSectionParameter();
     css.CrossSectionType = CrossSectionType.Rect;
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Width", Value = width
     });
     css.Parameters.Add(new ParameterDouble()
     {
         Name = "Height", Value = height
     });
     //return ret;
 }
示例#21
0
        private void FillWeldedT()
        {
            CrossSectionParameter css = new CrossSectionParameter();

            css.Id       = 2;
            css.Material = new ReferenceElement(openStructModel.MatSteel.First());
            double b  = 0.2;
            double h  = 0.4;
            double tw = 0.02;
            double tf = 0.35;

            CrossSectionFactory.FillWeldedT(css, b, h, tw, tf);
            openStructModel.AddObject(css);
        }
        /// <summary>
        /// Add cross section to the IDEA open model
        /// </summary>
        /// <param name="model">Open model</param>
        private static void AddCrossSectionToIOM(OpenModel model)
        {
            // only one material is in the model
            MatSteel material = model.MatSteel.FirstOrDefault();

            // create first cross section
            CrossSectionParameter css1 = Helpers.CreateCSSParameter(1, "HE200B", material);

            // create second cross section
            CrossSectionParameter css2 = Helpers.CreateCSSParameter(2, "HE240B", material);

            // add cross sections to the model
            model.AddObject(css1);
            model.AddObject(css2);
        }
示例#23
0
        private void AddRolledCSS()
        {
            CrossSectionParameter cssO = new CrossSectionParameter();

            cssO.Material         = new ReferenceElement(openStructModel.MatSteel.First());     // I have only one material, I take the first one
            cssO.CrossSectionType = CrossSectionType.RolledI;
            string ideaName = "IPE200";

            cssO.Name = "IPE200";
            cssO.Parameters.Add(new ParameterString()
            {
                Name = "UniqueName", Value = ideaName
            });

            openStructModel.AddObject(cssO);
        }
示例#24
0
        private void FillWeldedU()
        {
            CrossSectionParameter css = new CrossSectionParameter();

            css.Id       = 3;
            css.Material = new ReferenceElement(openStructModel.MatSteel.First());
            double b      = 0.2;
            double hw     = 0.4;
            double tw     = 0.025;
            double tf     = 0.02;
            double rw     = 0.004;
            double rf     = 0.002;
            double taperF = 0.001;

            CrossSectionFactory.FillWeldedU(css, b, hw, tw, tf, rw, rf, taperF);
            openStructModel.AddObject(css);
        }
示例#25
0
        private void FillWeldedLMirrored()
        {
            CrossSectionParameter css = new CrossSectionParameter();

            css.Id       = 5;
            css.Material = new ReferenceElement(openStructModel.MatSteel.First());
            double B       = 0.2;
            double D       = 0.4;
            double t       = 0.025;
            double rw      = 0.004;
            double r2      = 0.002;
            double C       = 0.0;
            bool   mirrorZ = true;

            CrossSectionFactory.FillCssSteelAngle(css, B, D, t, rw, r2, C, mirrorZ);
            openStructModel.AddObject(css);
        }
示例#26
0
        /// <summary>
        /// Create cross section
        /// </summary>
        /// <param name="id">Css id</param>
        /// <param name="name">Name of css</param>
        /// <param name="material">Material of css</param>
        /// <returns>CSS with appropriate id, name and material</returns>
        public static CrossSectionParameter CreateCSSParameter(int id, string name, MatSteel material)
        {
            CrossSectionParameter css = new CrossSectionParameter();

            css.Id   = id;
            css.Name = name;
            css.CrossSectionRotation = 0;
            css.CrossSectionType     = CrossSectionType.RolledI;

            css.Parameters.Add(new ParameterString()
            {
                Name = "UniqueName", Value = name
            });
            css.Material = new ReferenceElement(material);

            return(css);
        }
示例#27
0
        private void FillCssIarc()
        {
            CrossSectionParameter css = new CrossSectionParameter();

            css.Id       = 8;
            css.Material = new ReferenceElement(openStructModel.MatSteel.First());
            double cssGeomB  = 0.25;
            double cssGeomH  = 0.45;
            double cssGeomS  = 0.02;
            double cssGeomT  = 0.03;
            double cssGeomR2 = 0.012;
            double tapperF   = Math.PI / 180.0 * 5.0;
            double r1        = 0.015;

            CrossSectionFactory.FillCssIarc(css, cssGeomB, cssGeomH, cssGeomS, cssGeomT, cssGeomR2, tapperF, r1);
            openStructModel.AddObject(css);
        }
示例#28
0
        private void AddRolledCSS(KarambaIDEA.Core.CrossSection crossSection)
        {
            CrossSectionParameter crossSectionParameter = new CrossSectionParameter();

            crossSectionParameter.Id = crossSection.id;
            //find related material:
            MatSteel material = openModel.MatSteel.First(a => a.Id == crossSection.material.id);

            crossSectionParameter.Material = new ReferenceElement(material);
            //set cross section type
            crossSectionParameter.CrossSectionType = CrossSectionType.RolledI;
            crossSectionParameter.Name             = crossSection.name;
            crossSectionParameter.Parameters.Add(new ParameterString()
            {
                Name = "UniqueName", Value = crossSection.name
            });
            openModel.AddObject(crossSectionParameter);
        }
        private void AddRolledCSS2()
        {
            CrossSectionParameter css1 = new CrossSectionParameter();

            css1.Id               = 2;
            css1.Material         = new ReferenceElement(openStructModel.MatSteel.First()); // I have only one material, I take the first one
            css1.CrossSectionType = CrossSectionType.RolledI;
            string ideaName = "HEA200";

            css1.Name = "HEA200";
            css1.Parameters.Add(new ParameterString()
            {
                Name = "UniqueName", Value = ideaName
            });
            //Q: how do you know what the exact name of the parameter should be?

            openStructModel.AddObject(css1);
        }
示例#30
0
        private void FillCssTarc()
        {
            CrossSectionParameter css = new CrossSectionParameter();

            css.Id       = 9;
            css.Material = new ReferenceElement(openStructModel.MatSteel.First());
            double cssGeomB  = 0.25;
            double cssGeomH  = 0.45;
            double cssGeomTw = 0.02;
            double cssGeomTf = 0.03;
            double cssGeomR  = 0.0012;
            double cssGeomR1 = 0.0010;
            double cssGeomR2 = 0.008;
            double tapperF   = Math.PI / 180.0 * 5.0;
            double tapperW   = Math.PI / 180.0 * 7.0;

            CrossSectionFactory.FillCssTarc(css, cssGeomB, cssGeomH, cssGeomTw, cssGeomTf, cssGeomR, cssGeomR1, cssGeomR2, tapperF, tapperW);
            openStructModel.AddObject(css);
        }