"""Open the saved native archive and inspect the actual round-tripped assembly."""
import adsk.core,adsk.fusion,pathlib,json,hashlib,traceback
OUT=pathlib.Path(C28_ROOT)
try:
 app=adsk.core.Application.get();f=OUT/'cad/Walkie_One_28_R1_Chalk_Ember.f3d'
 doc=app.importManager.importToNewDocument(app.importManager.createFusionArchiveImportOptions(str(f)))
 d=adsk.fusion.Design.cast(app.activeProduct);bodies=[b for o in d.rootComponent.allOccurrences for b in o.bRepBodies]
 assert len(bodies)==540 and all(b.isSolid for b in bodies)
 assert any('Circular_Status_Lens_Original_Collector' in o.component.name for o in d.rootComponent.allOccurrences)
 app.activeViewport.fit()
 (OUT/'audit/native_archive_reopen.json').write_text(json.dumps({'nativeFileSha256':hashlib.sha256(f.read_bytes()).hexdigest(),'openedInAutodeskFusion':True,'assemblySolidBodies':len(bodies),'allBodiesSolid':True,'documentName':doc.name},indent=2))
 print('Saved native archive reopened in Fusion: all 540 assembly bodies are solid.')
except:
 (OUT/'audit/native_reopen_error.txt').write_text(traceback.format_exc());print(traceback.format_exc())
