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 中看到生成的脚手架。如果还有其他问题或您希望我共享源代码,请告诉我。
我想通过 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 中看到生成的脚手架。如果还有其他问题或您希望我共享源代码,请告诉我。