Exemplo n.º 1
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            sMaterial material  = null;
            double    diameter  = 0.0;
            double    thickness = 0.0;

            if (!DA.GetData(0, ref material))
            {
                return;
            }
            if (!DA.GetData(1, ref diameter))
            {
                return;
            }
            if (!DA.GetData(2, ref thickness))
            {
                return;
            }

            sCrossSection cs = new sCrossSection();

            eSectionType stype = eSectionType.ROUND;

            string mss    = "Round: Dia " + diameter;
            string shapeN = "Round_" + diameter;

            if (thickness > 0.0)
            {
                mss    += ", Th " + thickness;
                shapeN += "x" + thickness;
            }
            cs.shapeName = shapeN;
            this.Message = mss;

            cs.sectionType = stype;

            string          modelUnit = Rhino.RhinoDoc.ActiveDoc.ModelUnitSystem.ToString();
            sRhinoConverter rhcon     = new sRhinoConverter(modelUnit, "Meters");

            if (modelUnit == "Feet")
            {
                diameter  /= 12.0;
                thickness /= 12.0;
            }

            diameter  = Math.Round(diameter, 3);
            thickness = Math.Round(thickness, 3);

            cs.dimensions = new List <double>();
            cs.dimensions.Add(rhcon.EnsureUnit(diameter));
            if (thickness > 0.0)
            {
                cs.dimensions.Add(rhcon.EnsureUnit(thickness));
            }

            cs.material = material;


            DA.SetData(0, cs);
        }
Exemplo n.º 2
0
        public static object Get_sRoundSection(sMaterial material, double diameter_in, double thickness_in = 0.0)
        {
            sCrossSection cs = new sCrossSection();

            eSectionType stype = eSectionType.ROUND;

            cs.sectionType = stype;

            string shapeN = "Round_" + diameter_in;

            if (thickness_in > 0.0)
            {
                shapeN += "x" + thickness_in;
            }

            cs.shapeName = shapeN;
            sDynamoConverter dycon = new sDynamoConverter("Feet", "Meters");

            diameter_in  /= 12.0;
            thickness_in /= 12.0;


            diameter_in  = Math.Round(diameter_in, 3);
            thickness_in = Math.Round(thickness_in, 3);

            cs.dimensions = new List <double>();
            cs.dimensions.Add(dycon.EnsureUnit_Dimension(diameter_in));
            if (thickness_in > 0.0)
            {
                cs.dimensions.Add(dycon.EnsureUnit_Dimension(thickness_in));
            }


            cs.material = material;

            return(new Dictionary <string, object>
            {
                { "sCrossSection", cs }
            });
        }
Exemplo n.º 3
0
        /// <summary>
        /// Load this object definition from XML
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public int LoadFromXml(XmlSimpleElement reader)
        {
            foreach (XmlSimpleElement childElement in reader.ChildElements)
            {
                switch (childElement.TagName)
                {
                case V_SECTION_TYPE:
                    _sectionType = (eSectionType)childElement.TextAsInt;
                    break;

                // If we find the FormattedText section then let that object load itself
                case S_REPORT_SECTION_FORMAT:
                    _formattedText.LoadFromXml(childElement);
                    break;

                default:
                    break;
                }
            }

            return(0);
        }
Exemplo n.º 4
0
 public ExportSection(eSectionType sectiontype, FormattedText formattedText)
 {
     _sectionType   = sectiontype;
     _formattedText = formattedText;
 }
Exemplo n.º 5
0
 public ExportSection()
 {
     _sectionType   = eSectionType.header;
     _formattedText = new FormattedText();
 }