Exemplo n.º 1
0
        /// <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");
        }
Exemplo n.º 2
0
        /// <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");
        }
Exemplo n.º 3
0
        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);
        }