autodesk-forge - 如何检查我们是否在设计自动化云上?
问题描述
我在 Forge 的 Design Automation 平台上运行一个插件,但是我也在本地运行它以进行测试。我想要一种方法来检查代码是否在 forge 上运行。
搜索我遇到了这个例子: https ://forge.autodesk.com/blog/how-generate-dynamic-number-output-design-automation-revit-v3
但是if (RuntimeValue.RunOnCloud)
我没有设法让它工作(也没有在伪造文档中找到它的任何参考)。
如何检查我是否在 Forge 上运行?
解决方案
DAS_WORKITEM_ID
设计自动化服务为您的代码设置了一个特殊的环境变量,以便您appbundle
在需要时使用它。鉴于此,您应该能够检查是否设置了此变量以确定您的代码是否在 DA 中运行。
public static string GetWorkitemId()
{
return Environment.GetEnvironmentVariable("DAS_WORKITEM_ID");
}
public static bool IsRunningInDA()
{
return !String.IsNullOrEmpty(GetWorkitemId());
}
请注意,我们建议对您的 DA appbundle 和 Desktop Revit DB 插件使用相同的代码。谨慎使用此类策略,并尽量减少 DB 插件和 DA appbundle 之间的差异。
推荐阅读
- google-apps-script - Google 表格插件中的 HTML 输入总是返回错误的东西
- android - 在 Recycler 视图中显示可变数量的项目
- apache-spark - 火花流,如何跟踪处理的源文件?
- wordpress - Woocommerce:从购物车挂钩中删除商品
- reactjs - 如何从 REACTJS 中的按钮传递参数?
- amazon-web-services - AWS ELB 经典负载均衡器有效,但网络负载均衡器无效
- node.js - Express:页面未在 res.redirect() 上更新。我必须手动重新加载页面才能看到更改。如何解决这个问题?
- r - R在Plotly中禁用图层
- angular - 如何从过滤器列表中取消选择特定值?
- java - 我的 Android 模拟器出现过大,屏幕在左上角