Skip to content
A G-Code generator for 3D printers
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



GGen is a G-code generator targetted at 3D additive printers (e.g. RepRap). While the dominant package in this design space, Skeinforge, does an admirable job of turning models into G-code, its usability and performance leave something to be desired. GGen seeks to bring the power of the cutting-edge Haskell programming language to bear on the problem slicing. In doing so, we hope to,

  • Be fast: Most models are sliced in under 10 seconds. Yes, that fast.
  • Be efficient: Generate G-code to drive the printer efficiently
  • Be easy to use: A simple configuration format allows beginners to get their printer up quickly
  • Be flexible: GGen provides a library interface for those who need more flexibility
  • Be hackable: Abstraction enables clear reasoning over difficult problems while type safety helps guarantee correctness


First, you will need the Haskell Platform installed. If you are running Ubuntu, this is quite simple,

    $ sudo apt-get install ghc libghc-gtk-dev libghc-cairo-dev cabal-install

If not, refer to the Haskell Platform download page for your platform.

Once Haskell has been installed, installation is a matter of grabbing and building the source,

    $ git clone git://
    $ cd GGen
    $ cabal install

This should grab any dependencies, build, and install GGen.


While GGen is still in the early stages of development, it can produce very reasonable G code. That being said, it lacks many of the more advanced features of Skeinforge (e.g. raft generation, skirts, etc.).

GGen can be configured in two ways. Most users will want to use the simple configuration option.

At the moment only the STL input format is supported. To produce G-code from an STL model (both binary and ASCII)


  • Skeinforge The dominant package in this design space. Quite comprehensive and reasonably robust but difficult to configure and rather slow.
  • SFACT A variant of Skeinforge
  • Slic3r A clean and fast slicer written in Perl seeking to fulfil many of the same goals as GGen.
  • SuperSkein
  • RepRap Host
You can’t perform that action at this time.