前言
本文介绍 Revit 2021.1 新加的 FamilyDocument 节点以及相关概念。
内容
增加了 10 个节点,这些节点都需要在族文档里面才有意义:
FamilyDocument.ByDocument
通过现有的Document
创建出一个FamilyDocument
。FamilyDocument.AddParameter
增加一个族参数。FamilyDocument.DeleteParameter
删除一个族参数。FamilyDocument.Category
得到族文档所属的类型。FamilyDocument.GetFormula
得到族参数的公式。FamilyDocument.Parameters
得到族的所有参数。FamilyDocument.GetParameterValueByName
得到当前族的某个族类型上某个参数的值(实例或者类型参数)。FamilyDocument.SetCategory
设置族文档所属的类型。FamilyDocument.SetFormula
设置族参数的公式。FamilyDocument.SetParameterValueByName
设置当前族的某个族类型上某个参数的值(实例或者类型参数)。
FamilyDocument
这个概念在 Revit API 中是没有的,在 API 中对应的也是 Document
,不过有属性来判断一个文档是否为族文档:
// 只有那些 IsFamilyDocument 为 true 的,OwnerFamily 才有意义。
// Autodesk.Revit.DB.Document 的属性
public bool IsFamilyDocument {
get; }
public Family OwnerFamily {
get; }
目前看来,只有 Document.Current
这个节点可以返回文档,因此 FamilyDocument.ByDocument
是对当前文档的二次包装。
具体使用可以参考官方测试样例:https://github.com/DynamoDS/DynamoRevit/tree/master/test/System/FamilyDocument
FamilyDocument.Category
得到族文档所属的类型,实际上是通过 OwnerFamily.InternalFamily.FamilyCategory
。
FamilyDocument.AddParameter
增加一个族参数。
FamilyDocument.DeleteParameter
删除一个族参数。
FamilyDocument.GetFormula
得到族参数的公式。
FamilyDocument.GetParameterValueByName
得到当前族的某个族类型上某个参数的值(实例或者类型参数)。
FamilyDocument.Parameters
得到族的所有参数。可以通过 FamilyParameter
下面的节点做后续的操作。
FamilyDocument.SetCategory
设置族文档所属的类型。
FamilyDocument.SetFormula
设置族参数的公式。
FamilyDocument.SetParameterValueByName
设置当前族的某个族类型上某个参数的值(实例或者类型参数)。