/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="dataAccess"> /// The DA object is used to retrieve from inputs and store in outputs. /// </param> protected override void SolveInstance(IGH_DataAccess dataAccess) { ISAMGeometry sAMGeometry = null; if (!dataAccess.GetData(0, ref sAMGeometry) || sAMGeometry == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Invalid data"); return; } Point3D point3D = sAMGeometry as Point3D; if (point3D != null) { dataAccess.SetData(0, Geometry.Topologic.Convert.ToTopologic(point3D)); return; } ICurve3D curve3D = sAMGeometry as ICurve3D; if (curve3D != null) { dataAccess.SetData(0, Geometry.Topologic.Convert.ToTopologic(curve3D)); return; } Polygon3D polygon3D = sAMGeometry as Polygon3D; if (polygon3D != null) { dataAccess.SetData(0, Geometry.Topologic.Convert.ToTopologic(polygon3D)); return; } Face3D face3D = sAMGeometry as Face3D; if (face3D != null) { dataAccess.SetData(0, Geometry.Topologic.Convert.ToTopologic(face3D)); return; } Shell shell = sAMGeometry as Shell; if (shell != null) { Brep brep = Rhino.Convert.ToRhino(shell); if (brep != null) { dataAccess.SetData(0, brep.ToTopologic(Core.Tolerance.MacroDistance)); return; } } AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Cannot convert geometry"); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="dataAccess"> /// The DA object is used to retrieve from inputs and store in outputs. /// </param> protected override void SolveInstance(IGH_DataAccess dataAccess) { ISAMGeometry sAMGeometry = null; if (!dataAccess.GetData(0, ref sAMGeometry) || sAMGeometry == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Invalid data"); return; } HoneybeeObject honeybeeObject = Geometry.LadybugTools.Convert.ToLadybugTools(sAMGeometry as dynamic) as HoneybeeObject; dataAccess.SetData(0, honeybeeObject?.ToJson()); //object obj = objectWrapper.Value; //dynamic lBObject = obj as dynamic; //string aName = lBObject._name; //switch (aName) //{ // case ("Python Types: Point"): // //dataAccess.SetData(0, point3D.ToGrasshopper()); // return; //} //Point3D point3D = obj as Point3D; //if (point3D != null) //{ // dataAccess.SetData(0, point3D.ToGrasshopper()); // return; //} //Segment3D segment3D = obj as Segment3D; //if (segment3D != null) //{ // //dataAccess.SetData(0, segment3D.ToGrasshopper()); // dataAccess.SetData(0, null); // return; //} //Polygon3D polygon3D = obj as Polygon3D; //if (polygon3D != null) //{ // dataAccess.SetData(0, polygon3D.ToGrasshopper()); // return; //} //AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Cannot convert geometry"); }
public static IntegerId IntegerId(this Element element) { if (element == null) { return(null); } IntegerId result = Core.Revit.Query.IntegerId(element); if (result == null) { return(result); } ISAMGeometry sAMGeometry = Location(element); if (sAMGeometry != null) { result.SetValue(RevitIdParameter.Location, sAMGeometry); } return(result); }