Beispiel #1
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Boundary", "Bnd", "Boundary to constrain toolpath to.", GH_ParamAccess.list);
     pManager.AddGeometryParameter("Geometry", "Geo", "Drive geometry as GeometryBase.", GH_ParamAccess.item);
     pManager.AddNumberParameter("ToolDiameter", "TD", "Diameter of cutter.", GH_ParamAccess.item, 6.0);
     pManager.AddBooleanParameter("Offset Tool", "OT", "Offset tool from edge to avoid adjacent surfaces.", GH_ParamAccess.item, false);
     //pManager.AddBooleanParameter("Calculate", "Calc", "Calculate toolpath.", GH_ParamAccess.item, false);
 }
Beispiel #2
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Panel Base", "Panel Base", "The base geometry of the panel", GH_ParamAccess.item);
     pManager.AddGeometryParameter("Panel", "Panel", "The adjustable geometry of the panel", GH_ParamAccess.list);
     pManager.AddGeometryParameter("Robot", "Robot", "The robot geometry", GH_ParamAccess.item);
     pManager.AddBooleanParameter("Start", "Start", "To start the visualization", GH_ParamAccess.item, false);
     pManager.AddVectorParameter("Distance Vector", "Distance Vector", "The distance between point and panel base", GH_ParamAccess.item, Rhino.Geometry.Vector3d.XAxis);
 }
Beispiel #3
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     /// input mesh & segmentation parameters
     pManager.AddGeometryParameter("pc_moving", "Cloud_A", "Point cloud for which the transformation is computed (GH_cloud)", GH_ParamAccess.item); pManager[0].Optional = false;
     pManager.AddGeometryParameter("pc_fixed", "Cloud_B", "Point cloud that remains in place (GH_cloud)", GH_ParamAccess.item); pManager[1].Optional = false;
     pManager.AddNumberParameter("Metric", "Metric", " Metric that is used to minimize the distance between the two point clouds. 0: pointToPoint (default), 1: pointToPlane ", GH_ParamAccess.item, 0); pManager[2].Optional = true;
     pManager.AddNumberParameter("InlierRatio", "Inlier", "Percentage of inliers [0;1] that fall within the given Euclidean distance threshold e.g. 0.6", GH_ParamAccess.item, 1.0); pManager[3].Optional = true;
     pManager.AddNumberParameter("MaxIterations", "Iter", "Max iterations for ICP e.g. 100", GH_ParamAccess.item, 100); pManager[4].Optional = true;
 }
Beispiel #4
0
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            base.RegisterInputParams(pManager);

            pManager.AddGeometryParameter("Surfaces", "Srf", "Drive surfaces as Breps.", GH_ParamAccess.list);
            int bnd = pManager.AddGeometryParameter("Boundary", "Bnd", "Boundary to constrain toolpath to.", GH_ParamAccess.item);

            pManager.AddIntegerParameter("Direction", "D", "Bitmask to control direction and starting point. Switches between u and v directions (bit 1) and start ends (bit 2).", GH_ParamAccess.item, 0);
            pManager.AddBooleanParameter("ZigZag", "Z", "Alternate start points of path.", GH_ParamAccess.item, true);
            pManager.AddNumberParameter("Tolerance", "T", "Tolerance for converting curves to polylines.", GH_ParamAccess.item, 0.01);
            pManager[bnd].Optional = true;
        }
Beispiel #5
0
        // Plane Workplane, Mesh Stock, Mesh Geometry, double MaxDepth,
        // double Stepover, double Stepdown, bool Calculate, ref object Toolpath
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            base.RegisterInputParams(pManager);

            int bnd = pManager.AddGeometryParameter("Boundary", "Bnd", "Boundary to constrain toolpath to.", GH_ParamAccess.list);

            pManager.AddGeometryParameter("Geometry", "Geo", "Drive geometry as GeometryBase.", GH_ParamAccess.item);
            pManager.AddNumberParameter("Resolution", "Res", "Resolution at which to decimate curves.", GH_ParamAccess.item, 1.0);
            pManager.AddNumberParameter("MaxDepth", "MinZ", "Maximum depth to go to.", GH_ParamAccess.item, -40.0);
            pManager.AddBooleanParameter("Simplify Output", "S", "Simplify the resultant path to avoid redundant points.", GH_ParamAccess.item, false);

            pManager[bnd].Optional = true;
        }
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Mesh", "Mesh", "Mesh to analyze", GH_ParamAccess.item);
     pManager.AddParameter(new SupportParameter(), "MiStrAn Supports", "Supports", "MiStranSupports (use Create Support", GH_ParamAccess.list);
     pManager.AddParameter(new LoadParameter(), "MiStrAn Loads", "Loads", "MiStrAn Loads, (use loadcomponents)", GH_ParamAccess.list);
     pManager.AddParameter(new SectionParameter(), "Generated Section", "Section", "Section with thickness, indexes and material ", GH_ParamAccess.list);
 }
Beispiel #7
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddMeshParameter("Base Mesh", "M", "Base mesh of the field.", GH_ParamAccess.item);
     pManager.AddGeometryParameter("Drawing Input", "IN", "Closed boundary curves that describe field.", GH_ParamAccess.list);
     pManager.AddNumberParameter("Iso Value", "IV", "Zero Iso Value Adjustment", GH_ParamAccess.item);
     pManager.AddNumberParameter("Tolerance", "T", "0-iso tolerance", GH_ParamAccess.item, 1d);
 }
Beispiel #8
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Mesh", "M", "Mesh to edit", GH_ParamAccess.tree);
     pManager.AddIntegerParameter("Face", "F", "Face Indices", GH_ParamAccess.tree);
     pManager.AddNumberParameter("Thickness Ratio", "R", "Thickness ration of frames", GH_ParamAccess.tree);
     pManager.AddNumberParameter("Extrudes Length", "L", "Extrude Length", GH_ParamAccess.tree);
 }
Beispiel #9
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddParameter(new ModuleNameParameter(),
                           "Module Name",
                           "MN",
                           "Module name (except '" + Config.RESERVED_TO_STRING + "'). " +
                           "The Name will be converted to lowercase.",
                           GH_ParamAccess.item);
     pManager.AddPointParameter("Module Part Points",
                                "Pt",
                                "Points inside the Module Parts. Module parts will be fit" +
                                " into the Slots of the Envelope.",
                                GH_ParamAccess.list);
     pManager.AddGeometryParameter("Geometry",
                                   "G",
                                   "Geometry used to materialize the result of the " +
                                   "Monoceros Solver. The Module geometry does not have to fit " +
                                   "into the generated Module cage and can be larger, " +
                                   "smaller, different or none.",
                                   GH_ParamAccess.list);
     pManager[2].Optional = true;
     pManager.AddPlaneParameter("Base Plane",
                                "B",
                                "Grid space base plane. Defines orientation of the grid.",
                                GH_ParamAccess.item,
                                Plane.WorldXY);
     pManager.AddVectorParameter("Module Part Diagonal",
                                 "D",
                                 "Vector specifying single Module Part dimensions" +
                                 "in base-plane-aligned XYZ axes. The Module Part Diagonal " +
                                 "must match Envelope's Slot diagonals.",
                                 GH_ParamAccess.item,
                                 new Vector3d(1.0, 1.0, 1.0));
 }
Beispiel #10
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddBooleanParameter("On", "On", "Button for creating animation frames.", GH_ParamAccess.item, false);
     pManager.AddGeometryParameter("Geometry", "G", "The geometry to be animated.", GH_ParamAccess.list);
     pManager.AddGenericParameter("Material", "M", "The Material of the geometry.", GH_ParamAccess.list);
     pManager.AddTextParameter("Directory", "D", "The directory path where the animation frames are saved", GH_ParamAccess.item);
 }
Beispiel #11
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geometry",
                                   "G",
                                   "Geometry to populate with slots",
                                   GH_ParamAccess.list);
     pManager.AddPlaneParameter("Base plane",
                                "B",
                                "Grid space base plane. Defines orientation of the grid.",
                                GH_ParamAccess.item,
                                Plane.WorldXY);
     pManager.AddVectorParameter(
         "Grid Slot Diagonal",
         "D",
         "World grid slot diagonal vector specifying single grid slot dimension " +
         "in base-plane-aligned XYZ axes",
         GH_ParamAccess.item,
         new Vector3d(1.0, 1.0, 1.0)
         );
     pManager.AddIntegerParameter("Fill Method",
                                  "F",
                                  "0 = wrap geometry surface, " +
                                  "1 = fill geometry volume, " +
                                  "2 = wrap surface and fill volume, " +
                                  "3 = wrap geometry surface (experimental)",
                                  GH_ParamAccess.item,
                                  2);
     pManager.AddNumberParameter("Precision",
                                 "P",
                                 "Geometry surface populate precision (lower = more precise & slower)",
                                 GH_ParamAccess.item,
                                 0.5);
 }
Beispiel #12
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("物件", "G", "几何物件", GH_ParamAccess.list);
     pManager.AddCurveParameter("曲线", "C", "指定曲线,找出与指定曲线有关联的物件", GH_ParamAccess.item);
     pManager.HideParameter(0);
     pManager.HideParameter(1);
 }
Beispiel #13
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddMeshParameter("Base Mesh", "M", "Base mesh of the field.", GH_ParamAccess.item);
     pManager.AddGeometryParameter("Drawing Input", "IN", "points or curves that describe field.", GH_ParamAccess.list);
     pManager.AddNumberParameter("Iso Value", "IV", "Zero Iso Value Adjustment", GH_ParamAccess.item);
     pManager.AddNumberParameter("Curve Resolution", "CR", "Curve Resolution Adjustment (optional).", GH_ParamAccess.item, 1d);
 }
Beispiel #14
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geom", "G", "需要添加信息的几何体", GH_ParamAccess.item);
     pManager.AddTextParameter("Key", "K", "附加信息的键", GH_ParamAccess.item);
     //Will not unbox himself
     pManager.AddGenericParameter("Data", "D", "附加的数据,这些信息包括文字,几何体等", GH_ParamAccess.item);
 }
Beispiel #15
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geometry", "Geometry", "Geometry of the support: point, curve or surface", GH_ParamAccess.list);
     pManager.AddGenericParameter("Support type", "SupportType", "Support type - use predefined drop-down.", GH_ParamAccess.item);
     pManager.AddTextParameter("Support name", "Name", "Support name - must be unique!", GH_ParamAccess.item);
     pManager[0].DataMapping = GH_DataMapping.Flatten;
 }
Beispiel #16
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geometry", "G", "Generic geometry to color", GH_ParamAccess.list);
     pManager.HideParameter(0);
     pManager.AddColourParameter("Colour", "C", "Colours to display", GH_ParamAccess.item, Color.Yellow);
     pManager.AddIntegerParameter("Seed", "S", "Seed of random colours for each branch", GH_ParamAccess.item, 0);
 }
Beispiel #17
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geometry", "Geometry", "Part Geometry", GH_ParamAccess.item);
     pManager.AddGenericParameter("Transformations", "Transformations", "Transformations Sequence", GH_ParamAccess.list);
     pManager.AddBooleanParameter("Off", "Off", "Offsite Assembly", GH_ParamAccess.item, false);
     pManager[1].Optional = true;
 }
Beispiel #18
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geom", "G", "需要推拉的Curve,Surface面和线必须是平面或平面线", GH_ParamAccess.item);
     pManager.AddVectorParameter("Vector", "V", "推拉的方向和距离", GH_ParamAccess.item);
     pManager.AddBooleanParameter("BothSide", "D", "是否双向推拉", GH_ParamAccess.item, false);
     pManager.AddBooleanParameter("Cap", "C", "是否封口", GH_ParamAccess.item, true);
 }
Beispiel #19
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddCurveParameter("曲线", "C", "待确定方向的曲线", GH_ParamAccess.item);
     pManager.AddGeometryParameter("物件", "G", "一组影响曲线方向的物件(点,线,面,体及mesh)", GH_ParamAccess.list);
     pManager.AddBooleanParameter("反转", "R", "true:则靠近物件的一端为终点 。false:靠近物件的一端为起点", GH_ParamAccess.item, false);
     pManager.HideParameter(0);
     pManager.HideParameter(1);
 }
 // INPUT PARAMETERS
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     // Using Geometry Parameter allows to use any rhino as an input for the design geometry
     pManager.AddGeometryParameter("Geometry (Breps, Curves and Lines)", "G", "Design Geometry", GH_ParamAccess.list);
     // Score of the design
     pManager.AddNumberParameter("Score", "S", "Design Score", GH_ParamAccess.item);
     // Slider modifiable by the evolutionary engine
     pManager.AddNumberParameter("Design Variables", "DVar", "Design Variables To Be Considered in the Interactive Evolutionary Optimization", GH_ParamAccess.list);
 }
Beispiel #21
0
        //This region overrides the typical component layout


        #endregion

        #region Input and output

        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.AddGeometryParameter("Solid", "S", "Solid Geometry - Closed Brep or Mesh", GH_ParamAccess.item);
            pManager.AddGenericParameter("3D Prop", "P3", "3D Property", GH_ParamAccess.item);
            pManager.AddNumberParameter("Mesh Size", "Ms", "Targe mesh size", GH_ParamAccess.item, 0);

            pManager[1].Optional = true;
            pManager[2].Optional = true;
        }
Beispiel #22
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geometry", "Geometry", "Geometry to slice.", GH_ParamAccess.item);
     pManager.AddNumberParameter("Layer Height", "Layer Height", "Distance between z planes.", GH_ParamAccess.item, 0.2);
     pManager.AddNumberParameter("Global Offset", "Global Offset", "Offset distance applied to all layers.", GH_ParamAccess.item, 0);
     pManager.AddNumberParameter("Bottom Layer Offset", "Bottom Layer Offset", "Bottom layer offset distance.", GH_ParamAccess.item, 0);
     pManager.AddNumberParameter("Top Layer Offset", "Bottom Layer Offset", "Top layer offset distance.", GH_ParamAccess.item, 0);
     pManager.AddBooleanParameter("Force Top Layer", "Force Top Layer", "Ensure there is a layer at the top. (0 or 1; True or False.)", GH_ParamAccess.item, false);
 }
Beispiel #23
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddNumberParameter("6AxisAngles", "6Axis", "Data for Simulation", GH_ParamAccess.list);
     pManager.AddNumberParameter("RobotData", "RData", "RobotData", GH_ParamAccess.list);
     pManager.AddGeometryParameter("RobotModel", "RModel", "RobotMeshModel", GH_ParamAccess.list);
     pManager.AddMeshParameter("ToolModel", "Tool", "Tool Mesh Model", GH_ParamAccess.item);
     pManager.AddNumberParameter("SimRatio", "Time", "Time ratio of Simulation", GH_ParamAccess.item, 0);
     pManager.AddTextParameter("Path", "Path", "Path", GH_ParamAccess.item);
 }
Beispiel #24
0
        /// <summary>
        /// Registers all the input parameters for this component.
        /// </summary>
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.AddGeometryParameter("Geometry", "G", "Geometry to frame", GH_ParamAccess.list);
            pManager.AddNumberParameter("Inflate", "i", "Inflate Geometry Bounding Box (zooms out), >= 0", GH_ParamAccess.item, 1.0);
            pManager.AddBooleanParameter("Activate", "a", "Activate Zoom", GH_ParamAccess.item, false);

            pManager[1].Optional = true;
            pManager[2].Optional = true;
        }
Beispiel #25
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geometry", "G", "Geometry to orient", GH_ParamAccess.item);
     pManager.AddPointParameter("Source Origin", "O", "Source plane origin", GH_ParamAccess.item);
     pManager.AddPointParameter("Source X", "X", "Source plane point for X direction", GH_ParamAccess.item);
     pManager.AddPointParameter("Source Y", "Y", "Source plane point for Y direction", GH_ParamAccess.item);
     pManager.AddPointParameter("Target Origin", "Ot", "Target plane origin", GH_ParamAccess.item);
     pManager.AddPointParameter("Target X", "Xt", "Target plane point for X direction", GH_ParamAccess.item);
     pManager.AddPointParameter("Target Y", "Yt", "Target plane point for Y direction", GH_ParamAccess.item);
 }
Beispiel #26
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Geometry", "Geometry", "Geometry to extract frames from.", GH_ParamAccess.item);
     pManager.AddNumberParameter("X Span", "X Span", "Span between x-axis frames.", GH_ParamAccess.item, 0.2);
     pManager.AddNumberParameter("Y Span", "Y Span", "Span between y-axis frames.", GH_ParamAccess.item, 0.2);
     pManager.AddNumberParameter("Z Span", "Z Span", "Span between z-axis frames.", GH_ParamAccess.item, 0.2);
     pManager.AddNumberParameter("DX Span", "DX Span", "Span between diagonal-x-axis frames.", GH_ParamAccess.item, 0.2);
     pManager.AddNumberParameter("DY Span", "DY Span", "Span between diagonal-y-axis frames.", GH_ParamAccess.item, 0.2);
     pManager.AddNumberParameter("Diagonal Angle", "Angle", "Angle of rotation of diagonal frames.", GH_ParamAccess.item, 45.0);
 }
Beispiel #27
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Point_Cloud", "PCD", "Rhino Point Cloud Geometry (x,y,z) with optional colors and normals", GH_ParamAccess.item); pManager[0].Optional = false;
     pManager.AddNumberParameter("ThresValN", "T_N", "Threshold normal, default 30° deviation ", GH_ParamAccess.item, 30.0); pManager[1].Optional                = true;
     pManager.AddNumberParameter("ThresValC", "T_C", "Threshold color, default 30 over all channels ", GH_ParamAccess.item, 30.0); pManager[2].Optional          = true;
     pManager.AddNumberParameter("MaxDist", "D", "Distance Search Area, default is dynamic starting at r=0.1m ", GH_ParamAccess.item, 0.1); pManager[3].Optional = true;
     pManager.AddNumberParameter("Minsize", "M", "Minimum cluster size, default 2000 points ", GH_ParamAccess.item, 2000.0); pManager[4].Optional                = true;
     pManager.AddNumberParameter("Offset", "T_copl", "Threshold coplanarity, default 0.05m ", GH_ParamAccess.item, 0.05); pManager[5].Optional = true;
     pManager.AddNumberParameter("Tilesize", "T_s", "Tilesize for parallel processing ", GH_ParamAccess.item, 200000); pManager[6].Optional    = true;
 }
Beispiel #28
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddGeometryParameter("Objects", "Objects", "Objects to bake", GH_ParamAccess.list);
     pManager.AddTextParameter("Layer Name", "Layer", "", GH_ParamAccess.item, "Default");
     pManager.AddTextParameter("Material Name", "Mat", "Specify render material by its name in your Rhino material table.", GH_ParamAccess.item, "Default material");
     pManager.AddGenericParameter("Attributes (Optional)", "Att", "Add custom Rhino.DocObjects.ObjectAttributes - object. Either through scripting or by using Horster (or similar). If set this overrides the 'Layer Name' and 'Material Name' input", GH_ParamAccess.item);
     pManager.AddBooleanParameter("Clear Layer", "ClearL", "<CAUTION!> This deletes all objects on the specified layer without further warning!", GH_ParamAccess.item, false);
     pManager[0].Optional = true;
     pManager[3].Optional = true;
 }
Beispiel #29
0
 /// <summary>
 /// Registers all the input parameters for this component.
 /// </summary>
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.AddCurveParameter("Boundery", "Boundery", "Boundery", GH_ParamAccess.item);
     pManager.AddPlaneParameter("Plane", "Plane", "Plane", GH_ParamAccess.item);
     pManager[1].Optional = true;
     pManager.AddGeometryParameter("Obstacles", "Obstacles", "Obstacles", GH_ParamAccess.list);
     pManager.AddIntegerParameter("Precision", "Precision", "The step size in degrees, that the script should be running", GH_ParamAccess.item, 10);
     pManager[3].Optional = true;
     pManager.AddNumberParameter("Custom Size Parameters", "Custom Size Parameters", "--Temporary-- Insert a list of 3 numbers, to override sizes (Booth Depth, Booth Width, Maneuvering Length)", GH_ParamAccess.list);
     pManager[4].Optional = true;
 }
Beispiel #30
0
        /// <summary>
        /// Register component inputs
        /// </summary>
        /// <param name="pm"></param>
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pm)
        {
            pm.AddNumberParameter("Sliders", "S", "(genotype) Connect slider here (currently only one)", GH_ParamAccess.list);
            //pm.AddGeometryParameter("Volatile Geometry", "vG", "(phenotype) Connect geometry that is dependent on sliders here", GH_ParamAccess.item);
            pm.AddGeometryParameter("Geometry", "G", "(phenotype) Connect geometry here - currently only meshes", GH_ParamAccess.list);
            pm.AddIntegerParameter("PopSize", "P", "Number of instances to display e.g. 12 = 4x3 viewports", GH_ParamAccess.item, 12);

            pm[0].WireDisplay = GH_ParamWireDisplay.faint;
            pm[1].WireDisplay = GH_ParamWireDisplay.faint;
            //pm[1].Optional = true;
        }