Document.Create.NewFamilyInstance 无法在 Design Automation For Revit 中生成

Document.Create.NewFamilyInstance not working generate in Design Automation For Revit

我想通过 Design Automation 自动生成脚手架,但我在 Create.NewFamilyInstance 中遇到了问题。

所以我正在使用 BuiltInCategory.OST_SpecialityEquipment 获取 FilteredElementCollector 收集器

FilteredElementCollector elementCollector = (new FilteredElementCollector(doc));
// Get Speciality Equipment
FilteredElementCollector col = elementCollector.OfCategory(BuiltInCategory.OST_SpecialityEquipment).OfClass(typeof(FamilySymbol));

并将 FamilySymbol SpecialityEquipment 获取到元素 Id

ScaffoldInfor scaffoldInfor = new ScaffoldInfor
                {
                    Symbol = doc.GetElement(scaffoldId) as FamilySymbol
                };

获取当前定义的 XYZ 坐标并使用 NewFamilyInstance(XYZ, FamilySymbol, StructuralType) 将族的新实例插入到文档中

FamilyInstance instance = doc.Create.NewFamilyInstance(currentPosition, scaffoldInfor.Symbol, StructuralType.NonStructural);

因此,当我在本地开始调试 DesignAutomationFramework 时,它起作用并生成了脚手架。但是当我推动设计自动化 API 时,它 运行 成功但没有生成脚手架。

这是工作项 ID:97971783a94a482cb1c210f36b65ca86

问题:为什么它不能使用 Design Automation API 但在本地仍然可以正常工作?

谢谢!

仔细一看,我上面提到的显示问题是因为生成的脚手架的 Phase Created 与 View 的 Phase 不同。在插件的源代码中,你可以简单地添加 instance.CreatedPhaseId = selectedWall.CreatedPhaseId;在 doc.Create.NewFamilyInstance... 之后,因此生成的脚手架的 Phase Created 将与托管 Wall 相同。通过此更改,您将在 result.rvt 中看到生成的脚手架。如果还有其他问题或您希望我共享源代码,请告诉我。