Ryan Hoover
Art Works



Xylinus Overview

Xylinus is a plug-in written for Grasshopper, the visual scripting environment for Rhino. It allows for novel control of 3D printers, generating G code directly from native Rhino and Grasshopper geometries including solids, surfaces, and curves. It has tools for printers based on FDM filament extrusion, pneumatically-controlled syringes, ink-jet, and DLP Stereolithography.

The Grasshopper Interface

Grasshopper is a plug-in for the 3D CAD program, Rhino. It is a visual scripting interface that allows for parametric modeling, interfacing with external data sources, communicating with external devices and user-generated add-ons like Xylinus. Components are simply wired together eliminated the need for memorizing specific coding syntax. Users can generate geometry in Rhino and/or Grasshopper and directly create gcode for printer control without exporting to another file type or changes programs.

The Xylinus Workflow

Printer control is defined by a combination of elements--input geometry, printer configurations, and a print component. Some print components use curves as an input to directly define the printers path of travel. Others use more volumetric geometry for and perform slicing operations similar to more conventional 3D printing software.

The configuration components collect and pass on the relevant information about the printer. There is a different config tool for each type of printing (filament, DLP, syringe). The config tool outputs these items individually and as a bundle. Most inputs in Xylinus can accept the specific config setting or the bundle. Ones you have established the settings for your printer, it can be saved as its own user object for future use.

If you would like to make modifications to some of the settings, this can be done with the config tool; simple input the bundled data and then input data for the specific setting you want to change. All blank setting will use the input bundled data.

Open for Expansion

The configuration components make the plug-in adaptable to a wide range of printers, including custom-built machines with unique additions and M-codes. This project has been developed for bioprinting, but is useful for a wide range of research-based applications and creative hands-on use of 3D printers. In keeping with the spirit and many benefits of the open-source 3D printing movement, where possible, Xylinus is written as "user objects" which are open to the user to explore and even modify if needed.

About the name "Xylinus"

This plug-in is named after Glucanobacter xylinus a bacteria that produces a fine microbial cellulose fiber. It is the portion of the Kombucha SCOBY that produces the pellicle that many artists, designers, and scientists are now exploring as a biomaterial with several compelling properties. G. xylinus produce a thin filament, not unlike a 3D printer, making it an ideal bug to serve as the namesake of a plug-in designed for bioprinting and other novel forms of 3D printing.


Xylinus is available to download for free. Contributions to the project are welcome, however. This can take the form of monetary donations, helping with debugging, and extending these tools. Everything is written as an unlocked "User Object" so the entire plug-in is open for you to edit, improve, and share back.

Please note that there are two additional plugins required for some of the feature in Xylinus. The live printer control for DLP printing makes use of the serial communication component in Firefly. The print logging tool, uses Leafcutter to connect to Google sheets. Big thanks to the brilliant work of Andy Payne and Andrew Heumann.