Printy3D

Reference

Formats

Printy3D accepts 22 file extensions: meshes, CAD, Gaussian splats, point clouds, DICOM and archives. Results come back as GLB, OBJ (with textures), 3MF, STL or PLY.

Input formats#

The file name's extension names the format; at completion the API checks that the bytes really are that container and gives the file its kind. An archive is never trusted on its extension alone.

ExtensionkindNotes
.stlmesh
.objmeshGeometry only. An OBJ that names materials (mtllib / usemtl) must come in a ZIP with its MTL and textures; on its own it is rejected with obj_materials_unsupported.
.3mfmeshIncluding the BambuStudio production extension.
.plymesh, splat or pointcloudDecided by the header: faces make a mesh; no faces with Gaussian-splat columns (scale_*, rot_*) a splat; no faces otherwise a point cloud.
.gltf, .glbmesh
.fbxmesh
.vrmmeshVRM avatars.
.wrlmeshVRML.
.daemeshCOLLADA.
.offmesh
.step, .stpcadEach body is converted to a mesh; an assembly’s repair also returns its parts one by one (result_parts_zip). Exact Check (cad_check) measures STEP files, alone or as a ZIP of an assembly, without changing them.
.dcm, .dicommedicalA DICOM series arrives inside an archive.
.las, .lazpointcloudLiDAR point clouds.
.ziparchiveThe usual way to send textures. LZMA- and PPMd-compressed ZIPs are not supported.
.tar, .tgz, .tar.gzarchive
.rararchiveAccepted; see the note below.

.7z is refused. Images, vectors and documents are not 3D inputs.

Textures and colour#

Colour survives the whole pipeline. Send a textured model as one file that carries its textures (GLB, 3MF, VRM, FBX) or as a ZIP of the model, its material file and its texture images (OBJ + MTL + PNG/JPG). Repairs project the texture back onto the rebuilt surface and return it in the GLB and the OBJ ZIP.

Uploaded ZIP (OBJ + MTL + textures)
Repaired, texture kept
Textures travel in a ZIP. An OBJ that names materials must arrive with its MTL and textures in one ZIP. Left, the upload; right, the repaired result with its texture. Model: Garden Gnome, Poly Haven, https://polyhaven.com/a/garden_gnome, CC0 1.0

Checking a format#

GET/v1/formatsfiles:read

Lists every format as {ext, kind, enabled, test_enabled}: enabled means live jobs may process it, test_enabled that the sandbox accepts it. A format can be accepted as an upload and still not be enabled for live jobs; a live job on it then answers 501 feature_unavailable.

Output formats#

FormatWhere it comes from
GLBRepairs (result_glb), mesh tools, inspect's preview; any export
OBJ (ZIP with MTL and textures)Repairs (result_obj_zip), mesh tools; any export
3MFRepairs when the engine writes it (result_3mf); any export
STL, PLYAn export or the convert tool
JPGInspect thumbnails
JSONAnalyses, measurements and tool results