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;
}