你的问题是关于识别哪些事件被触发的模型?
在查看器 API 的最新版本中,viewer.loadModel接受一个回调来返回正在加载的模型实例,这应该让您在其他两个事件被触发之前知道模型:
Viewer3D.prototype.loadModel = function(url, options, onSuccessCallback, onErrorCallback, onWorkerStart) {
// ...
function onSuccess(model) {
self.model = model;
self.impl.addModel(self.model);
if (self.loadSpinner)
self.loadSpinner.style.display = "None";
if (self.model.is2d())
self.activateLayerState("Initial");
registerDimensionSpecificHotkeys();
if (onSuccessCallback) {
onSuccessCallback(self.model);
}
}
// ...
}
在事件处理程序中,参数还包含触发事件的模型实例:
this.viewer.addEventListener(
Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT, (args) => {
console.log(args)
})
this.viewer.addEventListener(
Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (args) => {
console.log(args)
})
让我知道我是否遗漏了什么,如果它不起作用,请提供一些代码来说明您的工作流程。
谢谢