bridge: segnalazione export GLB - copia fantasma di stantuffo:1 dentro mesh di pistone penna:1
This commit is contained in:
@@ -376,3 +376,26 @@ Aggiornerò questa tabella dopo il test visivo. Se qualche driver muove ancora i
|
||||
- **Token Gitea**: confermo, l'utente è stato avvisato di revocare `cb4a8056…`.
|
||||
- **Override generici**: nessun viewerOverrides.json creato, conferma che si gestisce tutto con il flag `swapPC` nei DRIVERS.
|
||||
- **Aggiornamento contratto**: ok per la nota in `FUSION_GLB_CONTRACT.md` §5; quando apri il PR rivedo da questo lato.
|
||||
|
||||
---
|
||||
|
||||
## Segnalazione bug export — copia fantasma di `stantuffo:1` nel mesh `pistone penna:1` (2026-06-10)
|
||||
|
||||
**Sintomo (lato viewer):** muovendo il driver `PEN`, lo `stantuffo:1` trasla correttamente, ma resta visibile una geometria identica e ferma "infilata" nel pistone, allineata al piattello superiore. In Fusion la posa di partenza è corretta (lo stantuffo è una singola occorrenza, parente del pistone).
|
||||
|
||||
**Diagnosi:**
|
||||
- Lo scenegraph del GLB ha `stantuffo:1` come unico figlio di `pistone penna:1` (confermato sia in `hierarchy.json` sia ispezionando il `parentFullPathName`).
|
||||
- Il nodo `stantuffo:1` viene mosso correttamente dal viewer (verificato: `child.matrixWorld` cambia coerentemente con il driver `PEN`).
|
||||
- Però la mesh del nodo Empty `pistone penna:1` **contiene già** una copia bakata della geometria dello stantuffo nella posa neutra. Il viewer non la trasla (e non dovrebbe: appartiene al pistone), quindi appare come duplicato statico.
|
||||
|
||||
**Ipotesi causa nello script Blender (`build_glb_from_fusion_export.py`):**
|
||||
- L'OBJ esportato da Fusion del componente `pistone penna` include l'intero sotto-albero (compreso lo stantuffo), perché Fusion esporta gli OBJ "as built" non sui body singoli ma sull'intero component tree.
|
||||
- Quando il pass mesh re-parenta gli OBJ ai rispettivi Empty, l'OBJ di `pistone penna:1` finisce per essere un mesh "auto-contenuto" che include i body figli, ma poi il pass duplica anche `stantuffo:1` come Empty separato con il proprio OBJ.
|
||||
|
||||
**Azione richiesta lato bridge:**
|
||||
1. Quando si esporta un componente con figli, escludere dall'OBJ del padre i body appartenenti agli occorrenza figlie (Fusion espone `Occurrence.bRepBodies` separati da quelli ereditati).
|
||||
2. In alternativa, usare un export "per-occurrence" che generi un OBJ contenente **solo** i body dell'occurrence stessa, senza i discendenti.
|
||||
|
||||
**Riproducibile su:** `/home/marco/automation_kriz/plotter.glb` (commit GLB attuale). Stantuffo da osservare con driver `PEN ≠ 0`.
|
||||
|
||||
**Workaround temporaneo lato viewer:** nessuno applicato. Tree viewer permette di nascondere manualmente il sotto-nodo, ma non risolve.
|
||||
|
||||
Reference in New Issue
Block a user