3dSynth

Docs / Custom G-code

Open in the interactive docs reader

Warnings reference

The Custom G-code Editor automatically scans your file for potential print issues. Each warning includes the exact line number, a clear explanation, and a suggested fix. Warnings appear in the app's warning system and support jump-to-line navigation.

Severity levels

LevelMeaningEffect
BlockSerious issue in the file (homing, Z collision)Error diagnostics in the editor. Custom G-code export still writes the edited source; printer-level export blocks still require confirm.
WarnPotential problem that may affect print qualityExport allowed; review recommended
InfoInformational observation, not necessarily a problemNo action required

COLD_EXTRUSION

Severity: Warn

What it detects: An extrusion move (positive E delta) where the nozzle target temperature is below 150°C. Extruding cold filament jams the hotend. Skipped when Print → Process is Clay or Plotter.

Example that triggers this warning:

M104 S0       ; nozzle target is 0°C
G1 X50 Y50 E1.0 F1200  ; extrusion with cold nozzle!

How to fix:

M109 S200     ; heat nozzle to 200°C and wait
G1 X50 Y50 E1.0 F1200  ; now safe to extrude

FLOW_LIMIT_EXCEEDED

Severity: Warn

What it detects: A move where the computed volumetric flow rate (mm3/s) exceeds the printer's maxFlowRate setting. Pushing filament faster than the hotend can melt it causes under-extrusion or skipped steps.

Example that triggers this warning:

; With maxFlowRate = 15 mm3/s and 0.4mm nozzle:
G1 X100 Y0 E2.5 F6000  ; high speed + high extrusion = flow > 15 mm3/s

How to fix: Reduce the feedrate or the extrusion amount for that move. In practice, slowing the speed is the easiest fix:

G1 X100 Y0 E2.5 F3000  ; half the speed, half the flow rate

Z_COLLISION_RISK

Severity: Block

What it detects: A move where the Z position decreases during the print body (not during homing or Z-hop return). Lowering the nozzle into previously printed layers will collide with the print.

Example that triggers this warning:

G1 Z10.200  ; layer at Z=10.2
G1 Z10.000  ; DANGER: moving nozzle down into previous layer

How to fix: This usually indicates a G-code error or an unsafe reorder. Either remove the Z decrease or ensure there's a reason for it (e.g. it's a Z-hop return within the allowed hop distance).


RETRACTION_INEFFECTIVE

Severity: Warn

What it detects: A retraction (negative E move or G10) immediately followed by an unretraction (positive E move or G11) with no travel between them. This wastes time without achieving any stringing reduction.

Example that triggers this warning:

G1 E-1.0 F2400   ; retract
G1 E1.0 F2400    ; unretract immediately — no travel happened!
G1 X50 Y50 E2.0  ; actual move

How to fix: Remove the unnecessary retract/unretract pair:

G1 X50 Y50 E2.0  ; just move — no pointless retraction

MISSING_HOMING

Severity: Block

What it detects: A motion command (G0 or G1) with movement before any G28 (home) command appears in the file. Without homing, the printer doesn't know its position.

Example that triggers this warning:

G1 X50 Y50 F3000  ; moving without knowing where we are!
; ... later ...
G28               ; homing should come FIRST

How to fix: Move the homing command before any motion:

G28               ; home first
G1 X50 Y50 F3000  ; now the printer knows where it is

TEMP_NOT_REACHED

Severity: Warn

What it detects: An M104 (set temperature, no wait) followed by an extrusion move within the next 5 lines. M104 starts heating but doesn't wait — the nozzle may not be at temperature when extrusion begins.

Example that triggers this warning:

M104 S210         ; start heating, don't wait
G1 X50 Y50 E1.0 F1200  ; extruding immediately — nozzle may be cold!

How to fix: Use M109 instead to wait for the temperature:

M109 S210         ; heat AND wait until 210°C reached
G1 X50 Y50 E1.0 F1200  ; safe to extrude

EXTRUSION_MODE_MISMATCH

Severity: Warn

What it detects: A switch between M82 (absolute extrusion) and M83 (relative extrusion) without a G92 E0 reset nearby. Without resetting the E position, the first extrusion after the mode switch may produce an unexpected amount of filament.

Example that triggers this warning:

M82              ; absolute extrusion
G1 E100.5 F1200  ; E at 100.5mm
M83              ; switch to relative — but E is still at 100.5!
G1 E1.0 F1200    ; is this 1.0mm relative, or does firmware interpret it differently?

How to fix: Add a G92 E0 after the mode switch:

M83              ; switch to relative
G92 E0           ; reset E position to zero
G1 E1.0 F1200    ; clearly 1.0mm of relative extrusion

FEEDRATE_ZERO

Severity: Warn

What it detects: A G1 move where the feedrate is zero or has never been set. A zero feedrate may cause the printer to halt or move at an undefined speed.

Example that triggers this warning:

G1 X50 Y50 E1.0   ; no F parameter, and no previous F set!

How to fix: Add an explicit feedrate:

G1 X50 Y50 E1.0 F1200  ; now the printer knows how fast to move

OUT_OF_BOUNDS

Severity: Warn

What it detects: A move where X, Y, or Z exceeds the printer's build volume (defined in your machine profile). Movements outside the build area may crash into physical limits.

Example that triggers this warning:

; Printer build volume: 220 x 220 x 250 mm
G1 X250 Y150 F3000  ; X=250 exceeds 220mm limit!

How to fix: Check that the G-code matches your printer profile. If the file was sliced for a different printer, either re-slice or adjust the printer profile in 3dSynth.


HEATER_IN_CLAY_JOB

Severity: Warn

What it detects: M104 / M109 / M140 / M190 in a job whose Process dialect is Clay or Plotter. Heaters are usually unused for paste and pen.

How to fix: Remove the heater commands, or switch Process back to Filament if this is an FDM file.


FAN_BEFORE_LAYER

Severity: Info

What it detects: An M106 (fan on) command that appears before the nozzle reaches a height of 2 times the layer height. Turning the fan on too early can reduce first-layer adhesion to the bed.

Example that triggers this warning:

; Layer height: 0.2mm
M106 S255          ; fan on at full speed
G1 Z0.200          ; still on first layer!
G1 X50 Y50 E1.0    ; printing with fan on — may lift from bed

How to fix: This is usually harmless with good bed adhesion. If you experience first-layer lifting, delay the fan:

G1 Z0.200          ; first layer
G1 X50 Y50 E1.0    ; print without fan
G1 Z0.400          ; second layer
G1 Z0.600          ; third layer
M106 S255          ; now turn fan on