Toolpaths is a Grasshopper plugin for generating and simulating G-code. It's goal is to enable new ways of 3D printing and CNC milling while giving novices and experts alike full control of the machines movement.
-
Object-Oriented Toolpaths The core data type is the Toolpath, which encapsulates a curve with its associated metadata (speed, extrusion, etc.) into a single object.
Granularity: Assign parameters per-path or per-segment.
Compatibility: A Toolpath object remains a standard Grasshopper geometry type, allowing you to use native components for transformations without losing metadata.
-
Settings Hierarchy
Settings are resolved in a three-level hierarchy: Operation (highest), Toolpath , and Global Defaults (lowest). This structure allows you to define a baseline behavior once and only intervene at the toolpath or operation level when specific settings are required.
-
Simulation
The FDM engine simulates material deposition rather than just visualizing a mesh pipe. By calculating volume buildup the solver enables features like automatic flow adjustment.
- Variable layer height and vase mode slicing.
- Automatic extrusion width calculation and volume-based extrusion modes.
- Generator Components for infill and walls
- Modulators: Per-vertex control of extrusion prarmeters like flow, speed, etc
- Masking: Filters to isolate modulator effects to specific sections of a toolpath.
- Path optimization via TSP sorting
- Real-time playback of the simulation
- UV-mapped output meshes for rendering
- Z-hop and retractions
- Gcode upload for Klipper, RepRap, and Octoprint.
- LinuxCNC and Fusion 360 tool library support with tool/holder visualization
- High-performance stock removal simulation
- LinuxCNC-flavor G-code compiler
For installation and licensing instructions, please refer to the Licensing Documentation.
TOOLPATHS is currently in closed beta. We are beta testing with a small team of dedicated designers and fabricators. If you want to contribute, ask for a key at toolpaths@juengerkuehn.com.
- output for robots (requires robots plugin by visose)
- smooth rim modulator
- non-planar example
- Renamed "Initial Z Height" to Safe Clearance: Max(CurrentZ + Clearance, Clearance) logic
- renaming in fdm defaults: StartG → startG-Code, EndG → endG-Code, EPos → ExtruderMode
- fdm simulator: outputs overall program time in human readable format: HH:mm:ss
- vector field modulator: replaced IDW with Gaussian for smoother displacement
- vector field modulator: introduced per-point "Sigma" radius for individual influence control (removed redundant Falloff)
- bug fixes
- auto segmentation for curve inputs
- modulated speeds for no extrude moves will be correctly displayed
- gcode output to GH only on request
- faster slicing
- image map example
- variable infill example
- better degen defaults
- issue warnings if extusion is limited by nozzle size
- slicing component now accept mesh input (much faster)
- baked preview mesh is now split to match the sim time
- improved stability
- deconstuct toolpath is now two components: deconstuct CNC and deconstruct FDM
- gha loading sequence fix on mac
- no extrude curves displayed thicker
- mesh smoothing
- refactored infill and wall generator
- modulators accepts linear curves
- demo files
- volume component to calculate the extrusion area based on width / height
- static mode more performant
- fdm machine flattens toolpath input
- uv scaling input for better textures flow along the extrusion
- bugfixes for preview
- Infill Generator : robust handling for disjoint regions
- Infill Generator : Start Point is now hidden ; right click to reveal
- smart selector for extrusion mode based on available inputs
- bugfix: static mode now correctly ignores sampled heights
- closed paths are rendered more nicely
- toolpaths now has an icon
- interpolated vector field modulator
- simulation improvement:
- heigthfield outlier filtering
- extrusion smoothing
- dengenerate extrusion filtering
- heightfield interpolation
- bugfix: sorting curves off by default
- icons for parameters
- deconstruct toolpath features hidden outputs for clarity
- color component features hidden inputs
- vms now should default to 2 for all modulators
- significant perf improvements in fdm program generation and simulation
- better icons
- significant perf improvements in fdm preview
- icons
- curve divider respects closed/open state
- walls generator reworked to suppress duplicate control points
- introduction of simplify curve component
- planar slicer component: generates planar curves for "normal" printing
- bugfix in walls generator: holes are offest correctly
- async upload to printer
- refactor of vasemode layerheight
- introduction of layerheight generator: creates a layerheights based on slope
- better default values
- licensing popup when license is expired
- option to disable licensing , plugin will not try to load automatically until licensing is enabled
- naming conflict resolved between Rhino host plugin and Grasshopper
- licensing popup at first install





