Revit二次开发-在程序中生成族类型
有时候,在程序中生成族实例需要多种族类型,但在做族的时候,我们又不知道具体使用的时候要用到多少种类型。那能不能在程序中生成呢?当然是可以的。
- 首先,根据一个族实例和项目的Document 打开一个族编辑器:
Family family = familyInstance.Symbol.Family;
Document familyDoc = document.EditFamily(family);
上面代码中的familyInstance是族实例,document是当前项目的Document,即你首先要在一个项目中操作,另外编辑一个族得基于此族的一个实例。familyDoc是打开的族文档,当然,在Revit的界面不会切换到族编辑界面。
- 得到族管理器
FamilyManager familyManager = familyDoc.FamilyManager;
- 新建族类型
FamilyType newFamilyType = familyManager.NewType("type");
这时候,已经生成了一个新的类型。当然,本操作要在Transaction 中进行。
- 把改好的族重新加载回项目
family = familyDoc.LoadFamily(document, loadOptions);
然后就可以在项目中使用新的族类型了。
完整的示例见:https://gitee.com/zppzq/CreateFamilySymbol.git