Ejemplo n.º 1
0
        protected override void BeforeSolveInstance()
        {
            Grasshopper.Kernel.Parameters.Param_Integer myMaterialParam = Params.Input[0] as Grasshopper.Kernel.Parameters.Param_Integer;
            myMaterialParam.ClearNamedValues();

            //////////  Code for automatically loading Materials from XML when intance of class is initiated.
            IBIS_XML.Load("D:\\Dropbox\\_F13\\6338\\GH Plugin\\Ibis\\Ibis\\IBIS_XML.xml");
            List <String> myMaterialNameList = new List <string>();
            XmlNodeList   myList             = IBIS_XML.GetElementsByTagName("Material");

            foreach (XmlNode mx in myList)
            {
                XmlElement x             = mx as XmlElement;
                string     myXMLMaterial = x.GetAttribute("type");
                myMaterialNameList.Add(myXMLMaterial);
            }

            for (int i = 0; i < myMaterialNameList.Count; i++)
            {
                myMaterialParam.AddNamedValue(myMaterialNameList[i], i + 1);
            }



            Grasshopper.Kernel.Parameters.Param_Integer myGrainParam = Params.Input[2] as Grasshopper.Kernel.Parameters.Param_Integer;
            myGrainParam.ClearNamedValues();


            Grasshopper.Kernel.Parameters.Param_Integer myThicknessParam = Params.Input[3] as Grasshopper.Kernel.Parameters.Param_Integer;
            myThicknessParam.ClearNamedValues();


            Grasshopper.Kernel.Data.GH_Structure <Grasshopper.Kernel.Types.GH_Integer> myMaterialValue = myMaterialParam.VolatileData as Grasshopper.Kernel.Data.GH_Structure <Grasshopper.Kernel.Types.GH_Integer>;
            //GH_Structure<GH_Integer> data = param0.VolatileData as GH_Structure<GH_Integer>;
        }
Ejemplo n.º 2
0
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.AddIntegerParameter("Material", "Material", "Choose your Material", GH_ParamAccess.item);
            pManager[0].Optional = true;
            Grasshopper.Kernel.Parameters.Param_Integer myMaterialParam = Params.Input[0] as Grasshopper.Kernel.Parameters.Param_Integer;
            myMaterialParam.ClearNamedValues();

            //////////  Code for automatically loading Materials from XML when intance of class is initiated.
            IBIS_XML.Load("D:\\Dropbox\\_F13\\6338\\GH Plugin\\Ibis\\Ibis\\IBIS_XML.xml");
            List <String> myMaterialNameList = new List <string>();
            XmlNodeList   myList             = IBIS_XML.GetElementsByTagName("Material2");

            foreach (XmlNode mx in myList)
            {
                XmlElement x             = mx as XmlElement;
                string     myXMLMaterial = x.GetAttribute("type");
                myMaterialNameList.Add(myXMLMaterial);
            }

            for (int i = 0; i < myMaterialNameList.Count; i++)
            {
                myMaterialParam.AddNamedValue(myMaterialNameList[i], i + 1);
            }

            pManager.AddSurfaceParameter("Surface", "Surface", "Insert Surface Here", GH_ParamAccess.list);
            pManager[1].Optional = true;
            pManager.AddNumberParameter("Thickness", "Thickness", "Insert your Thickness here", GH_ParamAccess.item);
            pManager[2].Optional = true;
        }
Ejemplo n.º 3
0
        //Get list of materials and their corresponding gauge values
        protected override void BeforeSolveInstance()
        {
            Grasshopper.Kernel.Parameters.Param_Integer myMaterialParam = Params.Input[0] as Grasshopper.Kernel.Parameters.Param_Integer;
            myMaterialParam.ClearNamedValues();
            Grasshopper.Kernel.Parameters.Param_Integer myGaugeParam = Params.Input[1] as Grasshopper.Kernel.Parameters.Param_Integer;
            myGaugeParam.ClearNamedValues();

            //////////  Code for automatically loading Materials from XML when intance of class is initiated.
            IBIS_XML.Load("D:\\Dropbox\\_F13\\6338\\GH Plugin\\Ibis\\Ibis\\IBIS_XML.xml");
            List <String> myMaterialNameList = new List <string>();
            XmlNodeList   myList             = IBIS_XML.GetElementsByTagName("ThicknessMaterial");

            foreach (XmlNode mx in myList)
            {
                XmlElement x             = mx as XmlElement;
                string     myXMLMaterial = x.GetAttribute("type");
                myMaterialNameList.Add(myXMLMaterial);
            }

            for (int i = 0; i < myMaterialNameList.Count; i++)
            {
                myMaterialParam.AddNamedValue(myMaterialNameList[i], i + 1);
            }


            Grasshopper.Kernel.Data.GH_Structure <Grasshopper.Kernel.Types.GH_Integer> myMaterialValue = myMaterialParam.VolatileData as Grasshopper.Kernel.Data.GH_Structure <Grasshopper.Kernel.Types.GH_Integer>;

            if (myMaterialValue.IsEmpty)
            {
                return;
            }

            //Code to load the Gauge list depending on user Material input:-
            List <String> myGaugeList = new List <string>();

            IBIS_XML.Load("D:\\Dropbox\\_F13\\6338\\GH Plugin\\Ibis\\Ibis\\IBIS_XML.xml");
            foreach (Grasshopper.Kernel.Types.GH_Integer myThis in myMaterialValue.AllData(true))
            {
                switch (myThis.Value)
                {
                case 1:     //for standard steel
                    //////////Gauge numbers
                    XmlNodeList myNodeList1 = IBIS_XML.SelectNodes("IBIS/ThicknessGauge/ThicknessMaterial[@id=1]/Gauge");
                    foreach (XmlNode myNode in myNodeList1)
                    {
                        XmlElement myElement  = myNode as XmlElement;
                        String     myXMLGauge = myElement.GetAttribute("type");
                        myGaugeList.Add(myXMLGauge);
                    }

                    for (int i = 0; i < myGaugeList.Count; i++)
                    {
                        myGaugeParam.AddNamedValue(myGaugeList[i], i + 1001);
                    }
                    break;
                }
                return;
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddBooleanParameter("Trigger", "T", "Trigger the retrieval of Revit materials", GH_ParamAccess.item, false);
     pManager.AddIntegerParameter("Category", "C", "1 = Images\n2 = Levels\n3 = Materials\n4 = Phases", GH_ParamAccess.item, 3);
     Grasshopper.Kernel.Parameters.Param_Integer paramInt = pManager[1] as Grasshopper.Kernel.Parameters.Param_Integer;
     if (paramInt != null)
     {
         //paramInt.AddNamedValue("Design Options", 0);
         paramInt.AddNamedValue("Images", 1);
         paramInt.AddNamedValue("Levels", 2);
         paramInt.AddNamedValue("Materials", 3);
         paramInt.AddNamedValue("Phases", 4);
     }
 }
Ejemplo n.º 5
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     //0
     pManager.AddTextParameter("Results", "Re", "Data from 'Results' output of 'Read CSV' component", GH_ParamAccess.tree);
     //1
     pManager.AddIntegerParameter("XYZ", "XYZ", "The plane be displayed\r\n    0: X (YZ plane)\r\n    1: Y (XZ plane)\r\n    2: Z (XY plane)", GH_ParamAccess.item, 0);
     Grasshopper.Kernel.Parameters.Param_Integer plane_list = pManager[1] as Grasshopper.Kernel.Parameters.Param_Integer;
     plane_list.AddNamedValue("X (YZ plane)", 0);
     plane_list.AddNamedValue("Y (XZ plane)", 1);
     plane_list.AddNamedValue("Z (XY plane)", 2);
     //2
     pManager.AddTextParameter("Absolute Value", "AV", "The absolute value of the location", GH_ParamAccess.item, "NA");
     //3
     pManager.AddNumberParameter("Relative Value", "RV", "The relative value of the location, invalid when AV is used", GH_ParamAccess.item, 0);
 }
Ejemplo n.º 6
0
        protected override void BeforeSolveInstance()
        {
            Grasshopper.Kernel.Parameters.Param_Integer myMaterialParam = Params.Input[0] as Grasshopper.Kernel.Parameters.Param_Integer;
            myMaterialParam.ClearNamedValues();

            //////////  Code for automatically loading Materials from XML when intance of class is initiated.
            IBIS_XML.Load("D:\\Dropbox\\_F13\\6338\\GH Plugin\\Ibis\\Ibis\\IBIS_XML.xml");
            List <String> myMaterialNameList = new List <string>();
            XmlNodeList   myList             = IBIS_XML.GetElementsByTagName("Material");

            foreach (XmlNode mx in myList)
            {
                XmlElement x             = mx as XmlElement;
                string     myXMLMaterial = x.GetAttribute("type");
                myMaterialNameList.Add(myXMLMaterial);
            }

            for (int i = 0; i < myMaterialNameList.Count; i++)
            {
                myMaterialParam.AddNamedValue(myMaterialNameList[i], i + 1);
            }

            Grasshopper.Kernel.Parameters.Param_Integer myGrainParam = Params.Input[2] as Grasshopper.Kernel.Parameters.Param_Integer;
            myGrainParam.ClearNamedValues();


            Grasshopper.Kernel.Parameters.Param_Integer myThicknessParam = Params.Input[3] as Grasshopper.Kernel.Parameters.Param_Integer;
            myThicknessParam.ClearNamedValues();


            Grasshopper.Kernel.Data.GH_Structure <Grasshopper.Kernel.Types.GH_Integer> myMaterialValue = myMaterialParam.VolatileData as Grasshopper.Kernel.Data.GH_Structure <Grasshopper.Kernel.Types.GH_Integer>;
            //GH_Structure<GH_Integer> data = param0.VolatileData as GH_Structure<GH_Integer>;

            if (myMaterialValue.IsEmpty)
            {
                return;
            }

            //Code to load the thickness list depending on user Material input:-
            List <String> myThicknessList = new List <string>();
            List <String> myBendList      = new List <string>();

            IBIS_XML.Load("D:\\Dropbox\\_F13\\6338\\GH Plugin\\Ibis\\Ibis\\IBIS_XML.xml");
            foreach (Grasshopper.Kernel.Types.GH_Integer myThis in myMaterialValue.AllData(true))
            {
                switch (myThis.Value)
                {
                case 1:
                    //////////for thickness:
                    XmlNodeList myNodeList1 = IBIS_XML.SelectNodes("IBIS/DryBending/Material[@id=1]/BendDirection/Thickness");
                    foreach (XmlNode myNode in myNodeList1)
                    {
                        XmlElement myElement      = myNode as XmlElement;
                        String     myXMLThickness = myElement.GetAttribute("type");
                        myThicknessList.Add(myXMLThickness);
                    }


                    for (int i = 0; i < 6; i++)     //This needs to be changed!!
                    {
                        myThicknessParam.AddNamedValue(myThicknessList[i], i + 1001);
                    }
                    //////////for benddirection
                    XmlNodeList myNodeList1b = IBIS_XML.SelectNodes("IBIS/DryBending/Material[@id=1]/BendDirection");
                    foreach (XmlNode myNode in myNodeList1b)
                    {
                        XmlElement myElement = myNode as XmlElement;
                        String     myXMLBend = myElement.GetAttribute("type");
                        myBendList.Add(myXMLBend);
                    }


                    for (int i = 0; i < myBendList.Count; i++)
                    {
                        myGrainParam.AddNamedValue(myBendList[i], i + 101);
                    }
                    break;

                case 2:
                    //////////for thickness:
                    XmlNodeList myNodeList2 = IBIS_XML.SelectNodes("IBIS/DryBending/Material[@id=2]/BendDirection/Thickness");
                    foreach (XmlNode myNode in myNodeList2)
                    {
                        XmlElement myElement      = myNode as XmlElement;
                        String     myXMLThickness = myElement.GetAttribute("type");
                        myThicknessList.Add(myXMLThickness);
                    }


                    for (int i = 0; i < myThicknessList.Count; i++)
                    {
                        myThicknessParam.AddNamedValue(myThicknessList[i], i + 1001);
                    }
                    //////////for benddirection
                    XmlNodeList myNodeList2b = IBIS_XML.SelectNodes("IBIS/DryBending/Material[@id=2]/BendDirection");
                    foreach (XmlNode myNode in myNodeList2b)
                    {
                        XmlElement myElement = myNode as XmlElement;
                        String     myXMLBend = myElement.GetAttribute("type");
                        myBendList.Add(myXMLBend);
                    }


                    for (int i = 0; i < myBendList.Count; i++)
                    {
                        myGrainParam.AddNamedValue(myBendList[i], i + 101);
                    }
                    break;

                case 3:
                    XmlNodeList myNodeList3 = IBIS_XML.SelectNodes("IBIS/DryBending/Material[@id=3]/BendDirection/Thickness");
                    foreach (XmlNode myNode in myNodeList3)
                    {
                        XmlElement myElement      = myNode as XmlElement;
                        String     myXMLThickness = myElement.GetAttribute("type");
                        myThicknessList.Add(myXMLThickness);
                    }


                    for (int i = 0; i < myThicknessList.Count; i++)
                    {
                        myThicknessParam.AddNamedValue(myThicknessList[i], i + 1001);
                    }
                    break;
                }
                return;
            }
        }