feat(gmsh): GMSH Frontal-Delaunay tessellation for clean cylinder seams
- Per-solid iteration prevents OOM on multi-part assemblies (25-part bearing: 2.3GB RAM when processing compound → ~100MB per solid with per-solid approach) - Fix CharacteristicLengthMax multiplier 5× → 15× and cap MinimumCirclePoints at 20 (prevents 63-pts/circle on angular_deflection=0.1rad → 231MB → 21MB) - Geometry task timeout 120s → 600s for large assemblies - Production task: reuse _geometry.glb when GMSH enabled (no re-tessellation) and cache _production_geom.glb for OCC (mtime vs STEP check) - Viewer now prefers production GLB when available (shows correct GMSH mesh) - GMSH OpenMP multithreading (min(cpu_count,16)) for 4.4× speedup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -239,7 +239,10 @@ export default function InlineCadViewer({
|
||||
const hasProduction = (productionAssets?.length ?? 0) > 0
|
||||
|
||||
useEffect(() => {
|
||||
if (!hasGeometry && hasProduction) setGlbSource('production')
|
||||
// Prefer production GLB when available — it has correct materials and a clean
|
||||
// GMSH mesh. Fall back to geometry GLB only when no production GLB exists yet.
|
||||
if (hasProduction) setGlbSource('production')
|
||||
else setGlbSource('geometry')
|
||||
}, [hasGeometry, hasProduction])
|
||||
|
||||
const activeDownloadUrl =
|
||||
|
||||
Reference in New Issue
Block a user