GetBasis() public static méthode

get the coordinates from old coordinate system in the new coordinate system
public static GetBasis ( Autodesk point, Transform transform ) : Autodesk.Revit.DB.XYZ
point Autodesk
transform Transform
Résultat Autodesk.Revit.DB.XYZ
Exemple #1
0
        /// <summary>
        /// generate data of a Mesh
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="transform"></param>
        private void AddMesh(GeometryObject obj, Transform transform)
        {
            Mesh mesh = obj as Mesh;

            if (null == mesh)
            {
                return;
            }

            //a face has a mesh, all meshes are made of triangles
            for (int i = 0; i < mesh.NumTriangles; i++)
            {
                MeshTriangle triangular = mesh.get_Triangle(i);
                List <XYZ>   points     = new List <XYZ>();
                try
                {
                    for (int n = 0; n < 3; n++)
                    {
                        Autodesk.Revit.DB.XYZ point    = triangular.get_Vertex(n);
                        Autodesk.Revit.DB.XYZ newPoint = MathUtil.GetBasis(point, transform);
                        points.Add(newPoint);
                    }
                    Autodesk.Revit.DB.XYZ iniPoint = points[0];
                    points.Add(iniPoint);
                    m_curve3Ds.Add(points);
                }
                catch
                {
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// generate data of a Edge
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="transform"></param>
        private void AddEdge(GeometryObject obj, Transform transform)
        {
            Edge edge = obj as Edge;

            if (null == edge)
            {
                return;
            }

            List <XYZ> points = edge.Tessellate() as List <XYZ>;
            List <XYZ> result = new List <XYZ>();

            foreach (Autodesk.Revit.DB.XYZ point in points)
            {
                Autodesk.Revit.DB.XYZ newPoint = MathUtil.GetBasis(point, transform);
                result.Add(newPoint);
            }
            m_curve3Ds.Add(result);
        }
Exemple #3
0
        /// <summary>
        /// generate data of a Curve
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="transform"></param>
        private void AddCurve(GeometryObject obj, Transform transform)
        {
            Curve curve = obj as Curve;

            if (null == curve)
            {
                return;
            }

            if (curve.IsBound)
            {
                List <XYZ> points = curve.Tessellate() as List <XYZ>;
                List <XYZ> result = new List <XYZ>();
                foreach (Autodesk.Revit.DB.XYZ point in points)
                {
                    Autodesk.Revit.DB.XYZ newPoint = MathUtil.GetBasis(point, transform);
                    result.Add(newPoint);
                }
                m_curve3Ds.Add(result);
            }
        }