我目前正在通过getBulkProperties2查询属性数据库。这个查询的ID是我通过在数据库上运行bruteForceFind的executeUserFunction执行userFunction得到的。
在我们公司内部一些速度较慢的笔记本电脑上,getBulkProperties2调用大约需要40-50秒。由于单线程JS的特性,整个Vue应用程序和UI都冻结了。我曾尝试将批量调用移动到WebWorker,但您不能将模型传递给WebWorker,因为模型对象引用自身,因此无法序列化(循环引用)。
理想的解决方案是在userFunction中执行批量调用,因为它是设计在WebWorker上执行的。我在文档(或我反编译的源代码)中看不到这样做的方法。
在userFunction中执行批量调用的推荐方式是什么
发布于 2021-02-18 17:48:31
您可以在userFunction中调用pdb.getObjectProperties。请参阅https://forge.autodesk.com/en/docs/viewer/v7/reference/globals/PropertyDatabase/#getobjectproperties-dbid-propfilter-ignorehidden-propignored
const ignoreHidden = false;
pdb.getObjectProperties( dbId, ['myAttributeName'], ignoreHidden );https://stackoverflow.com/questions/66227503
复制相似问题