/// <summary> /// construct function. /// </summary> /// <param name="door">of which geometry data is wanted.</param> public DoorGeometry(Autodesk.Revit.DB.Element door) { m_options = new Options(); m_options.View = GetPlanform2DView(door); m_options.ComputeReferences = false; Autodesk.Revit.DB.GeometryElement geoEle = door.get_Geometry(m_options); AddGeometryElement(geoEle); m_bbox = door.get_BoundingBox(m_options.View); }
/// <summary> /// Extract the geometry of the given Element. /// </summary> /// <param name="elem">Element parameter</param> /// <returns>Element's geometry</returns> protected ElementGeometry ExtractGeom(Autodesk.Revit.DB.Element elem) { Solid result = null; Options options = new Options(); options.ComputeReferences = true; Autodesk.Revit.DB.GeometryElement gElement = elem.get_Geometry(options); foreach (GeometryObject gObj in gElement.Objects) { result = gObj as Solid; if (result != null && result.Faces.Size > 0) break; } BoundingBoxXYZ box = elem.get_BoundingBox(null); return new ElementGeometry(result, box); }