DOCS / REFERENCE
File formats
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
| Format | Extensions | Direction | Status | Use |
|---|---|---|---|---|
| KerfCraft package | .kerf | Import, Export | Stable | Open, versioned ZIP package: canonical JSON document, embedded library models, derived caches. |
| glTF 2.0 (GLB / embedded .gltf) | .glb .gltf | Import | Beta | Furniture and decor models for room layouts. Imported as visual-only models: placeable, never manufactured, not parametric. |
| glTF 2.0 binary (GLB) | .glb | Export | Beta | Visual scene exchange (Blender, three.js, web viewers): triangle meshes in metres, Y-up, named node hierarchy, PBR colours. Not for manufacturing. |
| STEP AP242 | .step .stp | Export | Beta | Exact solids with assembly structure, names and colours for FreeCAD, Fusion, Onshape, SolidWorks… |
| DXF (workshop 2D) | .dxf | Export | Beta | Panel cutting contours, drill holes, labels and grain on named layers for CNC, laser and 2D CAD. mm, no kerf. |
| DXF (2D outlines) | .dxf | Import | Beta | Closed outlines and circles from ASCII DXF become panels with holes (material and thickness chosen on import) or flat reference outlines. |
| IFC4 | .ifc | Export | Beta | Building 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
| Format | Extensions | Direction | Why |
|---|---|---|---|
| IFC | .ifc | Import | Import not planned: IFC4 export covers BIM exchange; the woodworking model never comes from IFC. |
| OpenUSD | .usd .usda .usdz | Export | Not planned: no woodworking semantics and no practical browser runtime; glTF covers visual exchange. |
| FreeCAD FCStd | .fcstd | Import | Not planned: FreeCAD users take STEP for furniture and IFC for buildings. |
KerfCraft package: import, export
| Information | Kept | Note |
|---|---|---|
| Exact solids | Full | Parts as exact blanks plus shaping data: outlines, end cuts, pockets, edge profiles, tapers, turnings |
| Meshes | Full | Imported glTF models as assets/sha256-<hex>.glb |
| Assembly structure | Full | |
| Names | Full | |
| Positions and rotations | Full | |
| Units | Full | Millimetres |
| Colours | Full | |
| Materials (timber and sheet) | Full | |
| Finishes | Full | |
| Parameters | Full | |
| Parameter expressions | Full | |
| Manufacturing data (grain, edge banding, cut sizes) | Full | |
| Walls, openings and rooms | Full |
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.
| Information | Kept | Note |
|---|---|---|
| Meshes | Full | |
| Assembly structure | Full | named nodes become assemblies; each mesh node a visual part you can hide, move, delete or refinish |
| Names | Full | |
| Positions and rotations | Full | |
| Units | Full | metres → mm, or the units, factor or fit-to-size chosen on import; Y-up → Z-up |
| Colours | Full | |
| Finishes | Partial | PBR 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.
| Information | Kept | Note |
|---|---|---|
| Meshes | Full | |
| Exact solids | Converted | boxes, shaped panels, edge profiles, pockets, turned and tapered parts and walls are tessellated to triangles |
| Assembly structure | Full | one named node per assembly, part, wall and instance |
| Names | Full | |
| Positions and rotations | Full | Z-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") |
| Units | Full | metres, as glTF requires |
| Colours | Full | |
| Finishes | Partial | colour, roughness and metalness; procedural textures (wood grain, boards, tiles) are not exported |
| Walls, openings and rooms | Converted | walls, 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.
| Information | Kept | Note |
|---|---|---|
| Exact solids | Partial | OpenCascade 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 structure | Full | XDE assemblies |
| Names | Full | Component names as STEP product and occurrence names |
| Positions and rotations | Full | |
| Units | Full | Millimetres |
| Colours | Partial | One surface colour per part from its finish or material; no textures |
| Finishes | Converted | Reduced 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.
| Information | Kept | Note |
|---|---|---|
| 2D outlines | Full | Finished-size contours (rectangles and shaped outlines) as closed POLYLINEs on CUT_OUTER; no kerf |
| Holes | Full | CIRCLEs 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 |
| Dimensions | Partial | Overall sizes as TEXT on ANNOTATIONS (the display unit, plus mm); no DIMENSION entities |
| Names | Partial | Cut-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." |
| Units | Full | Geometry in millimetres, $INSUNITS = 4, whatever the display unit |
| Manufacturing data (grain, edge banding, cut sizes) | Partial | Grain 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.
| Information | Kept | Note |
|---|---|---|
| 2D outlines | Partial | Closed LWPOLYLINE/POLYLINE, and LINE/ARC chains that close; arcs and bulges become 10° segments |
| Holes | Partial | CIRCLEs inside an outline; depth/face only from KerfCraft XDATA, otherwise through. KerfCraft pocket layers (POCKET_*, MORTISE*, DOWEL*) are skipped |
| Units | Full | $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.
| Information | Kept | Note |
|---|---|---|
| Walls, openings and rooms | Partial | IfcBuildingStorey 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 solids | Partial | IfcExtrudedAreaSolid 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 |
| Names | Full | |
| Positions and rotations | Full | IfcLocalPlacement relative to the storey (and the host wall for openings) |
| Units | Full | Millimetres (IfcSIUnit .MILLI. .METRE.), Z up |
| Assembly structure | Partial | Spatial structure project → site → building → storeys → spaces; roofs aggregate their slopes; each furniture item is one IfcFurnishingElement |