iTwin / imodel-transformer

API for exporting an iModel's parts and also importing them into another iModel
MIT License
3 stars 2 forks source link

I want to merge two models into one, but keep reporting the error "attempt to clone with unknown class" #136

Closed wwr1982 closed 6 months ago

wwr1982 commented 6 months ago

My code is as follows: Logger.initializeToConsole(); Logger.setLevelDefault(LogLevel.Trace); Logger.setLevel("imodel-transformer", LogLevel.Trace); let sourceDb: IModelDb; let sourceDb2: IModelDb; let targetDb: IModelDb; const sourceFile ="C:\Users\wwr\Downloads\aa\aa.bim"; const sourceFile2 ="C:\Users\wwr\Downloads\bb\bb.bim"; const targetFile ="C:\Users\wwr\Downloads\c\c.bim"; sourceDb = SnapshotDb.openFile(sourceFile); sourceDb2 = SnapshotDb.openFile(sourceFile2); if (IModelJsFs.existsSync(targetFile)) { IModelJsFs.removeSync(targetFile); } targetDb = StandaloneDb.createEmpty(targetFile, { // use StandaloneDb instead of SnapshotDb to enable processChanges testing rootSubject: { name: ${sourceDb.rootSubject.name}-Transformed }, ecefLocation: sourceDb.ecefLocation, }); const transformerOptions: TransformerOptions = { simplifyElementGeometry:true, noProvenance:true, }; try{ await Transformer.transformAll(sourceDb, targetDb, transformerOptions); await Transformer.transformAll(sourceDb2, targetDb, transformerOptions); sourceDb.close(); targetDb.close(); return "test"; } catch(error:any) { console.log(${error.message}\n${error.stack}); } return "OK";

My files to be merged are: bimfile.zip

Thank you!

MichaelBelousov commented 6 months ago

same as https://github.com/iTwin/itwinjs-core/issues/6332#issuecomment-1874082040