sfa*_*ust 4 autodesk-forge autodesk-designautomation
好吧,我认为我们有一个在 Forge 中运行的 DA for Revit 应用程序,但下一个问题是如何支持多个 Revit 版本,但我找不到大量相关文档。这是我的理解(或者我认为无论如何)以及我的问题:
每个应用程序包和活动只能定义一个引擎,因此您似乎需要为每个受支持的 Revit 版本创建一个包,并为每个 Revit 版本创建一个相关活动。对此的疑问:
应用程序包通过其 ID 引用。大多数示例将 ID 显示为“DeleteWallsApp”或其他类似内容。但是,如果您确实需要多个 Revit 版本的多个应用程序包,那么您是否真的想要使用“DeleteWallsApp2018”和“DeleteWallsApp2020”等 ID?您不能拥有多个相同的 ID,因此这似乎是最相关的方法。它是否正确?
捆绑包和活动也通过其别名进行引用。如果我理解它们是用于测试与生产代码等的开发/登台/生产别名。如果是这样,是否建议每个包都使用这些别名?
这似乎有很多东西需要上传到很多不同的地方,但我想如果你使系统自动化,这也不算太糟糕。我只是想确保我没有遗漏结构的某些部分。
该活动可以覆盖应用程序包指定的引擎版本。与桌面插件一样,appbundle只要引用的所有 API 都兼容(我们很少废弃某些 API),基于 Revit 2018 构建的插件就可以在 Revit 2019 及更高版本上运行。因此,您可以appbundle在 Revit 2018 上构建一个,并有多个activities相同appbundle和更高的引用engine引用与应用程序包
您还可以灵活地使用一项unqualified id通过别名为多个引擎提供服务的活动。例如,下面显示了如何使用 来执行此操作DeleteWallsActivity。
YourNickname.DeleteWallsActivity+dev_2018
YourNickname.DeleteWallsActivity+stg_2018
YourNickname.DeleteWallsActivity+prod_2018
YourNickname.DeleteWallsActivity+dev_2019
YourNickname.DeleteWallsActivity+stg_2019
YourNickname.DeleteWallsActivity+prod_2019
Run Code Online (Sandbox Code Playgroud)
unqualified id或者为每个引擎创建一个。例如下面显示DeleteWallsActivity2018和DeleteWallsActivity2019。
YourNickname.DeleteWallsActivity2018+dev
YourNickname.DeleteWallsActivity2018+stg
YourNickname.DeleteWallsActivity2018+prod
YourNickname.DeleteWallsActivity2019+dev
YourNickname.DeleteWallsActivity2019+stg
YourNickname.DeleteWallsActivity2019+prod
Run Code Online (Sandbox Code Playgroud)
由于每个完全限定 IDYourNickname.YourActivity+alias都有一个与其关联的活动版本,并且每个活动版本又通过其appbundles完全限定 ID 引用各自的活动版本,因此无论您appbundles为每个引擎创建一个还是多个,您都可以采用上述方案中的任何一种。
另请阅读有关此处的更多信息aliases:idshttps
://forge.autodesk.com/en/docs/design-automation/v3/developers_guide/aliases-and-ids/
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |