Show HN: Kromacut – 이미지의 다중 색상 3D 인쇄를 위한 오픈 소스 도구

hackernews | | 🔬 연구
#3d 프린팅 #hueforge #review #리소포니 #오픈 소스 #이미지 변환
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

Kromacut은 유료 대안인 HueForge에 대한 대안으로 개발된 오픈소스 도구로, 사용자가 업로드한 이미지를 멀티컬러 리스포네(투명 조각) 3D 프린트 파일로 변환해 줍니다. 이 도구는 맥주-람베르트 법칙을 기반으로 한 광학 시뮬레이션과 시뮬레이티드 어닐링 또는 유전자 알고리즘을 활용하여 필라멘트 층을 최적화합니다. 백엔드 없이 브라우저에서 실행되며, 사용자의 피드백을 바탕으로 영구적으로 무료로 제공될 예정입니다.

본문

Open-source HueForge-style tool for converting images into stacked, color-layered 3D prints. Kromacut is a browser-first app that converts images into multi-color lithophane 3D prints. It offers two powerful workflows: Auto-paint mode — Define your actual filaments (color + Transmission Distance), and Kromacut automatically computes optimal layer stacks using physically accurate Beer-Lambert optical blending. Features include a calibration wizard, advanced optimizer (simulated annealing/genetic algorithms), and region weighting for spatial priority. Manual mode — Reduce images to a small palette, manually tweak per-color layer heights and ordering, and fine-tune every aspect of the stack with complete control. Both modes include live 2D/3D previews, layer-by-layer visualization, and export to STL/3MF with detailed print instructions. A quick look at what Kromacut produces from a source image to a printable model: - Fuji test image (2D input) → 3D preview → per-color sliced view → real print | 2D Input | 3D Preview | |---|---| | Sliced by Colors | Real Print | Another minimal test you can try yourself in the app header: the Transmission Distance (TD) test image. | TD Test | |---| - Image upload and preview (drag & drop or file picker). - Color reduction / quantization with selectable color count. - Inline color pickers to tweak or replace generated palette colors. - Per-color slice heights and a configurable base slice height. - Reorder colors with drag-and-drop to control stack order (darkest → lightest default ordering). - Live 2D preview and a 3D stacked preview rendered with three.js. - Layer-by-layer preview slider — Interactively visualize how the print builds up by dragging a slider to show/hide layers at specific heights. - 3D model export to binary STL or 3MF (Preview) suitable for multi-material slicers. - Plain-text 3D print instructions that describe layer heights and exact layers where filament swaps are required. - Copy-to-clipboard button for the print instructions (produces a clean, copyable plain-text plan). - Filament calibration wizard — Accurately determine Transmission Distance (TD) values through measured samples with confidence scoring. - Advanced optimizer — Simulated annealing and genetic algorithms find optimal filament ordering for complex multi-color prints. - Region weighting — Prioritize accuracy in specific image areas (center, edges) during auto-paint optimization. - Frontend: React + TypeScript + Vite. - 3D Rendering: three.js with BufferGeometry. The geometry pipeline produces per-face (non-indexed) triangles so each color slice renders as a solid block (no blended vertex colors) and vertical side walls are preserved. - Texture sampling: we create a CanvasTexture from the preview canvas and useNearestFilter with mipmaps disabled so the texture stays crisp when mapped onto the 3D mesh. The texture UVs are adjusted (repeat/offset) so the canvas region aligns with the mesh bounding box. - Color ordering: palette swatches are derived from image pixels, then ordered by hue/saturation/lightness and presented from darkest to lightest by default (you can reorder manually). - Async mesh generation: The greedy meshing algorithm yields control back to the browser every 8ms during large mesh builds, keeping the UI responsive. Boundary vertex filtering uses binary search for optimal performance. - Upload or drag an image into the preview area. - Switch to the Auto-paint tab in the 3D controls panel. - Click Add Filament and configure your filaments: - Use the calibration wizard (calibrate icon) to measure accurate TD values, or - Enter TD values manually. - Enable Enhanced color matching for optimal results (auto-selects best algorithm). - (Optional) Set Region weighting to Center or Edge to prioritize important areas. - Use the layer-by-layer preview slider to verify transitions. - Export via Download STL or Download 3MF and follow the print plan. See the Auto-paint section for complete details. - Upload or drag an image into the preview area. - Adjust quantization settings to reduce to the desired number of colors. - Tweak or replace swatches using the color pickers in the Swatches panel. - Open the 3D panel → Manual tab to configure: - Per-color slice heights - Base slice height - Pixel size - Color order (drag-and-drop) - Preview in 3D and use the layer slider to inspect the stack. - Click Download STL orDownload 3MF to export your model. - Use the Copy button to copy the plain-text print plan with layer heights and swap instructions. - Base slice height default: 0.20 mm - Layer height default: 0.12 mm - Layer height used to compute the exact layer numbers at which color swaps happen in the plain-text plan. - Per-color slice heights are snapped/multiplied to sensible values relative to layerHeight when the swatches change or are initialized. The 3D view includes an interactive height slider at the bottom that lets you visualize how the print builds up layer by layer: - Drag the slide

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →