// Casting to GH Data Types public Brep ToBrep() { //if (IsPlanar()) //{ // return ToPlanarBrep(); //} //else //{ // return ToNonPlanarBrep(); //} if (GeometryType == SurfaceGeometryType.NurbsSurfaceType) { return(ToNurbsSurface()); } var myEdges = new List <Curve>(); var sEdges = from e in Edges select e.ToCurve(); myEdges.AddRange(Curve.JoinCurves(sEdges)); if (!(Openings == null)) { foreach (var o in Openings) { var oEdges = from e in o.Edges select e.ToCurve(); myEdges.AddRange(Curve.JoinCurves(oEdges)); } } return(UtilLibrary.CreateNonPlanarBrep(myEdges, 0.001)); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_String(), "Surface List", "SrfcList", "Surface List", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Support Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir X", "Tx", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m³]", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir Y", "Ty", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m³]", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir Z", "Tz", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m³]", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu1 = new GH_ExtendableMenu(0, "nonlinieraity"); gH_ExtendableMenu1.Name = "Nonlinearity"; gH_ExtendableMenu1.Collapse(); unit.RegisterInputParam(new Param_Integer(), "SupportNonlinearityZ", "NTz", UtilLibrary.DescriptionRFTypes(typeof(NonlinearityType)), GH_ParamAccess.item); unit.Inputs[6].EnumInput = UtilLibrary.ListRFTypes(typeof(NonlinearityType)); unit.Inputs[6].Parameter.Optional = true; gH_ExtendableMenu1.RegisterInputPlug(unit.Inputs[6]); unit.AddMenu(gH_ExtendableMenu1); GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(1, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_Number(), "Shear Constant Dir XZ", "Vxz", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m³]", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Shear Constant Dir YZ", "Vyz", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m³]", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[8]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(2, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Surface Support", "RF SrfcSup", "Support object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[9]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[11]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Surface Support", "RF SrfcSup", "Output RFSrfcSupport."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Plane(), "Location", "Loc", "Point or Plane to assemble the RFSupport from.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Support Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir X", "Tx", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m]", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir Y", "Ty", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m]", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir Z", "Tz", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m]", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Dir X", "Rx", "(-1): Fixed; (0): Free; Other: Stiffness in [kNm/rad]", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Dir Y", "Ry", "(-1): Fixed; (0): Free; Other: Stiffness in [kNm/rad]", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Dir Z", "Rz", "(-1): Fixed; (0): Free; Other: Stiffness in [kNm/rad]", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_String(), "Node List", "NodeList", "Node List", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Rotation Sequence", "Seq", UtilLibrary.DescriptionRFTypes(typeof(RotationSequence)), GH_ParamAccess.item); unit.Inputs[10].EnumInput = UtilLibrary.ListRFTypes(typeof(RotationSequence)); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Vector(), "Rotation Angles", "Rot", "Euler Angles [rad]", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[9]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[11]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Nodal Support", "RF NodSup", "Support object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[12].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[13].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[14].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[12]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[13]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[14]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Nodal Support", "RF NodSup", "Output RFNodalSupport."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Line(), "Base Line", "Line", "Load Application Line.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Case", "LC", "Load Case to assign the load to.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 1 [kN/m]", "F1", "Load Value [kN/m]", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_String(), "Surface List", "SfcList", "Surface List", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 2 [kN/m]", "F2", "Load Value [kN/m]", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Direction Type", "Dir", UtilLibrary.DescriptionRFTypes(typeof(LoadDirectionType)), GH_ParamAccess.item); unit.Inputs[7].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadDirectionType)); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Distribution Type", "Dist", UtilLibrary.DescriptionRFTypes(typeof(LoadDistributionType)), GH_ParamAccess.item); unit.Inputs[8].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadDistributionType)); unit.Inputs[8].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "ProjectionPlane", "Proj", UtilLibrary.DescriptionRFTypes(typeof(PlaneType)), GH_ParamAccess.item); unit.Inputs[9].EnumInput = UtilLibrary.ListRFTypes(typeof(PlaneType)); unit.Inputs[9].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[5]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[8]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[9]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Free Line Load", "RF FLLoad", "Load object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[12].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[11]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[12]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Free Line Load", "RF FLLoad", "Output RFLineLoad."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Curve(), "Line", "Line", "Line or Curve to attach RFSupportL to.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Hinge Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Surface Number", "SfcNo", "Index number of the Surface to apply the hinge to.", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir X", "Tx", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m]", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir Y", "Ty", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m]", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Displacement Dir Z", "Tz", "(-1): Fixed; (0): Free; Other: Stiffness in [kN/m]", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Dir X", "Rx", "(-1): Fixed; (0): Free; Other: Stiffness in [kNm/rad]", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Dir Y", "Ry", "(-1): Fixed; (0): Free; Other: Stiffness in [kNm/rad]", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Dir Z", "Rz", "(-1): Fixed; (0): Free; Other: Stiffness in [kNm/rad]", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_Integer(), "LineNo", "LineNo", "Line Index related to the Line Hinge", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Side", "Side", UtilLibrary.DescriptionRFTypes(typeof(HingeSideType)), GH_ParamAccess.item); unit.Inputs[11].EnumInput = UtilLibrary.ListRFTypes(typeof(HingeSideType)); unit.Inputs[11].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[11]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Line Hinge", "RF LineHinge", "Line Hinge object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[12].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[13].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[14].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[12]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[13]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[14]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Line Hinge", "RF LineHinge", "Output RFLineHinge."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Surface(), "Surface", "Srfc", "Surface to assemble the RFSurface from.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Surface Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Material Number", "Mat", "Material index number.", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Thickness [m]", "H", "Surface thickness.", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_String(), "Boundary Line List", "Bound", "Boundary Line List", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Surface Type", "Type", UtilLibrary.DescriptionRFTypes(typeof(SurfaceGeometryType)), GH_ParamAccess.item); unit.Inputs[6].EnumInput = UtilLibrary.ListRFTypes(typeof(SurfaceGeometryType)); unit.Inputs[6].Parameter.Optional = true; //unit.RegisterInputParam(new Param_Integer(), "Interpolated Points", "n", "Number of interpolated points for NURBS", GH_ParamAccess.item, new GH_Integer(4)); //unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Thickness Type", "Thick", UtilLibrary.DescriptionRFTypes(typeof(SurfaceThicknessType)), GH_ParamAccess.item); unit.Inputs[7].EnumInput = UtilLibrary.ListRFTypes(typeof(SurfaceThicknessType)); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Stiffness Type", "Stiff", UtilLibrary.DescriptionRFTypes(typeof(SurfaceStiffnessType)), GH_ParamAccess.item); unit.Inputs[8].EnumInput = UtilLibrary.ListRFTypes(typeof(SurfaceStiffnessType)); unit.Inputs[8].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[5]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[8]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Surface", "RF Surface", "Surface object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[9]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[11]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Surface", "RF Surface", "Output RFSurface."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Integer(), "Release Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Node Number", "Node", "Index Number of the node to assign the release to.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Member List", "Members", "List of released members", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Hinge Number", "Hinge", "Nomber of member hinge to import properties from", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Member Number", "Member", "Member (or line) number to get the axis system from", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_Integer(), "Axis System", "Axis", UtilLibrary.DescriptionRFTypes(typeof(NodalReleaseAxisSystem)), GH_ParamAccess.item); unit.Inputs[6].EnumInput = UtilLibrary.ListRFTypes(typeof(NodalReleaseAxisSystem)); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Surface List", "Sfcs", "List of released surfaces", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Solid List", "Solids", "List of released solids", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Release Location", "Location", UtilLibrary.DescriptionRFTypes(typeof(ReleaseLocation)), GH_ParamAccess.item); unit.Inputs[9].EnumInput = UtilLibrary.ListRFTypes(typeof(ReleaseLocation)); unit.Inputs[9].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[8]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[9]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Nodal Release", "RF NodalRelease", "Nodal Release object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[12].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[11]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[12]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Nodal Release", "RF NodalRelease", "Output RFNodalRelease."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Point(), "Location", "Loc", "Load Application point.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Case", "LC", "Load Case to assign the load to.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Vector(), "Force [kN]", "F", "Load Force [kN]", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Vector(), "Moment [kNm]", "M", "Load Moment [kN]", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_String(), "Node List", "NodeList", "Node List", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "LoadDefinitionType", "Def", UtilLibrary.DescriptionRFTypes(typeof(LoadDefinitionType)), GH_ParamAccess.item); unit.Inputs[7].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadDefinitionType)); unit.Inputs[7].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Nodal Load", "RF NLoad", "Load object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[8]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[9]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[10]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Nodal Load", "RF NLoad", "Output RFNodalLoad."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Curve(), "Line", "Line", "Line or Curve to assemble the RFLine from.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Line Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_String(), "NodeList", "NodeList", "Node List", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Line Type", "Type", UtilLibrary.DescriptionRFTypes(typeof(LineType)), GH_ParamAccess.item); unit.Inputs[4].EnumInput = UtilLibrary.ListRFTypes(typeof(LineType)); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Angle [°]", "β", "Rotation Angle [°]", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[3]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[4]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[5]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Line", "RF Line", "Line object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[8]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Line", "RF Line", "Output RFNode."); }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Integer(), "Load Case Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Description", "Description", "Description of Load Case.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Action Category", "Action", UtilLibrary.DescriptionRFTypes(typeof(ActionCategoryType)), GH_ParamAccess.item); unit.Inputs[2].EnumInput = UtilLibrary.ListRFTypes(typeof(ActionCategoryType)); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_Vector(), "Self Weight Factor", "Self Weight", "Self Weight Factor", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "To Solve", "Solve", "Solve Load Case?", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[4]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[5]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Load Case", "RF LoadCase", "Load object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[8]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Load Case", "RF LoadCase", "Output RFLoadCase."); }
protected override void RegisterEvaluationUnits(EvaluationUnitManager mngr) { EvaluationUnit evaluationUnit = new EvaluationUnit("Assemble Line Hinge", "LineHinge", "Creates a RFLineHinge object to define new data or modify existing data " + "in the RFEM model."); mngr.RegisterUnit(evaluationUnit); evaluationUnit.RegisterInputParam(new Param_Integer(), "LineNo", "LineNo", "Line Index related to the Line Hinge", GH_ParamAccess.item); evaluationUnit.Inputs[0].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_String(), "Side", "Side", UtilLibrary.DescriptionRFTypes(typeof(HingeSideType)), GH_ParamAccess.item); evaluationUnit.Inputs[1].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_RFEM(), "Line Hinge", "LineHinge", "Line Hinge object from the RFEM model to modify", GH_ParamAccess.item); evaluationUnit.Inputs[2].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify node?", GH_ParamAccess.item); evaluationUnit.Inputs[3].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete node?", GH_ParamAccess.item); evaluationUnit.Inputs[4].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu); for (int i = 0; i < 2; i++) { gH_ExtendableMenu.RegisterInputPlug(evaluationUnit.Inputs[i]); } GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu2); for (int i = 2; i < 2 + 3; i++) { gH_ExtendableMenu2.RegisterInputPlug(evaluationUnit.Inputs[i]); } }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_String(), "Member List", "Member", "Member List.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Case", "LC", "Load Case to assign the load to.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 1 [kN/m]", "F1", "Load Value [kN/m]", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_Number(), "Magnitude 2 [kN/m]", "F2", "Load Value [kN/m]", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 3 [kN/m]", "F3", "Load Value [kN/m]", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 4 [°C]", "T4", "Load Value [°C]", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 5 [°C]", "T5", "Load Value [°C]", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 6 [°C]", "T6", "Load Value [°C]", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Distance A", "t1", "Distance A", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Distance B", "t2", "Distance B", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Forces [kN/m]", "F", "Array of Loads", GH_ParamAccess.list); unit.Inputs[12].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Relative Distances", "L", "Array of Loads", GH_ParamAccess.list); unit.Inputs[13].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Type", "Type", UtilLibrary.DescriptionRFTypes(typeof(LoadType)), GH_ParamAccess.item); unit.Inputs[14].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadType)); unit.Inputs[14].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Direction Type", "Dir", UtilLibrary.DescriptionRFTypes(typeof(LoadDirectionType)), GH_ParamAccess.item); unit.Inputs[15].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadDirectionType)); unit.Inputs[15].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Distribution Type", "Dist", UtilLibrary.DescriptionRFTypes(typeof(LoadDistributionType)), GH_ParamAccess.item); unit.Inputs[16].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadDistributionType)); unit.Inputs[16].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Member Load Reference Type", "RefType", UtilLibrary.DescriptionRFTypes(typeof(MemberLoadReferenceType)), GH_ParamAccess.item); unit.Inputs[17].EnumInput = UtilLibrary.ListRFTypes(typeof(MemberLoadReferenceType)); unit.Inputs[17].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Over Total Length", "Total", "Over Total Length", GH_ParamAccess.item); unit.Inputs[18].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Relative Distances", "Rel", "Relative Distances", GH_ParamAccess.item); unit.Inputs[19].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[5]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[8]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[9]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[11]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[12]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[13]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[14]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[15]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[16]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[17]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[18]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[19]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Member Load", "RF MLoad", "Load object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[20].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[21].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[22].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[20]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[21]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[22]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Member Load", "RF MLoad", "Output RFMemberLoad."); }
protected override void RegisterEvaluationUnits(EvaluationUnitManager mngr) { EvaluationUnit evaluationUnit = new EvaluationUnit("Get Results", "Get Results", "Gets Results from the RFEM Model.", Properties.Resources.icon_GetResults); mngr.RegisterUnit(evaluationUnit); // Deformation evaluationUnit.RegisterInputParam(new Param_Number(), "Scale Factor", "Scale Factor", "Scale Factor applied to the deformed shape.", GH_ParamAccess.item, new GH_Number(1)); evaluationUnit.Inputs[0].Parameter.Optional = true; evaluationUnit.RegisterOutputParam(new Param_Curve(), "Crv", "Curves", "Deformed shape of the linear elemnents of the RFEM Model."); evaluationUnit.RegisterOutputParam(new Param_Integer(), "Member No", "No", "Member Number related to deformed curve."); evaluationUnit.RegisterOutputParam(new Param_Mesh(), "Msh", "Meshes", "Deformed shape of the surface elemnents of the RFEM Model."); evaluationUnit.RegisterOutputParam(new Param_Integer(), "Surface No", "No", "Surface Number related to deformed mesh."); GH_ExtendableMenu gH_ExtendableMenu0 = new GH_ExtendableMenu(0, "Deformation"); gH_ExtendableMenu0.Name = "Deformation"; gH_ExtendableMenu0.Expand(); evaluationUnit.AddMenu(gH_ExtendableMenu0); gH_ExtendableMenu0.RegisterInputPlug(evaluationUnit.Inputs[0]); for (int i = 0; i < 4; i++) { gH_ExtendableMenu0.RegisterOutputPlug(evaluationUnit.Outputs[i]); } // Load Cases and Combos GH_ExtendableMenu gH_ExtendableMenu1 = new GH_ExtendableMenu(1, "Load Cases and Combos"); gH_ExtendableMenu1.Name = "Load Cases and Combos"; gH_ExtendableMenu1.Expand(); evaluationUnit.AddMenu(gH_ExtendableMenu1); MenuPanel menuPanel = new MenuPanel(1, "panel_load"); menuPanel.Header = "Set here the load case for display.\n"; MenuStaticText menuStaticText0 = new MenuStaticText(); menuStaticText0.Text = "Select Load Case or Combo"; menuStaticText0.Header = "Load Case"; menuPanel.AddControl(menuStaticText0); _loadDrop = new MenuDropDown(1, "dropdown_loads_1", "loading type"); _loadDrop.ValueChanged += _loadDrop__valueChanged; _loadDrop.Header = "Set here the loading type for display.\n"; menuPanel.AddControl(_loadDrop); MenuStaticText menuStaticText1 = new MenuStaticText(); menuStaticText1.Text = "Select Result Type"; menuStaticText1.Header = "Result Type"; menuPanel.AddControl(menuStaticText1); _resulttypeDrop = new MenuDropDown(2, "dropdown_result_1", "result type"); _resulttypeDrop.ValueChanged += _loadDrop__valueChanged2; _resulttypeDrop.Header = "Set here the loading type for display.\n"; menuPanel.AddControl(_resulttypeDrop); gH_ExtendableMenu1.AddControl(menuPanel); // Overwrite GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(2, "Overwrite"); gH_ExtendableMenu2.Name = "Overwrite"; evaluationUnit.RegisterInputParam(new Param_String(), "Overwrite Load Case or Combo", "Load Case", "Overwrite selected load case or combo from the dropdown menu.", GH_ParamAccess.item); evaluationUnit.Inputs[1].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(evaluationUnit.Inputs[1]); evaluationUnit.RegisterInputParam(new Param_Integer(), "Overwrite Result type", "Result Type", UtilLibrary.DescriptionRFTypes(typeof(ResultsValueType)), GH_ParamAccess.item); evaluationUnit.Inputs[2].Parameter.Optional = true; evaluationUnit.Inputs[2].EnumInput = UtilLibrary.ListRFTypes(typeof(ResultsValueType)); gH_ExtendableMenu2.RegisterInputPlug(evaluationUnit.Inputs[2]); evaluationUnit.AddMenu(gH_ExtendableMenu2); // Select results GH_ExtendableMenu gH_ExtendableMenu3 = new GH_ExtendableMenu(3, "Select Results"); gH_ExtendableMenu3.Name = "Select Results"; gH_ExtendableMenu3.Expand(); evaluationUnit.AddMenu(gH_ExtendableMenu3); MenuPanel menuPanel2 = new MenuPanel(2, "panel_results"); menuPanel2.Header = "Select output results.\n"; _tagGrp = new MenuRadioButtonGroup(0, "radiogrp_tags"); _tagGrp.Direction = MenuRadioButtonGroup.LayoutDirection.Vertical; _tagGrp.ValueChanged += _tagGrp__valueChanged; _tagGrp.MaxActive = 1; _tagGrp.MinActive = 1; buttonLocal = new MenuRadioButton(0, "radio_local", "Local", MenuRadioButton.Alignment.Horizontal) { Name = "Local", Active = true }; buttonGlobal = new MenuRadioButton(1, "radio_global", "Global", MenuRadioButton.Alignment.Horizontal) { Name = "Global", Active = false }; _tagGrp.AddButton(buttonLocal); _tagGrp.AddButton(buttonGlobal); menuPanel2.AddControl(_tagGrp); _deformationsCheck = new MenuCheckBox(0, "deformations", "Deformation"); _deformationsCheck.ValueChanged += _deformationsCheck__valueChanged; _deformationsCheck.Active = true; _deformationsCheck.Header = "Display deformed shape."; _memberForcesCheck = new MenuCheckBox(1, "check member forces", "Member Forces"); _memberForcesCheck.ValueChanged += _memberForcesCheck__valueChanged; _memberForcesCheck.Active = true; _memberForcesCheck.Header = "Add member forces to output results."; _surfaceForcesCheck = new MenuCheckBox(2, "check surface forces", "Surface Forces"); _surfaceForcesCheck.ValueChanged += _surfaceForcesCheck__valueChanged; _surfaceForcesCheck.Active = true; _surfaceForcesCheck.Header = "Add surface forces to output results."; _nodalReactionsCheck = new MenuCheckBox(3, "check nodal reactions", "Nodal Reactions"); _nodalReactionsCheck.ValueChanged += _nodalReactionsCheck__valueChanged; _nodalReactionsCheck.Active = true; _nodalReactionsCheck.Header = "Add nodal reactions to output results."; _lineReactionsCheck = new MenuCheckBox(4, "check line reactions", "Line Reactions"); _lineReactionsCheck.ValueChanged += _lineReactionsCheck__valueChanged; _lineReactionsCheck.Active = true; _lineReactionsCheck.Header = "Add line reactions to output results."; menuPanel2.AddControl(_deformationsCheck); menuPanel2.AddControl(_memberForcesCheck); menuPanel2.AddControl(_surfaceForcesCheck); menuPanel2.AddControl(_nodalReactionsCheck); menuPanel2.AddControl(_lineReactionsCheck); gH_ExtendableMenu3.AddControl(menuPanel2); // Advanced evaluationUnit.RegisterInputParam(new Param_RFEM(), "Trigger", "Trigger", "Input to trigger the optimization", GH_ParamAccess.tree); evaluationUnit.Inputs[3].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_String(), "Model Name", "Model Name", "Segment of the name of the RFEM Model to get information from", GH_ParamAccess.item); evaluationUnit.Inputs[4].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu4 = new GH_ExtendableMenu(4, "Advanced"); gH_ExtendableMenu4.Name = "Advanced"; gH_ExtendableMenu4.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu4); for (int i = 3; i < 3 + 2; i++) { gH_ExtendableMenu4.RegisterInputPlug(evaluationUnit.Inputs[i]); } }
protected override void RegisterEvaluationUnits(EvaluationUnitManager mngr) { EvaluationUnit evaluationUnit = new EvaluationUnit("Assemble Nodal Support", "NodSup", "Creates a RFSupportP object to define new data or modify existing data " + "in the RFEM model."); mngr.RegisterUnit(evaluationUnit); evaluationUnit.RegisterInputParam(new Param_String(), "Node List", "NodeList", "Node List", GH_ParamAccess.item); evaluationUnit.Inputs[0].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_String(), "Rotation Sequence", "Seq", UtilLibrary.DescriptionRFTypes(typeof(RotationSequence)), GH_ParamAccess.item); evaluationUnit.Inputs[1].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Point(), "Rotation Angles", "Rot", "Euler Angles [rad]", GH_ParamAccess.item); evaluationUnit.Inputs[2].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_RFEM(), "Nodal Support", "NodSup", "Support object from the RFEM model to modify", GH_ParamAccess.item); evaluationUnit.Inputs[3].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify node?", GH_ParamAccess.item); evaluationUnit.Inputs[4].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete node?", GH_ParamAccess.item); evaluationUnit.Inputs[5].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu); for (int i = 0; i < 3; i++) { gH_ExtendableMenu.RegisterInputPlug(evaluationUnit.Inputs[i]); } GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu2); for (int i = 3; i < 3 + 3; i++) { gH_ExtendableMenu2.RegisterInputPlug(evaluationUnit.Inputs[i]); } }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_String(), "Surface List", "Srfc", "Surface List.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Case", "LC", "Load Case to assign the load to.", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 1 [kN/m²]", "F1", "Load Value [kN/m²]", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_Number(), "Magnitude 2 [kN/m²]", "F2", "Load Value [kN/m²]", GH_ParamAccess.item); unit.Inputs[5].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 3 [kN/m²]", "F3", "Load Value [kN/m²]", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 4 [°C]", "T4", "Load Value [°C]", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 5 [°C]", "T5", "Load Value [°C]", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Magnitude 6 [°C]", "T6", "Load Value [°C]", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Node1No", "Node1", "Node Index (useful for surface loads with linear distribution)", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Node2No", "Node2", "Node Index (useful for surface loads with linear distribution)", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Node3No", "Node3", "Node Index (useful for surface loads with linear distribution)", GH_ParamAccess.item); unit.Inputs[12].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Type", "Type", UtilLibrary.DescriptionRFTypes(typeof(LoadType)), GH_ParamAccess.item); unit.Inputs[13].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadType)); unit.Inputs[13].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Direction Type", "Dir", UtilLibrary.DescriptionRFTypes(typeof(LoadDirectionType)), GH_ParamAccess.item); unit.Inputs[14].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadDirectionType)); unit.Inputs[14].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Load Distribution Type", "Dist", UtilLibrary.DescriptionRFTypes(typeof(LoadDistributionType)), GH_ParamAccess.item); unit.Inputs[15].EnumInput = UtilLibrary.ListRFTypes(typeof(LoadDistributionType)); unit.Inputs[15].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[5]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[8]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[9]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[11]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[12]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[13]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[14]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[15]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Surface Load", "RF SLoad", "Load object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[16].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[17].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[18].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[16]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[17]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[18]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Surface Load", "RF SLoad", "Output RFSurfaceLoad."); }
protected override void RegisterEvaluationUnits(EvaluationUnitManager mngr) { EvaluationUnit evaluationUnit = new EvaluationUnit("Assemble Member", "Member", "Creates a RFMember object to define new data or modify existing data " + "in the RFEM model."); mngr.RegisterUnit(evaluationUnit); evaluationUnit.RegisterInputParam(new Param_Integer(), "LineNo", "LineNo", "Line Number", GH_ParamAccess.item); evaluationUnit.Inputs[0].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_String(), "Member Type", "Type", UtilLibrary.DescriptionRFTypes(typeof(MemberType)), GH_ParamAccess.item); evaluationUnit.Inputs[1].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Number(), "Rotation Angle [°]", "β", "Rotation Angle [°]", GH_ParamAccess.item); evaluationUnit.Inputs[2].Parameter.Optional = true; //evaluationUnit.RegisterInputParam(new Param_Integer(), "Interpolated Points", "n", "Number of interpolated points for NURBS", GH_ParamAccess.item); //evaluationUnit.Inputs[3].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Integer(), "End Cross-Section", "E CroSec", "Number of End Cross-Section", GH_ParamAccess.item); evaluationUnit.Inputs[3].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Integer(), "Start Hinge", "S Hinge", "Number of Start Hinge", GH_ParamAccess.item); evaluationUnit.Inputs[4].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Integer(), "End Hinge", "E Hinge", "Number of End Hinge", GH_ParamAccess.item); evaluationUnit.Inputs[5].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Integer(), "Eccentricity", "Ecc", "Number of Eccentricity", GH_ParamAccess.item); evaluationUnit.Inputs[6].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Integer(), "Division", "Div", "Number of Division", GH_ParamAccess.item); evaluationUnit.Inputs[7].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_String(), "Taper Shape", "Taper", UtilLibrary.DescriptionRFTypes(typeof(TaperShapeType)), GH_ParamAccess.item); evaluationUnit.Inputs[8].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_RFEM(), "Member", "Member", "Member object from the RFEM model to modify", GH_ParamAccess.item); evaluationUnit.Inputs[9].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify node?", GH_ParamAccess.item); evaluationUnit.Inputs[10].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete node?", GH_ParamAccess.item); evaluationUnit.Inputs[11].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu); for (int i = 0; i < 9; i++) { gH_ExtendableMenu.RegisterInputPlug(evaluationUnit.Inputs[i]); } GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu2); for (int i = 9; i < 9 + 3; i++) { gH_ExtendableMenu2.RegisterInputPlug(evaluationUnit.Inputs[i]); } }
protected override void RegisterEvaluationUnits(EvaluationUnitManager mngr) { EvaluationUnit evaluationUnit = new EvaluationUnit("Assemble Line", "Line", "Creates a RFLine object to define new data or modify existing data " + "in the RFEM model."); mngr.RegisterUnit(evaluationUnit); evaluationUnit.RegisterInputParam(new Param_String(), "NodeList", "NodeList", "Node List", GH_ParamAccess.item); evaluationUnit.Inputs[0].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_String(), "Line Type", "Type", UtilLibrary.DescriptionRFTypes(typeof(LineType)), GH_ParamAccess.item); evaluationUnit.Inputs[1].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Number(), "Rotation Angle [°]", "β", "Rotation Angle [°]", GH_ParamAccess.item); evaluationUnit.Inputs[2].Parameter.Optional = true; //evaluationUnit.RegisterInputParam(new Param_Integer(), "Interpolated Points", "n", "Number of interpolated points for NURBS", GH_ParamAccess.item); //evaluationUnit.Inputs[3].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_RFEM(), "Line", "Line", "Line object from the RFEM model to modify", GH_ParamAccess.item); evaluationUnit.Inputs[3].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify node?", GH_ParamAccess.item); evaluationUnit.Inputs[4].Parameter.Optional = true; evaluationUnit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete node?", GH_ParamAccess.item); evaluationUnit.Inputs[5].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu); for (int i = 0; i < 3; i++) { gH_ExtendableMenu.RegisterInputPlug(evaluationUnit.Inputs[i]); } GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); evaluationUnit.AddMenu(gH_ExtendableMenu2); for (int i = 3; i < 3 + 3; i++) { gH_ExtendableMenu2.RegisterInputPlug(evaluationUnit.Inputs[i]); } }
protected void Setup(EvaluationUnit unit) { unit.RegisterInputParam(new Param_Curve(), "Line", "Line", "Line or Curve to assemble the RFLine from.", GH_ParamAccess.item); unit.Inputs[0].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Start Cross-Section", "SCroSec", "Number of Start Cross-Section", GH_ParamAccess.item); unit.Inputs[1].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Member Number", "No", "Optional index number to assign to the RFEM object.", GH_ParamAccess.item); unit.Inputs[2].Parameter.Optional = true; unit.RegisterInputParam(new Param_String(), "Comment", "Comment", "Comment.", GH_ParamAccess.item); unit.Inputs[3].Parameter.Optional = true; GH_ExtendableMenu gH_ExtendableMenu = new GH_ExtendableMenu(0, "advanced"); gH_ExtendableMenu.Name = "Advanced"; gH_ExtendableMenu.Collapse(); unit.RegisterInputParam(new Param_Integer(), "LineNo", "LineNo", "Line Number", GH_ParamAccess.item); unit.Inputs[4].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Member Type", "Type", UtilLibrary.DescriptionRFTypes(typeof(MemberType)), GH_ParamAccess.item); unit.Inputs[5].EnumInput = UtilLibrary.ListRFTypes(typeof(MemberType)); unit.Inputs[5].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "Rotation Angle [°]", "β", "Rotation Angle [°]", GH_ParamAccess.item); unit.Inputs[6].Parameter.Optional = true; //unit.RegisterInputParam(new Param_Integer(), "Interpolated Points", "n", "Number of interpolated points for NURBS", GH_ParamAccess.item); //unit.Inputs[3].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "End Cross-Section", "ECroSec", "Number of End Cross-Section", GH_ParamAccess.item); unit.Inputs[7].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Start Hinge", "SHinge", "Number of Start Hinge", GH_ParamAccess.item); unit.Inputs[8].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "End Hinge", "EHinge", "Number of End Hinge", GH_ParamAccess.item); unit.Inputs[9].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Eccentricity", "Ecc", "Number of Eccentricity", GH_ParamAccess.item); unit.Inputs[10].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Division", "Div", "Number of Division", GH_ParamAccess.item); unit.Inputs[11].Parameter.Optional = true; unit.RegisterInputParam(new Param_Integer(), "Taper Shape", "Taper", UtilLibrary.DescriptionRFTypes(typeof(TaperShapeType)), GH_ParamAccess.item); unit.Inputs[12].EnumInput = UtilLibrary.ListRFTypes(typeof(TaperShapeType)); unit.Inputs[12].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "FactorY", "Kcr,y", "Effective length factor Kcr,y", GH_ParamAccess.item); unit.Inputs[13].Parameter.Optional = true; unit.RegisterInputParam(new Param_Number(), "FactorZ", "Kcr,z", "Effective length factor Kcr,z", GH_ParamAccess.item); unit.Inputs[14].Parameter.Optional = true; gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[4]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[5]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[6]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[7]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[8]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[9]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[10]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[11]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[12]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[13]); gH_ExtendableMenu.RegisterInputPlug(unit.Inputs[14]); unit.AddMenu(gH_ExtendableMenu); GH_ExtendableMenu gH_ExtendableMenu2 = new GH_ExtendableMenu(1, "modify"); gH_ExtendableMenu2.Name = "Modify"; gH_ExtendableMenu2.Collapse(); unit.RegisterInputParam(new Param_RFEM(), "RF Member", "RF Member", "Member object from the RFEM model to modify", GH_ParamAccess.item); unit.Inputs[15].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Modify", "Modify", "Modify object?", GH_ParamAccess.item); unit.Inputs[16].Parameter.Optional = true; unit.RegisterInputParam(new Param_Boolean(), "Delete", "Delete", "Delete object?", GH_ParamAccess.item); unit.Inputs[17].Parameter.Optional = true; gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[15]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[16]); gH_ExtendableMenu2.RegisterInputPlug(unit.Inputs[17]); unit.AddMenu(gH_ExtendableMenu2); unit.RegisterOutputParam(new Param_RFEM(), "RF Member", "RF Member", "Output RFMember."); }