首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Forge在Revit中导入IFC (自动生成ifc.rvt)

使用Forge在Revit中导入IFC (自动生成ifc.rvt)
EN

Stack Overflow用户
提问于 2022-01-31 08:08:00
回答 2查看 201关注 0票数 0

我试图在Revit中自动导入IFC文件,以便使用Forge自动生成ifc.rvt文件:

AppBundle &我想使用的活动

代码语言:javascript
复制
private void ChangeIfcToRev(DesignAutomationData data)
{
    Application rvtApp = data.RevitApp;
    string modelPath = data.FilePath;
    Document doc = rvtApp.OpenIFCDocument(modelPath);
    ModelPath path = ModelPathUtils.ConvertUserVisiblePathToModelPath("result.rvt");
    doc.SaveAs(path, new SaveAsOptions());
}

现在,每当我启动插件时,都会出现以下错误:

代码语言:javascript
复制
Autodesk.Revit.Exceptions.InvalidOperationException: The document can not be opened.
  at Autodesk.Revit.ApplicationServices.Application.OpenDocumentFile(ModelPath modelPath, 
  OpenOptions openOptions)
  at DesignAutomationFramework.DesignAutomationData..ctor(Application revitApp, String 
  mainModelPath)
  at DesignAutomationFramework.DesignAutomationReadyEventArgs..ctor(Application revitApp, String 
  mainModelPath)
  at DesignAutomationFramework.DesignAutomationBridge.SetDesignAutomationReady(Application 
  revitApp, String mainModelPath)
  at RevitCoreEngineTest.RceConsoleApplication.Program.UserMain(CommandLineArgs cl)

这真的很奇怪,因为我在代码中没有使用OpenDocumentFile函数。我正在使用OpenIFCDocument函数。因为我没有得到任何进一步,我试图只重放ifc文件。同样的错误。

然后我尝试使用Forge教程中的samplePlugin:https://learnforge.autodesk.io/#/designautomation/appbundle/

samplePlugin可以很好地处理.rvt文件,但不能处理.ifc文件。还有一个错误。

我做错什么了?谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

发布于 2022-01-31 08:18:37

可能,Forge for Revit坚持使用提供的RVT输入文件参数启动Revit。要处理此要求,您可能可以提供一个最小的虚拟 RVT文件作为输入参数,然后简单地忽略它,继续以第二个打开文档的形式打开IFC文件,并将其保存为RVT,就像现在一样。

更仔细地查看发布活动的说明,我发现输入文件是在命令行中指定的:

代码语言:javascript
复制
  "commandLine": [ "$(engine.path)\\\\revitcoreconsole.exe /i \"$(args[rvtFile].path)\" /al \"$(appbundles[DeleteWallsApp].path)\"" ],

您在那里指定了什么输入文件?

你能简单地省略它吗?

票数 0
EN

Stack Overflow用户

发布于 2022-02-02 16:41:11

我收到了开发团队的回复,解决方案更简单。

只需省略commandLine规范中的输入参数:

代码语言:javascript
复制
 "commandLine": [ "$(engine.path)\\\\revitcoreconsole.exe /al \"$(appbundles[mybundles].path)\"" ]

这并不是什么新鲜事,大多数客户可能都知道这一点。不过,我同意我们可以更新Forge文档来显式地声明这种用法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70922837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档