A set of geometry node modifiers used for procedurally generating supports for resin 3D-printable models, with accompanying python tools and also including materials for layer visualization.

The Problem

In resin 3D-printing, models are printed upside-down stuck to a "build plate" that advance upwards for each layer that is "added" to the print.
Supports are required in order for the print to come out intact and are designed in a way as to be easily removable from the actual model with minor cleanup.

The main problems that supports address:

  • Ensure that the model stays together and remains stuck to the build plate during printing.
  • Features of the model may initially be disconnected on their first layer ("islands") and need to be held in place until they merge with the rest.
  • Supports also enables orientation of the model in such a way as to provide better print quality by layer alignment or to significantly reduce printing time by laying down a taller model.

Workflow

The input geometry acts as an interface for defining the structure of the supports.
The resulting shapes are mainly parameter driven.

Raft

"Rafts" are platforms that attach directly to the build plate and from which everything else emerge.
In order for the print to properly stick to the build plate, the initial "burn-in" layers are hardened for a longer time wich will result in them swelling, and for this reason models are usually suspended from the build plate as to not be part of those layers.

This modifier simply extrudes polygons and slants the border faces inwards wich is required for safe removal of the print from the build plate.


Image

Simple Supports

For when you need to suspend large horizontal surfaces, like the base of a miniature.

Edges that emerge from vertices at the "zero level" will form tips that automatically will make contact with the nearest surface point of the model.


Image

Supports

The primary modifier of the set. It handles most use cases which usually requires a complex structure for durability and being able to reach obscure areas.
Below follows a breakdown of the various "components" that this modifier generates.

Image

Main Components

The core component is the pole from which all other components emerge.

They are formed by any "ground vertex" that makes at least one edge with another vertex above.
Poles are always vertical, positioned at the ground vertex and will by default break off into a branch followed by a tip.
The initial position of the tip is that of the above vertex and will automatically reposition and align itself to the closest surface point of the model.

Branches always have a fixed angle since it plays a major factor in durability.

Multiple Branches

Each edge that connects to a ground vertex will form a branch, sharing the same pole.

Leaves

Edges coming out of the end vertex of a "branch edge" will form sub-branches called leaves.
The leaf farthest from the ground vertex will be promoted to a branch. Leaves will line up along the branch, maintaining maximum verticality.

Second Level Branching

Edges coming out of "leaf edges" will instead form a second level branch with it's own leaves. This branch will attach to the first level branch in the same manner as leaves.

Bracing

Connected ground vertices will form braces between their poles. These are fundamental in forming a rigid support structure.
Braces, like branches, have a fixed angle, for the same reasons.

Bracing Poles

Ground vertices that to not produce poles but are connected with other pole vertices will also form poles and brace with their neighbours.
For when you need additional bracing without adding branches.

Underbracing

Branches that are long enough will form a bracing structure beneath them. As with regular braces, the angle is fixed.


Apply Margin

Displaces masked faces by some distance, maintaining the original shape. Used for tolerance adjustments in male/female parts of model assemblies.

Image

Visualization Material

  • Visually slice off the model at a given height, providing a way to gauge the distribution of contact points as well as easier detection of islands.
  • Indication of where the surface is pointing towards the build plate, to facilitate island detection.

Python Tools

Duplicate Vertices Connected

Duplicates the selected vertices, connected to the same vertices as the originals.

Connect Vertices

Creates an edge between the active vertex and other selected vertices, optionally removing any existing connections.

Test Prints

Test prints show that the generated supports satisfy the above mentioned requirements and are ready for use in advanced projects.

Test Shape

This test never succeeded as the underside of the top part was hard to reach, resulting in longer branches that remained too flexible. However this was mainly a stress test as the model was overly massive.

Platform

Another test, printing a leaning platform, as part of prototyping for a project. No issues here.

Clothes Rack Foot

No pictures of the printed supports as they had to be broken during removal.