From d55838eb52d48e6eb73a7a1d5d899ac65e9b43b8 Mon Sep 17 00:00:00 2001 From: Marcos Reifonas Date: Sun, 20 Sep 2026 01:30:45 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Auto-deploy:=20TrackSteelAPP=20a?= =?UTF-8?q?tualizado=20em=2020/09/2026=2001:30:45?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/viewer3d/ModelViewer3D.tsx | 8 ++++++++ src/lib/ifc/ifcLoaderService.ts | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) 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.'); }