3. Solver Components - machineagency/Vespidae GitHub Wiki

Solver Components

Solver components are have two functions. The first is to sort the input Vespidae Objects to determine order of fabrication. The second is to assign travel moves between each Vespidae Object. Additionally, there is a component to help visualize the Vespidae Objects as toolpath curves. These components include:

Basic Solver
Layer Solver
Additive Solver
Visualize


Basic Solver

The Basic Solver adds travel moves between actions without any sorting of objects. Best used if you want to manually choose the order of your components beforehand.

Inputs

VObj (Vespidae Object): The Vespidae Objects that you are solving. They are expected to already be ordered how you want. rh (double): The retract height that the tool will move upwards during travel moves, in mm. Used to avoid collisions or stringing material directly on your object. ts (double): The travel speed, in mm/min. Typically travel speeds can be faster than any extrusion or cut speeds. Defaults to 5000 mm/min. pr (bool): Enable partial retraction. If set, uses a default partial retraction of 2mm instead of rh.

Outputs

VObj (Vespidae Object): The list of Vespidae Objects that are solved. There will be Travel Vespidae Objects in between other actions.

Basic Solver


Layer Solver

This solver will automatically sort Vespidae Objects by the starting Z-coordinate of each object and create travel actions between each object.

Inputs

VObj (Vespidae Object): The Vespidae Objects that you are solving. rh (double): The retract height that the tool will move upwards during travel moves, in mm. Used to avoid collisions or stringing material directly on your object. ts (double): The travel speed, in mm/min. Typically travel speeds can be faster than any extrusion or cut speeds. Defaults to 5000 mm/min. pr (bool): Enable partial retraction. If set, uses a default partial retraction of 2mm instead of rh.

Outputs

VObj (Vespidae Object): The list of Vespidae Objects that are solved. There will be Travel Vespidae Objects in between other actions.

Layer Solver


Additive Solver

Similar to the layer solver, but specialized for Additive processes like 3D printing. It takes into account the extrusion type and prints shells/offsets before infills. It also allows for additional sorting after the Objects have been sorted by Z-axis for more control.

Inputs

VObj (Vespidae Object): The Vespidae Objects that you are solving. rh (double): The retract height that the tool will move upwards during travel moves, in mm. Used to avoid collisions or stringing material directly on your object. ts (double): The travel speed, in mm/min. Typically travel speeds can be faster than any extrusion or cut speeds. Defaults to 5000 mm/min. pr (bool): Enable partial retraction. If set, uses a default partial retraction of 2mm instead of rh. sort (int): Additional sorting after the sort by Z. 0 = X-direction, 1 = Y-direction, 2 = Tool ID. Defaults to 0 = X-direction.

Outputs

VObj (Vespidae Object): The list of Vespidae Objects that are solved. There will be Travel Vespidae Objects in between other actions.

Additive Solver


Visualize

Takes Vespidae objects and exposes the toolpaths for visualization. Allows users to look at all toolpaths at once, or by specific action types. When combined with List Item components (standard Grasshopper component), users can walk step-by-step through the fabrication process.

Inputs

VObj (Vespidae Object): The Vespidae Objects that you are visualizing. scl(double): The scale of the arrows, which indicate the direction of the toolpath. This is a relative number that determines the size of the arrows.

Outputs

all (Curve): Toolpath curves of all input Vespidae Objects. mv (Curve): Toolpath curves of all Move Vespidae Objects. ext (Curve): Toolpath curves of all Extrude Vespidae Objects. trv (Curve): Toolpath curves of all Travel Vespidae Objects.

Visualize