Docs menu

DOCS / REFERENCE

File formats

Copy page ▾

These tables come from the format list in the app. The Import / Export dialog (File ▸ Import / Export…) uses the same list.

KerfCraft examines the content of a file to find its format, not only the extension. Lengths in KerfCraft are always in millimetres. An import converts the units of the file to millimetres.

In the table for each format, Full means that KerfCraft keeps the information exactly. Partial means that it keeps some of it. Converted means that it keeps the information in a different form, for example exact solids as triangles. KerfCraft does not keep information that is not in the table.

To open a .kerf file as a project, use File ▸ Open file…. To add a file to the open project, use File ▸ Insert from file…. To export the selection only, right-click it and select Export selection….

Formats

FormatExtensionsDirectionStatusUse
KerfCraft package.kerfImport, ExportStableOpen, versioned ZIP package: canonical JSON document, embedded library models, derived caches.
glTF 2.0 (GLB / embedded .gltf).glb .gltfImportBetaFurniture and decor models for room layouts. Imported as visual-only models: placeable, never manufactured, not parametric.
glTF 2.0 binary (GLB).glbExportBetaVisual scene exchange (Blender, three.js, web viewers): triangle meshes in metres, Y-up, named node hierarchy, PBR colours. Not for manufacturing.
STEP AP242.step .stpExportBetaExact solids with assembly structure, names and colours for FreeCAD, Fusion, Onshape, SolidWorks…
DXF (workshop 2D).dxfExportBetaPanel cutting contours, drill holes, labels and grain on named layers for CNC, laser and 2D CAD. mm, no kerf.
DXF (2D outlines).dxfImportBetaClosed outlines and circles from ASCII DXF become panels with holes (material and thickness chosen on import) or flat reference outlines.
IFC4.ifcExportBetaBuilding exchange for BIM tools and IFC viewers: storeys, walls with door/window voids, slabs, roofs, stairs, spaces and furniture as extruded solids, with GlobalIds stable across exports.

Not supported

FormatExtensionsDirectionWhy
IFC.ifcImportImport not planned: IFC4 export covers BIM exchange; the woodworking model never comes from IFC.
OpenUSD.usd .usda .usdzExportNot planned: no woodworking semantics and no practical browser runtime; glTF covers visual exchange.
FreeCAD FCStd.fcstdImportNot planned: FreeCAD users take STEP for furniture and IFC for buildings.

KerfCraft package: import, export

InformationKeptNote
Exact solidsFullParts as exact blanks plus shaping data: outlines, end cuts, pockets, edge profiles, tapers, turnings
MeshesFullImported glTF models as assets/sha256-<hex>.glb
Assembly structureFull
NamesFull
Positions and rotationsFull
UnitsFullMillimetres
ColoursFull
Materials (timber and sheet)Full
FinishesFull
ParametersFull
Parameter expressionsFull
Manufacturing data (grain, edge banding, cut sizes)Full
Walls, openings and roomsFull

glTF 2.0 (GLB / embedded .gltf): import

Beta Tested with sample models, not yet with models from many 3D programs. Check the size and look of the imported model.

InformationKeptNote
MeshesFull
Assembly structureFullnamed nodes become assemblies; each mesh node a visual part you can hide, move, delete or refinish
NamesFull
Positions and rotationsFull
UnitsFullmetres → mm, or the units, factor or fit-to-size chosen on import; Y-up → Z-up
ColoursFull
FinishesPartialPBR materials and embedded textures render as authored; a KerfCraft finish can replace them per part

glTF 2.0 binary (GLB): export

Beta Checked with an independent glTF reader, not yet in Blender or other 3D software. Open the file in your software and check it.

InformationKeptNote
MeshesFull
Exact solidsConvertedboxes, shaped panels, edge profiles, pockets, turned and tapered parts and walls are tessellated to triangles
Assembly structureFullone named node per assembly, part, wall and instance
NamesFull
Positions and rotationsFullZ-up mm → Y-up metres (X→X, Z→Y, Y→−Z); doors and drawers open in animation clips (one per door or drawer, plus "Open all")
UnitsFullmetres, as glTF requires
ColoursFull
FinishesPartialcolour, roughness and metalness; procedural textures (wood grain, boards, tiles) are not exported
Walls, openings and roomsConvertedwalls, openings and floors become plain meshes; ids and roles in extras

STEP AP242: export

Beta Checked with an independent STEP reader (OpenCascade), not yet in FreeCAD, Fusion or other CAD software. Open the file in your software and check it.

InformationKeptNote
Exact solidsPartialOpenCascade B-Rep: boxes, shaped panels (outline × thickness), angled timber ends, joinery pockets (housings, rebates, mortises, dowel holes), drilled holes (shelf pins, hinge cups, handles, screws) and edge profiles (arcs faceted) cut by boolean. Turned and tapered parts as their square blank
Assembly structureFullXDE assemblies
NamesFullComponent names as STEP product and occurrence names
Positions and rotationsFull
UnitsFullMillimetres
ColoursPartialOne surface colour per part from its finish or material; no textures
FinishesConvertedReduced to a colour

DXF (workshop 2D): export

Beta Checked with an independent DXF reader, not yet in CNC, laser or CAD software. Open the file in your software and check it before you cut.

InformationKeptNote
2D outlinesFullFinished-size contours (rectangles and shaped outlines) as closed POLYLINEs on CUT_OUTER; no kerf
HolesFullCIRCLEs on DRILL (centre, diameter); depth, face and purpose in KERFCRAFT XDATA and the part note. Pockets (housings, grooves, rebates, domino mortises, dowel holes) as closed POLYLINEs (face dowels as CIRCLEs), one layer per operation: POCKET_DADO / POCKET_GROOVE / POCKET_REBATE / MORTISE / DOWEL, and the same names with _EDGE for pockets cut into an edge or end (drawn as their footprint); op, depth and side in XDATA, plus width and offset from the drawn face across the thickness for edge/end pockets
DimensionsPartialOverall sizes as TEXT on ANNOTATIONS (the display unit, plus mm); no DIMENSION entities
NamesPartialCut-list label, quantity and description as TEXT; parts outside the test coverage get a "NEEDS EXTRA CHECKING: reason" TEXT on the CHECK layer; one TEXT below the layout: "Check every dimension against your own measurements before cutting."
UnitsFullGeometry in millimetres, $INSUNITS = 4, whatever the display unit
Manufacturing data (grain, edge banding, cut sizes)PartialGrain arrow on REFERENCE; material, thickness and edge banding as text; edge profiles not drawn; timber cut to an outline (bandsaw or CNC) is drawn like a panel, its blank-coordinate outline on CUT_OUTER; straight, turned and tapered timber is not drawn

DXF (2D outlines): import

Beta Tested with sample files, not yet with files from many CAD programs. Check the imported outline and its size against your drawing.

InformationKeptNote
2D outlinesPartialClosed LWPOLYLINE/POLYLINE, and LINE/ARC chains that close; arcs and bulges become 10° segments
HolesPartialCIRCLEs inside an outline; depth/face only from KerfCraft XDATA, otherwise through. KerfCraft pocket layers (POCKET_*, MORTISE*, DOWEL*) are skipped
UnitsFull$INSUNITS (mm, cm, m, in, ft); asked when absent

IFC4: export

Beta Checked with an independent IFC reader (web-ifc), not yet in BIM software. Open the file in your software and check it.

InformationKeptNote
Walls, openings and roomsPartialIfcBuildingStorey per level, IfcWall, IfcSlab (floors, roof slopes), IfcRoof, IfcCovering (ceilings), IfcDoor / IfcWindow filling IfcOpeningElement voids, IfcStair, IfcSpace per room; no wall layers, property sets or space boundaries
Exact solidsPartialIfcExtrudedAreaSolid prisms at exact mm sizes; timber end cuts square, edge profiles not cut, turned and tapered parts as their square blank; imported meshes as their bounding boxes
NamesFull
Positions and rotationsFullIfcLocalPlacement relative to the storey (and the host wall for openings)
UnitsFullMillimetres (IfcSIUnit .MILLI. .METRE.), Z up
Assembly structurePartialSpatial structure project → site → building → storeys → spaces; roofs aggregate their slopes; each furniture item is one IfcFurnishingElement