我试图使用Forge Viewer中的快照程序功能,以要求用户选择一个点,然后检索所选点的点世界坐标。
我看着这个主题,但对我不起作用:如何激活Autodesk Forge Snapper?
我这样加载扩展名: this.viewer.loadExtension('Autodesk.Snapping');
然后尝试像这样使用快照程序:
console.log(this._viewer.toolController.getActiveToolName());
var snapper = new Autodesk.Viewing.Extensions.Snapping.Snapper(this._viewer, {});
this._viewer.toolController.registerTool(snapper);
this._viewer.toolController.activateTool('snapper');
console.log(this._viewer.toolController.getToolNames());
console.log(this._viewer.toolController.getActiveToolName());
var a = snapper.getSnapResult();
console.log(a);
在日志中,快照程序已激活,但是我可以在查看器中选择一个点并通过getSnapResult函数获取结果。
先感谢您
快照程序工具适用于2d和3d模型,您将需要提供命中测试结果,该结果可以通过例如单击画布来测试为阳性,因此请说:
const snapper = new Autodesk.Viewing.Extensions.Snapping.Snapper(NOP_VIEWER)
const hitTestResult = NOP_VIEWER.impl.snappingHitTest(clickEvent.x, clickEvent.y)
snapper.snapping3D(hitTestResult)
snapper.getSnapResult()
您可以使用自定义工具订阅画布点击事件-有关详细信息,请参见此处。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句