问题标签 [autodesk-bim360]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delete-file - 使用 BIM360 API 问题删除文件
我的目标是将文件上传到“计划”文件夹的特定子文件夹中。我遇到的第一个问题是,当我使用 API 时,我只能上传版本 1 的文件。所以我决定将所有文件从特定文件夹复制到存档文件夹中。现在我可以删除特定文件夹中的所有文件,我可以将新文件上传到特定文件夹。我正在使用 forge-api-dotnet-client。
我知道有两种不同的删除文件的方法。(https://forge.autodesk.com/blog/way-delete-file-version-through-forge-dm-api)
我尝试了他们两个,但他们没有工作。
它给了我这个BAD_INPUT 异常,我发现我从 api 获得的 id 与从网页获得的 id 不同。
来自 Api 的 ItemId:“urn:adsk.wipprod:dm.lineage:QCtjhnZ5TWWCASh-mQ5nMA”
来自网页的 ItemId:“urn:adsk.wipprod:dm.lineage:EdJjPVzFQR6tlbUJ5WK-zg”
我发现的第二种方法是使用“DeleteObject”来完成。
我得到了这个例外。
我正在使用 TwoLegged 身份验证,我的范围也很好。
我的代码中有错误还是有其他方法?
autodesk-forge - BIM 360 协作文件未显示在查看器上
我分叉了演示查看器项目,它运行良好,我可以在锻造树、个人中心等中看到来自 BIM 360 的所有文件。但是我对使用 Collaboration for revit 启动的文件有疑问。我不知道为什么,但那些在树上对我来说是不可见的。
我在 BIM 360 帐户中添加了应用程序 ID,所以我不确定是什么问题
我正在使用基本项目示例https://learnforge.autodesk.io/#/tutorials/viewhubmodels
autodesk-forge - BIM360 文档中删除的文件夹和 BIM360 数据管理 API 中的 hidden:true 不会渗透到子级
我正在使用下面的 Forge 数据管理搜索 API 来检索 BIM360 Docs 中的所有 .rvt 文件。
在 BIM360 文档站点中手动删除文件本身时, included.attributes.hidden返回的 JSON 为真。删除父文件夹时,文件不会返回 hidden: true,而是 hidden: false。这也适用于文件夹的父文件夹。
要使用此逻辑准确确定文件是否被删除,代码必须从文件中搜索父文件夹树以查找是否存在 hidden: true 。我想避免这种情况。
两个选项可能是:
- 确定已删除项目区域中的内容的更好方法?这可能存在,但我无法在文档中找到它
- 文件夹的子文件夹被标记为隐藏:当父文件夹隐藏时为真(反之亦然)?
这些案例中的任何一个是可行的还是当前可用的?
样本返回 Json:
autodesk-forge - 创建问题:pushpin_attributes.viewer_state 缺失
在 bim360 网页上创建问题期间,pushpin_attributes.viewer_state 对象有时已填充,有时未填充(取决于已发布的计划)。在我们的例子中,最重要的是 pushpin_attributes.viewer_state.originalDocumentResolution(我们用它来可视化我们自定义应用程序中的问题)。
为什么 bim360 网页在某些方案上可以弄清楚如何设置图钉 originalDocumentResolution 而在某些方案上却不能?
autodesk-forge - 用于伪造查看器的 Bim 360 图钉扩展
是否可以在伪造查看器中自定义图钉图标?这是我在查看器中加载“质量问题”的示例代码。
renderIssue() 函数将在查看器中呈现图钉。
我想将那个图钉圆圈更改为其他图标。我们应该怎么做?
autodesk-forge - 在 BIM360 OSS 中为对象创建签名 URL
我正在尝试为设计自动化工作流设置一个签名 URL,该工作流由 BIM360 OSS 内的 Webhook 触发。如果添加了文件,则 webhook 会触发端点以启动设计自动化。网络钩子正在工作。设计自动化也在起作用。如果我尝试将两者都连接起来,就会出现问题。我正在尝试创建文件的签名 URL,就像 Petr Broz链接 stackoverflow的这篇文章中所建议的那样。
要使用此 API,需要使用由 2-Legged-Auth 获得的令牌,该令牌与所有必要的范围一起使用。在 Webhook 的响应中是文件夹和版本的 ID。API 正在识别 ID。问题出现在此端点响应创建签名url:https ://developer.api.autodesk.com/oss/v2/buckets/:bucketKey/objects/:objectKey/signed
我使用wip.dm.emea作为存储桶,因为该文件存储在 EU BIM360 OSS 中。
响应是403 Forbidden:
甚至有可能像这个例子中那样获取文件 ID Forge how to Download File吗?因为这个解决方案需要一个 3-Legged-Auth 流程,这对于完整的自动化来说是不可能的。
让我产生疑问的是,您可以在 Forge 平面中实现此工作流程。但不是在 BIM360 中,我无法控制系统创建的存储桶!?
我认为这是 Forge API 和 BIM360 实现之间的架构不匹配!?将来会有解决方案吗?
最好的问候
autodesk-forge - 是否可以通过 Revit API 或 FORGE API 在 Revit 模型中加载新的 Cloud (BIM 360) 链接?
我有一个由两部分组成的 WPF 应用程序和 Revit 插件,它运行一系列例程以通过 FORGE BIM 360 API 创建和激活新的 BIM 360 项目,启动 Revit 并从“种子”创建和设置 Revit 模型的集合Revit 模型。主要要求是在此过程中实现零用户交互:完全自动化。
鉴于这种背景,我无法将新保存的 BIM 360 模型相互链接。我可以选择在带有 Revit API 挂钩(首选)的 Revit Addin 中执行此操作,也可以在创建模型后通过带有 FORGE API REST 调用的管理器 WPF 应用程序执行此操作。
任何一种都可能吗?
我已成功链接到此处和此处所述的缓存本地模型。但是,这并不能完全满足要求,因为当任何其他用户(除了自动化机器用户)打开模型时,链接都找不到。
当前的“工作排序”代码:
ModelPath
由于这个有用的提示,我能够通过 Revit API 获得正确的信息。我可以将此值保存在我的插件中,关闭模型,然后在打开不同的模型后访问该属性(保存在上面代码片段中的 linq 语句中引用的 CloudModels 类中)。不幸的是,我不RevitLinkType.Create()
接受ModelPath
云路径,所以我可能又遇到了死胡同。除非可以使用ExternalResourceReference
. 有没有人尝试过这个选项?如果是这样,您如何组装 Revit ExternalResourceReference
?我不熟悉这个过程,从 AU 2017 开始查看这门课程,我认为它不一定适用于 BIM 360 云模型。如果可能,BIM 360 云示例将非常有用。
替代策略:我没有看到任何关于在 FORGE 数据管理 API 或其他 FORGE API 中加载链接的参考。如果我以某种方式错过了它,请分享一个链接。
任何帮助将不胜感激!
编辑:从那以后,我发现这两个(1) (2)类似的问题,至少就我的目的而言,没有得到令人满意的回答。我应该注意的任何更新?
authentication - 为什么在 BIM360 中使用 2-legged 令牌而不是 3-legged 令牌创建新项目?
我正在尝试使用此API 在 BIM 360 中创建新项目。我想,要创建新项目,可能需要最终用户授权我的 Forge 应用程序。所以我使用 3-legged bearer token 来请求新项目。但是给出了禁止的回应说
而通过使用 2-legged 令牌,它成功创建了项目。
为什么此 API 适用于 2-legged 令牌而不适用于 3-legged 令牌,即使 3-legged 令牌有效?
autodesk-forge - 如何从 Bim360 加载 otg?
我想在我的 Forgeviewer(版本 7.3)中阅读我的 otg 格式的 bim360 模型。这些项目已使用https://otg-bim.herokuapp.com/应用程序进行了转换。
有没有关于如何让我的 Forge 查看器从 Bim360 读取 otg 格式的指南?我找到了这个指南(https://github.com/wallabyway/OTG-client-sample/blob/552c78b1fe8e1177f6694fd947a17fd189a8505b/public/js/ForgeViewer.js#L26-L29),但是它使用我在其中找到的 Autodesk.Viewing.ViewingApplication Forge API 的第 2 版,但不在 7.3 版中。
autodesk-forge - 如何从bim360获取otg的svn?
似乎我正在从 Bim360 而不是 otg 加载 .svf 文件的 urn。如何获取 otg 文件的 urn?该文件已使用https://otg-bim.herokuapp.com/应用程序进行了转换。
是否有类似于我可以使用的 Services.Forge.ModelDerivative.getManifest 的服务?