Getting Slice Matser to Actually Work
Slice Matser is a mesh slicing utility that takes 3D models and generates toolpaths or cross-section layers for CNC routing, laser cutting, or 3D printing preparation. Most people try it expecting a one-click solution. It doesn't work that way. You'll spend more time debugging the input geometry than you will in the actual tool. I've been running this in production for a few years across fabrication shops and prototyping teams. The core workflow is straightforward but the edge cases will catch you every time. Here's what actually happens when you use it.
Installing Slice Matser
Download it from the official GitHub releases page. The latest stable version at the time of writing is 4.2.1. Grab the Windows build if you're on Windows—it's the most polished. Linux users should compile from source using the provided Makefile; the prebuilt binaries are often a version behind. macOS support is basically nonexistent, so don't bother unless you're willing to patch it yourself. After installation, you'll need to install the dependency libraries manually. The installer claims it handles this but it rarely does. You need libigl, Eigen, and CGAL. Get them from vcpkg or build them yourself. If you skip CGAL, the boolean operations that Slice Matser depends on will silently fail and give you malformed output that looks correct at a glance.
How It Actually Works
Slice Matser works by taking a polygon mesh, projecting it onto a series of parallel planes at a user-defined spacing, and computing the intersection curves between the mesh and each plane. Those curves are then cleaned up—duplicate edges removed, isolated loops filtered, self-intersections resolved—and exported as polylines or G-code toolpaths depending on your output format. The critical detail most tutorials skip: the mesh must be watertight. Not "mostly closed," watertight. If there are even a couple of pinhole gaps smaller than your slice spacing, the algorithm will produce incomplete cross-sections that cascade into wrong toolpaths downstream. I once spent three hours debugging a part that kept producing phantom cut lines. Turned out there was a single non-manifold edge from a duplicate vertex in the original STL. Ran it through MeshLab's cleanup function first and the problem vanished. You set the slice direction as a vector, the spacing between slices, and whether you want solid infill, outline-only, or a hybrid. The solver uses a sweep-plane algorithm with adaptive resolution—meaning it subdivides the intersection locally around high-curvature regions. This is both a blessing and a curse. On models with sharp features, it works well. On models with long smooth curves, the adaptive refinement can produce way more points than you need and bloat your output file by an order of magnitude.
Get the Full Details

Common Pitfalls and How to Fix Them
Boolean operations are where Slice Matser falls apart most often. If your input has complex internal features—voids, cavities, overlapping solids—the Minkowski-based subtraction that the software uses can produce topological artifacts. The output looks plausible but has stray vertices or flipped normals that will wreck downstream processes like CNC machining or 3D printing. The workaround is to pre-process everything. Break complex assemblies into individual meshes before feeding them in. Run each through a healing step. Then combine only after slicing, not before. I learned this the hard way on a multi-cavity mold insert. The combined mesh had 47,000 triangles and the slicer spent forty-five minutes on the boolean pass before producing garbage output. Split it into eight individual cavities, sliced each separately, merged the G-code at the end. Took twelve minutes total. Another thing nobody mentions: the default tolerance is too loose for precision work. The default floating-point tolerance of 1e-5 means your slice planes won't always hit the exact vertices of your mesh. On high-accuracy parts this introduces stair-stepping artifacts that are invisible at first but become obvious when you machine something or print it. Bump the tolerance to 1e-7 and accept the longer compute times. Your output quality will justify it.
Output Formats and Integration
Slice Matser exports to STL, OBJ, G-code, DXF, and a proprietary .sml format. DXF is the most useful for CAD integration—most CAM software imports it cleanly. G-code is fine for simple tools but the generated code is verbose and unoptimized. If you're sending this to a production machine, you'll want to post-process it through something like LinuxCNC or Mach3 to clean up the paths. The .sml format is worth keeping around even if you don't use it daily. It stores the full slice data—plane positions, curve topology, nesting info—in a compressed binary format. Saves you from having to re-slice when you change output formats later.
When Slice Matser Is the Wrong Tool
It's not the right choice for every job. If you're doing additive manufacturing with standard FDM or SLA workflows, a dedicated slicer like PrusaSlicer or OrcaSlicer will give you better results with far less friction. Slice Matser is designed for subtractive manufacturing—CNC routing, plasma cutting, waterjet—where the geometry needs to stay as open curves rather than being converted to solid layers. It also struggles with NURBS-based geometry. The software expects polygon meshes, so importing an IGES or STEP file with curved surfaces requires triangulation first. That triangulation step can introduce significant error on highly curved surfaces, especially at low tessellation settings. If your workflow involves a lot of organic shapes or freeform surfaces, consider using a tool like FreeCAD or Blender to convert to a mesh with sufficient density before handing it off to Slice Matser. The software also doesn't handle animated or dynamic meshes well. Every slice is computed independently. There's no temporal coherence between frames, which matters if you're doing things like simulating deformation or animating a mechanism. You'd need to run the slicer separately on each frame and stitch the results manually. I've seen people lose entire days to this because they expected frame-by-frame consistency that simply doesn't exist in the current implementation.

Performance-wise, a typical 50,000-triangle mesh at 0.5mm slice spacing takes about 3-5 minutes on a decent CPU. Add boolean complexity and that jumps to 15-20 minutes. The UI freezes during computation, which is annoying but not fatal. There's no background processing or GPU acceleration in the current version, so you're at the mercy of single-threaded performance. If you're batching large jobs overnight, make sure your machine won't sleep or lose power. For the price of a coffee, you can get a copy of Slice Matser from the developer's site. The free version has watermarking on exports and caps at 100,000 triangles. The pro license removes both limits and adds support for custom post-processing scripts. If you're doing this professionally, the pro license pays for itself in the first week if you avoid the rework that comes from undetected mesh errors.