diff --git a/src/components/viewer3d/ModelViewer3D.tsx b/src/components/viewer3d/ModelViewer3D.tsx index 8c9b224..d745452 100644 --- a/src/components/viewer3d/ModelViewer3D.tsx +++ b/src/components/viewer3d/ModelViewer3D.tsx @@ -247,6 +247,14 @@ export const ModelViewer3D: React.FC = ({ } } } + + // Debug log (somente primeira vez para as primeiras 5 peças para não travar o console) + if ((window as any)._debugIfcColors === undefined) (window as any)._debugIfcColors = 0; + if ((window as any)._debugIfcColors < 10) { + console.log(`[IFC Color Debug] IFC pmark: "${pmark}" -> DB match:`, prod ? `Achou! Marca DB: "${prod.marca}", Qtd: ${prod.pointedQtd}, Cor: ${prod.processColor}` : `NÃO ACHOU. Chaves disponíveis: ${Array.from(productionData.keys()).slice(0,5).join(', ')}...`); + (window as any)._debugIfcColors++; + } + if (prod && prod.pointedQtd > 0) { // Apply stage color (e.g., Light Green #4ade80 for pointed) const stageHex = prod.processColor || '#4ade80'; diff --git a/src/lib/ifc/ifcLoaderService.ts b/src/lib/ifc/ifcLoaderService.ts index 9a0e15e..0b5b3e5 100644 --- a/src/lib/ifc/ifcLoaderService.ts +++ b/src/lib/ifc/ifcLoaderService.ts @@ -133,8 +133,9 @@ export async function loadAndAuditIFC( // 3. Open Model if (onProgress) onProgress(40, 'Decodificando entidades IFC...'); const modelID = ifcApi.OpenModel(data, { - COORDINATE_TO_ORIGIN: true - }); + COORDINATE_TO_ORIGIN: true, + USE_FAST_BOOLS: true + } as any); if (modelID < 0) { throw new Error('Falha ao decodificar a estrutura do arquivo IFC.'); }