Aggiunto _purge_meshes_dir() chiamato all inizio di export_meshes_and_hierarchy. Cancella .obj/.stl/.mtl residui di export precedenti (component rinominati o rimossi dal modello Fusion) che altrimenti rimanevano come orfani nella cartella di output e venivano potenzialmente caricati dal viewer come nodi vuoti. Conteggio in stats.purged_stale, mostrato nel messageBox finale di entrambi gli script (plotter + ATL).
createOBJExportOptions(component, ...) includeva i body delle sub-occurrences,
duplicando la geometria nei nodi padre. Ora esportiamo solo comp.bRepBodies
(body propri del Component): per N>1 body, concateniamo gli OBJ riallineando
gli indici v/vt/vn. Container senza body propri non generano meshFile. Fallback STL invariato.