【发布时间】:2020-11-27 06:55:00
【问题描述】:
我正在使用 GuiViewer3D 在我的 Angular 应用程序上查看 3d 文件。它加载正确,但我只能从右上角的立方体视图旋转。拖动屏幕上的其他任何地方都不会执行任何操作(例如在在线查看器中)。我尝试编写一个扩展并将其放入加载方法中,但仍然什么都不做。我不确定这是否是一项功能,如果不是,我是否正确实施了轮换:
let nav = this.viewer.navigation;
let up = nav.getCameraUpVector();
let axis = new THREE.Vector3(0, 0, 1);
let speed = 10.0 * Math.PI / 180;
let matrix = new THREE.Matrix4().makeRotationAxis(axis, speed * 0.1);
let pos = nav.getPosition();
pos.applyMatrix4(matrix);
up.applyMatrix4(matrix);
nav.setView(pos, new THREE.Vector3(0, 0, 0));
nav.setCameraUpVector(up);
此外,我在在线查看器上看到有一个工具栏(位于图片底部),可让您执行不同的操作。 Autodesk 是否提供这些按钮/功能(即基本工具栏)或者我们是否打算制作自定义功能?我找不到任何有关它的文档。
编辑:这是我在查看器的 .ts 文件中的代码(不设置扩展名):
let viewerOptions = {
env: 'AutodeskProduction',
api: 'derivativeV2', // for models uploaded to EMEA change this option to 'derivativeV2_EU'
getAccessToken: function(onTokenReady) {
var token = 'TOKEN';
var timeInSeconds = 3600; // Use value provided by Forge Authentication (OAuth) API
onTokenReady(token, timeInSeconds);
}
};
Autodesk.Viewing.Initializer(viewerOptions, () => {
let config3d = {
extensions: ['MyExtension'],
}
let viewer = new Autodesk.Viewing.GuiViewer3D(this.container.nativeElement, config3d);
viewer.start();
Autodesk.Viewing.Document.load(this.urn, function (doc) {
let viewables = doc.getRoot().search({ 'type': 'geometry' });
viewer.loadDocumentNode(doc, viewables[1]);
}, this.onDocumentLoadFailure);
});
【问题讨论】:
标签: autodesk-forge autodesk-viewer autodesk