3dSynth

Docs / Settings

Open in the interactive docs reader

G-code Preview Compatibility

3dSynth generates non-planar G-code — toolpaths where the nozzle moves continuously in Z while printing, creating waves, spirals, and sculpted surfaces. This is what makes 3dSynth prints unique. However, it also means that most slicer preview viewers will not display the toolpath correctly.

This page explains why, which tools work, and how to verify your designs before printing.


Why slicer viewers struggle with non-planar G-code

How traditional slicer viewers work

Slicer viewers like Creality Print and Bambu Studio were designed for planar layer printing: every move within a layer sits at exactly the same Z height, and layers stack cleanly on top of each other. The preview renderer groups moves by Z coordinate and renders each group as a flat disc of material.

This works perfectly for standard sliced models. But 3dSynth produces a fundamentally different kind of G-code:

When the viewer tries to bucket these moves into planar layers, it breaks down. Moves with changing Z get misclassified as layer transitions, causing the "holes," "wireframe artifacts," or "fragmented fins" you may see in the preview.

Why the print itself is correct

The printer's firmware (Klipper, Marlin, RepRap) does not care about layers at all. It simply executes each G1/G0 command in sequence, moving the nozzle to the exact XYZ coordinates specified. Non-planar paths are printed exactly as generated — the firmware limitation does not exist.

The preview artifacts are a viewer limitation only, not a G-code problem.


Slicer viewer compatibility

ViewerNon-planar previewNotes
PrusaSlicer G-code ViewerCorrectRenders moves sequentially as a continuous toolpath. Recommended.
Creality PrintIncorrectPlanar-layer bucketing algorithm; artifacts in upper layers with Z-wave patterns.
Bambu StudioIncorrectSame limitation; may also hang on large non-standard G-code files.
OrcaSlicerIncorrectShares the same viewer codebase as Creality Print.
3dSynth built-in viewerCorrectUses the raw toolpath positions directly, not the G-code string. Always accurate.

PrusaSlicer G-code Viewer is the recommended external tool for verifying 3dSynth exports. It renders moves sequentially as a continuous 3D toolpath — the same way the printer executes them — so non-planar geometry is always displayed correctly.

What it is

PrusaSlicer G-code Viewer is a lightweight, standalone application that loads any .gcode file and gives you a full 3D preview with layer-by-layer playback. Its behavior is identical to the preview inside PrusaSlicer (the same rendering code is used), but you do not need a PrusaSlicer project or model to use it — just drop in a G-code file.

It parses G-code from PrusaSlicer, Slic3r, Slic3r PE, Cura, ideaMaker, Simplify3D, Craftware, and KISSlicer, as well as standard Marlin/Klipper G-code like 3dSynth exports.

How to get it

PrusaSlicer G-code Viewer is included automatically with every PrusaSlicer installation — no separate download needed.

  1. Go to prusa3d.com/software
  2. Download the latest PrusaSlicer installer for your operating system
  3. Run the installer — PrusaSlicer G-code Viewer installs alongside PrusaSlicer automatically
  4. Find "PrusaSlicer G-code Viewer" in your applications or Start menu

How to use it

  1. Export your design from 3dSynth using the Export G-code button (either Raw or Enriched format)
  2. Open PrusaSlicer G-code Viewer
  3. Drag your .gcode file onto the viewer window, or use File → Open
  4. The toolpath renders immediately — use the layer slider and playback controls to inspect any section

G-code export formats in 3dSynth

3dSynth provides two export formats. Both produce correct G-code; the difference is the metadata embedded for slicer compatibility.

Raw G-code

Plain G-code with your printer's startup and shutdown sequences. Compatible with any printer and any slicer's SD-card workflow. Use this format when:

Enriched G-code

The same toolpath as Raw, but with embedded metadata blocks that Creality Print and OrcaSlicer-based slicers can read for filament recognition, time estimates, and thumbnail previews. Use this format when:


The built-in 3dSynth viewer

The 3D viewer inside 3dSynth always shows your design accurately. It uses the raw toolpath positions computed by the engine directly — it does not parse the G-code string for its preview. This means:

Use the built-in viewer to validate your design. Use PrusaSlicer G-code Viewer to verify the exported G-code file before your first print of a new design.


Frequently asked questions

Will the artifacts in Creality Print affect my print?

No. The artifacts are a viewer rendering issue only. The G-code coordinates, extrusion amounts, and speeds are all correct. The printer firmware executes the file exactly as written.

Can I fix the Creality Print preview?

Not from the G-code side. The rendering limitation is inside Creality Print's viewer, which expects planar-layer geometry. There is no metadata or G-code flag that instructs Creality Print to switch to a non-planar rendering mode.

Does Bambu Studio work?

Bambu Studio shares the same planar-layer preview limitation. Additionally, Bambu Studio may be slow or unresponsive when loading large non-standard G-code files (it expects its own compact format). Use PrusaSlicer G-code Viewer instead.

Is my printer compatible with non-planar G-code?

Any printer running Klipper or Marlin firmware handles non-planar G-code correctly — the firmware just follows coordinates. See Printer Compatibility for details on supported printers and profiles.