在 AutoDesk Forge 中如何使用 C# html 编码来旋转组件

Posted

技术标签:

【中文标题】在 AutoDesk Forge 中如何使用 C# html 编码来旋转组件【英文标题】:In AutoDesk Forge how to spin a component by using C# html coding 【发布时间】:2019-08-24 18:35:31 【问题描述】:

您能否解释一下在 Autodesk forge 中旋转组件(节点)的 c# html 代码。

我正在使用 dot net core 2.2

【问题讨论】:

对您正在寻找的内容进行更多说明可能会有所帮助。什么代码?旋转模型或模型的一部分?你尝试过什么? 【参考方案1】:

转换可以在纯 javascript 中使用 THREE.js 库(基于 WebGL 的图形 API,为您的目的了解更多信息here),因此 .NET 不适合您的目的。请参阅下面的示例代码(完整示例here):

let dbid = viewer.getSelection(); //make sure you point to the root node of target component

let tree = viewer.model.getData().instanceTree; //obtain model object tree

tree.enumNodeFragments(dbid, function (frag) 
    var fragProxy = viewer.impl.getFragmentProxy(viewer.model, frag);
    fragProxy.getAnimTransform();
    fragProxy.quaternion = new THREE.Quaternion().setFromAxisAngle(
                                    new THREE.Vector3(1,0,0), 
                                    -Math.PI/2); //spin the component by 90 degrees
    fragProxy.updateAnimTransform(); //notify fragment proxy to perform animation
);

viewer.impl.sceneUpdated(true); //notify Viewer to update scene

有关如何转换组件的详细信息,请参阅here。

有关dbid 和片段的更多信息,另请参阅here。

【讨论】:

以上是关于在 AutoDesk Forge 中如何使用 C# html 编码来旋转组件的主要内容,如果未能解决你的问题,请参考以下文章

Autodesk Forge 创建活动

使用 C# .NET HTTPClient 在 Node JS 服务器上通过 Multer 将 Revit 文件上传到 Autodesk Forge OSS

如何在 nuxt js Autodesk forge 查看器中使用 IconMarkupExtension?

如何使用 BIM 360 Web 查看器 (Autodesk Forge)

如何在 Forge Viewer 中激活“Autodesk.MemoryLimited”扩展?

如何动态更改球体对象的颜色(在 Autodesk forge 中使用 SceneBuilder)