diff --git a/libs/loaders/occt-import-js-worker-cdn.js b/libs/loaders/occt-import-js-worker-cdn.js new file mode 100644 index 0000000..5707966 --- /dev/null +++ b/libs/loaders/occt-import-js-worker-cdn.js @@ -0,0 +1,8 @@ +importScripts ('https://cdn.jsdelivr.net/npm/occt-import-js@0.0.4/dist/occt-import-js.js'); + +onmessage = async function (ev) +{ + let occt = await occtimportjs (); + let result = occt.ReadStepFile (ev.data); + postMessage (result); +}; diff --git a/source/engine/import/importerstp.js b/source/engine/import/importerstp.js index a15c56e..66ac978 100644 --- a/source/engine/import/importerstp.js +++ b/source/engine/import/importerstp.js @@ -34,7 +34,7 @@ export class ImporterStp extends ImporterBase ImportContent (fileContent, onFinish) { if (this.worker === null) { - let workerPath = GetExternalLibPath ('loaders/occt-import-js-worker.js'); + let workerPath = GetExternalLibPath ('loaders/occt-import-js-worker-cdn.js'); this.worker = new Worker (workerPath); } diff --git a/tools/update_libs.py b/tools/update_libs.py index 47ec266..432f46f 100644 --- a/tools/update_libs.py +++ b/tools/update_libs.py @@ -1,6 +1,9 @@ import os import sys import shutil +import json + +from lib import tools_lib as Tools pickrFileMap = [ [os.path.join ('@simonwep', 'pickr', 'LICENSE'), os.path.join ('pickr.license.md')], @@ -67,13 +70,27 @@ def Main (argv): nodeModulesDir = os.path.join (rootDir, 'node_modules') libsDir = os.path.join (rootDir, 'libs') + package = None + with open (os.path.join (rootDir, 'package.json')) as packageJson: + package = json.load (packageJson) + UpdateModule (pickrFileMap, nodeModulesDir, libsDir) UpdateModule (threeJsFileMap, nodeModulesDir, libsDir) UpdateModule (dracoFileMap, nodeModulesDir, libsDir) UpdateModule (rhino3dmFileMap, nodeModulesDir, libsDir) UpdateModule (fflateFileMap, nodeModulesDir, libsDir) UpdateModule (webIfcFileMap, nodeModulesDir, libsDir) + UpdateModule (occtImportJsFileMap, nodeModulesDir, libsDir) + occtImportJsVersion = package['dependencies']['occt-import-js'] + occtWorkerFile = os.path.join (libsDir, 'loaders', 'occt-import-js-worker.js') + occtWorkerCdnFile = os.path.join (libsDir, 'loaders', 'occt-import-js-worker-cdn.js') + shutil.copy (occtWorkerFile, occtWorkerCdnFile) + Tools.ReplaceStringInFile ( + occtWorkerCdnFile, + 'occt-import-js.js', + 'https://cdn.jsdelivr.net/npm/occt-import-js@' + occtImportJsVersion + '/dist/occt-import-js.js' + ) return 0