Ryan GattisGraphics & Systems Engineer
← Projects

Mesh SVG Tool

Renders 3D meshes as wireframe SVG with hidden edge elimination, built for pen plotters.

  • C++
  • OpenMesh
  • CMake
  • vcpkg
Utah teapot wireframe drawn in pen on paper by a converted 3D printer
Utah teapot wireframe drawn in pen on paper by a converted 3D printer
Output
Plotter-ready SVG
Hidden edges
Eliminated

A command-line tool that projects a 3D mesh to clean 2D line work and writes it out as SVG. The output target is a pen plotter, which changes the problem: a rasterizer can overdraw and let the depth buffer sort it out, but a pen physically draws every line it is given. Hidden edges have to actually be removed before the file is written.

What it does

  • Perspective projection with optional back-face culling
  • Hidden surface and edge elimination
  • Configurable output units — mm, cm, in, px — because a plotter cares about physical dimensions, not pixels

The output

Utah teapot wireframe as raw SVG output from the tool

The vector above is the tool’s own output. The photograph at the top is that same file drawn as a physical object: the Utah teapot, in pen on paper, plotted by a Creality Ender-3 V3 KE converted to hold a pen. It is the one project here whose final artifact is a physical object rather than a framebuffer.