Versioning Files
Reliable file versioning for 3D printing means you can always answer: Which geometry did we print, with which slicer settings, on which printer/material, and did it succeed? Keep CAD, export, slicer project, g-code, and notes/photos together, and separate “design revisions” (geometry changes) from “print attempts” (settings changes) so you can compare results and avoid printing the wrong file.
TL;DR
Save and name CAD, export (prefer 3MF), slicer project, and the exact g-code per print attempt; bump the design revision when geometry changes and bump the print attempt when only slicer/printer settings change so you don’t accidentally reprint old g-code.
What counts as the “source of truth” in 3D printing
A single print has multiple artifacts that can each change the outcome: the CAD source, the exported mesh you sliced, the slicer project (settings + orientation + supports), and the final g-code the printer ran. If you only keep one of these (often just an STL), you can’t reliably reproduce a good result or explain why the next attempt changed.
Minimum set to archive for any print you might repeat
- CAD source file (native format) and/or a STEP if you share between CAD tools
- The exported model that was actually sliced (3MF preferred; STL if required)
- The slicer project file saved at the time of slicing (not just a profile)
- The exact g-code (or printer-ready file) that was sent to the machine
- A short notes file: printer, nozzle size, material brand/type, temps, speeds, key settings, and the outcome
- Photos: first layer, the failure area, and the finished part next to a ruler/calipers
Separate two different version numbers: design revision vs print attempt
A design revision is a geometry change (hole moved, wall thickened, fillet added). A print attempt is a manufacturing change (layer height, temperatures, supports, orientation, speed, cooling, material). Mixing both into a single “v2” makes it impossible to compare what actually fixed (or caused) a problem.
Simple rule for meaningful comparisons
- If geometry changes: increment the design revision (r03 to r04).
- If only print settings/process change: keep the same design revision and increment the print attempt (printA to printB).
- Try to change one major variable per attempt (for example: only temperature, or only retraction), otherwise your results are hard to interpret.
A folder structure that prevents “wrong file” prints
Use one top-level folder per part (or per assembly), then store shared assets (CAD, exports, slicer) and create a dedicated subfolder for each attempt. The goal is that the g-code you run lives inside the attempt folder with the notes and photos that explain what happened.
Folder Template Example
- 01_CAD
- Native CAD + STEP + design exports by revision
- 02_Exports
- Meshes used for slicing (3MF/STL) by revision
- 03_Slicer
- Slicer projects and any custom profiles
- prints/2026-04-28_A
- One attempt: g-code + slicer project copy + notes + photos
- prints/2026-04-30_B
- Next attempt on same design revision
Filename patterns that sort well and communicate intent
Good names do two jobs: they sort correctly and they prevent ambiguity when you’re standing at a printer choosing a file. Keep names short but consistent: PartName, design revision, print attempt id, and the few settings that actually distinguish prints (material, nozzle, layer height, temps).
Filename Pattern
- PartName_r03_CAD.f3d
- PartName_r03_export.3mf
- PartName_r03_slicer_printA_0p20LH_3walls.3mf
- PartName_r03_printA_PLA_215C_bed60.gcode
- PartName_r03_printA_notes.txt
- PartName_r03_printB_retract-tuned.gcode
Common Versioning Failures
Printed the wrong file (old g-code)
Likely cause: Similar filenames; g-code scattered in Downloads/SD root; printer UI truncates names
Fix: Store g-code inside a per-attempt folder and include print id early in the filename (Part_r03_printB...)
Can’t reproduce a “good” print later
Likely cause: Only STL was saved; slicer project and notes (temps/material/nozzle) weren’t captured
Fix: Save slicer project next to the g-code and add a short notes file with the key settings and outcome
Not sure whether the fix was CAD or slicing
Likely cause: Geometry edits and slicer tweaks were both rolled into “v2”
Fix: Split changes into design revision vs print attempt and record exactly what changed in notes
Two people overwrote or duplicated work
Likely cause: Shared folder with no unique attempt ids or ownership
Fix: Use date + initials in the attempt id (2026-04-28_JD_A) and keep a simple shared log in the prints folder