Loading shapes (SVG, DXF & G-code)

How to load shapes into cncfoam.com: single-part vs two-part morph, supported SVG/DXF/G-code formats, the SVG cleaner, sampling resolution, and tips for clean imports.

Click + Load parts to bring a shape into the tool. There are three ways to define what the wire cuts.

Single part

One profile, repeated on both ends of the wire. The wire stays parallel to itself, producing a straight extrusion of your outline (optionally with a twist). This is the right choice for most simple shapes and for any 2-axis cut.

Two-part morph

A different profile for each end (left = X/Y plane, right = U/V plane). The wire blends from one to the other along the cut, creating tapered and transitioning shapes — a wing that changes aerofoil from root to tip, a square-to-round duct, and so on. Needs a 4- or 5-axis machine. cncfoam.com smart-syncs the two profiles to minimise wire span. See Morphing two profiles.

Supported formats

  • SVG — vector outlines (path, polygon, polyline, rect, circle, ellipse). The most common source, exported from Inkscape, Illustrator, etc.
  • DXF — CAD outlines (LWPOLYLINE, POLYLINE, CIRCLE, LINE, ARC, SPLINE). Exported from any CAD program.
  • G-code — an existing cut job (.gcode .nc .txt .cnc .tap .ngc .gcd). Loads the path directly so you can preview or re-stream it.

Sampling resolution

Curved SVG/DXF outlines are sampled into points. The Samples setting (Settings → Machine settings) controls how many — 256 is plenty for aerofoils, up to 1024 for silky curves on tiny parts. More samples = smoother curves but a larger G-code file.

The SVG cleaner

SVGs exported from CAD (especially via DXF import in Inkscape) often contain junk that breaks parsers: <symbol id="*Model_Space"> blocks with invalid characters, hatch patterns, path-effects and unused defs. cncfoam.com auto-cleans every SVG on load, and there is a standalone batch SVG cleaner for fixing files in bulk. If an SVG refuses to load anywhere else, run it through the cleaner.

Import tips: make your outline a single closed path, remove text/strokes-as-objects, and keep the drawing roughly to the scale you want (you can rescale in the Object bar afterwards).

Drag & drop

You can also drag a file straight onto the tool window. SVGs are auto-cleaned on drop, with a toast confirming what was stripped.