Autodesk.Revit.DB.ExternallyTaggedGeometryObject
是Revit API中的一个类,用于表示使用外部应用程序来创建的几何体。该类会与一个外部应用程序分别管理应用程序中创建的几何体。
ApplicationId
:表示创建几何体的外部应用程序的Id。ApplicationData
: 表示外部应用程序提供的可选数据。Geometry
: 表示几何体的实例。Equals
:比较两个ExternallyTaggedGeometryObject
对象是否相等。GetHashCode
:获取哈希值。IsValidExternalTaggedGeometryObject
:判断一个对象是否为有效的ExternallyTaggedGeometryObject
实例。ExternallyTaggedGeometryObject
的大部分属性和方法都要求外部应用程序与Revit API协同工作,才能正常运行。ExternallyTaggedGeometryObject
时应注意外部应用程序创建的几何体必须在Revit中合法且不重叠。以下是一个使用ExternallyTaggedGeometryObject
的简单示例代码:
// 创建一个外部应用程序的Id。
Guid applicationId = Guid.NewGuid();
// 创建一个几何体实例。
SolidGeometry solidGeometry = new SolidGeometry();
// 创建一个ExternallyTaggedGeometryObject实例。
ExternallyTaggedGeometryObject geoObject = new ExternallyTaggedGeometryObject(applicationId, solidGeometry);
// 在Revit中创建一个新的几何体元素。
FamilyInstance geometryInstance = new FamilyInstance(new XYZ(0, 0, 0), new FamilySymbol());
// 为几何体设置标签和属性。
ElementTagFilter tagFilter = new ElementTagFilter("MyTag");
geoObject.TagElements(tagFilter, new Dictionary<string, string>() {{"MyProperty", "MyValue"}});
// 将外部跟踪的几何体与Revit模型中的元素关联。
ExternalGeometryResult geometryResult = geoObject.ExternalModelUpdate(geometryInstance);