自适应族被广大的Revit用户喻为Revit特强大的宝剑之一。关于自适应族的特性请大家看Revit的相关文档。
Revit同时也开放了API来创建自适应构件族,也可以用API来生成自适应构件对象。
自适应族重要的类:AdaptiveComponentInstanceUtils
自适应族实例化:CreateAdaptiveComponentInstance
得到自适应点的ID:GetInstancePlacementPointElementRefIds
自适应点的位置:Position
自适应点和元素关联起来:SetPointElementReference
Revit提供了AdaptiveComponentFamilyUtils类来处理与创建族相关的功能,提供了10多个方法。具体请看RevitAPI.chm中的说明。
下面列出了如何创建一个自适应构件族的代码。 (摘自RevitAPI.chm)
自适应族的创建于普通族很不一样,可以从代码了解创建步骤和用到的方法。
private void CreateAdaptiveComponentFamily(Document document)
{
// 检查此族是否为自适应构件族
if (!(AdaptiveComponentFamilyUtils.IsAdaptiveComponentFamily(document.OwnerFamily))) return;
using (Transaction transaction = new Transaction(document))
{
int placementCtr = 1;
ReferencePointArray refPointArray = new ReferencePointArray();
for (int i =