Exemplo n.º 1
0
        private static ElementFaceReference TryGetFaceReference(Revit.Elements.Element curveObject, string nodeTypeString = "This node")
        {
            var cs = curveObject.InternalGeometry().OfType<Autodesk.Revit.DB.Face>();
            if (cs.Any()) return new ElementFaceReference(cs.First());

            var ss = curveObject.InternalGeometry().OfType<Autodesk.Revit.DB.Solid>();
            if (ss.Any()) return new ElementFaceReference(ss.First().Faces.Cast<Autodesk.Revit.DB.Face>().First());

            throw new ArgumentException(nodeTypeString + " requires a ElementFaceReference extracted from a Revit Element! " +
                             "You supplied an " + curveObject.ToString() + ", but we could not extract a ElementFaceReference from it!");
        }