The universal 3d printing driver

The in-depth features of Cuttlefish are especially interesting for printer manufacturers that want to integrate Cuttlefish as their 3D printing driver. If you just want to use Cuttlefish to control your 3D printer, you do not need to know every detail of it.


General Practically no limit on the input geometry (number of triangles, geometric complexity) Streaming Architecture (delivers first slices in seconds, scalable for large prints) Component-based (easily adustable to each 3D printer)
Quality Features
  • Supports RGBA textures and optical material properties for color and translucency reproduction
  • Supports multiple texture maps
  • Slices multiple overlapping models
  • Supports ICC color management
  • Allows ICC-based 3D softproofing


The ICC profiles generated by Cuttlefish are used in Cuttlefish::Web to visualize the object before it is printed.

Connex3 Softproof

Advanced signal processing for the best quality on the market

Cuttlefish::TextureSampling optimizes texture level-of-detail for the specified print size and resolution; supports multiple textures
Cuttlefish::ColorManagement ICC-based color management on voxels
Cuttlefish::ColorTranslucencyManagement ICC-based color and translucency management on voxels
Cuttlefish::Halftoner Assigns printing materials to voxels using advanced error diffusion process that adapts to the geometry of the surface and the translucency of the materials
Cuttlefish::Contoner Assigns printing materials to voxels using an efficient contoning strategy
Cuttlefish::LightTransportAdjuster Adjusts lateral and vertical light transport
Cuttlefish::ProbabilisticMaterialAdjuster Places materials according to a predefined distribution

Robust and efficient geometry processing for stability and scalability

Cuttlefish::Voxelizer Converts surface geometry into voxels (”slicing“) with practically no limit on the input geometry (number of triangles, geometric complexity, self-intersections, overlapping objects)
Cuttlefish::Distance Efficiently computes the distance of all voxels to the surface, and optionally transfers data from the surface to the volume
Cuttlefish::PrintJobOrganizer Efficiently positions and orients objects in the print tray

Streaming architecture provides scalability for large print jobs and delivers the first slices to the printer quickly before the full computation is finished

Cuttlefish::Voxelizer Stores surface information efficiently and iteratively outputs a minimal set of slices needed for subsequent processing
Cuttlefish::Distance Needs only one slice at a time, regardless of the surface geometry
Cuttlefish::Halftoner Error diffusion is inherently streaming and requires only local information
Cuttlefish::Contoner Operates independently for each voxel
Cuttlefish::STLProducer Incrementally remeshes the voxel representation to constructs an STL file for each printing material
Cuttlefish::BitmapProducer Delivers BMP slices for droplet-based material positioning, each slice independently
Cuttlefish::GCodeProducer Creates GCode from voxel data, each slice independently

Component architecture provides extensibility and flexibility, ideal for research, education and experimentation

Cuttlefish::Voxelizer Allows a custom, user-defined GLSL shader for each input surface
Cuttlefish::VoxelFunctionEvaluator Evalates a user-defined function at each voxel, to be used as input for subsequent processing
Cuttlefish::ScalarFieldMapper Converts a scalar field on the surface to color for literally hands-on visualization
Cuttlefish::FunctionalMaterialAssigner Fully user-defined material assignment

Easy to use

Cuttlefish::Web Browser-based graphical user interface including parameterization and combination of components, and a display simulation of the printouts (ICC-based softproof)
Cuttlefish::Launch Command line control to automatically select and parameterize components for flexible batch processing of multiple models
Cuttlefish::PrintJobOrganizer Automatically positions and orients objects in the print tray
Cuttlefish::FileParser Supports these file formats directly: X3D, WRL, VRML, OBJ, PLY, OFF, STL, OSB, OSG, 3DS, BLEND; Supports these CAD formats through CAD2Vis: CATIA V4, CATIA V5, Pro/e, SAT, StEP, IgES, VDA-FS

Unique features you will not find in any other 3D printing software

Cuttlefish::ColorTranslucencyManagement Joint calibration of color and clear materials for printers supporting their combination (european patent pending)
Cuttlefish::LightTransportAdjuster Fine-scale, perceptual control of spatially varying translucency
Cuttlefish::ShapedMaterialAssigner Allows to edit the final shape by adding or removing voxels with user-definable shape functions to achieve various effects
Cuttlefish::Halftoner European and US patents pending (error-diffusion-based layer halftoning)
Cuttlefish::Contoner GB patent pending (propabilistic and Halton sequence contoning)

Hardware Requirements

Minimum Intel Core i5 processor, 64-bit Microsoft Windows 7 with Service pack 1 or higher, 16 GB RAM, min. 50 GB of available hard-disk space, OpenGL 2.0–capable graphics card
Recommended Intel Core i7 with at least 4 cores or Intel Xeon E5-2630 processor (or better), 64-bit Microsoft Windows 8, 64 GB RAM, 100 GB available hard-disk space, OpenGL 4.0–capable system graphics card