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); }
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 } }); }
/// <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); }
public ExportSection(eSectionType sectiontype, FormattedText formattedText) { _sectionType = sectiontype; _formattedText = formattedText; }
public ExportSection() { _sectionType = eSectionType.header; _formattedText = new FormattedText(); }