Autodesk.Revit.DB.Instance 类代表在 Revit 模型中的元素实例。它包含元素的几何形状、构建材料和其他属性,例如名称、标记和构造类型。
Autodesk.Revit.DB.Instance 类的继承关系如下:
System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.Instance
Autodesk.Revit.DB.Instance 类提供了以下构造函数:
public Instance(Element owner);
public Instance(Element owner, Transform transform);
其中,owner 参数表示元素实例所属的 Revit 元素,transform 参数表示元素实例的位置和方向。
Autodesk.Revit.DB.Instance 类提供了以下属性:
ElementId Id:获取元素实例的唯一标识符。Element Owner:获取元素实例所属的 Revit 元素。bool IsElementType:获取一个值,该值表示元素实例是否为类型元素的实例。Transform GetTransform():获取表示元素实例位置和方向的变换矩阵。FamilyInstanceUtils FamilyInstanceUtils:获取用于操作族实例的静态工具类。Autodesk.Revit.DB.Instance 类提供了以下方法:
Options GetGeometryOptions():获取用于访问元素实例几何形状的选项。GeometryElement GetGeometryElement():获取元素实例的几何元素,它由一个或多个 GeometryObject 对象组成。FamilyInstance GetFamilyInstance():获取元素实例的家族实例对象。void SetTransform(Transform transform):设置元素实例的位置和方向。以下示例演示如何获取元素实例的位置和方向:
// 获取元素实例
Element element = document.GetElement(elementId);
Instance instance = element as Instance;
if(instance != null)
{
// 获取元素实例的变换矩阵
Transform transform = instance.GetTransform();
// 获取元素实例的位置和方向
XYZ origin = transform.Origin;
XYZ xAxis = transform.BasisX;
XYZ yAxis = transform.BasisY;
XYZ zAxis = transform.BasisZ;
}