1. Introduction
1.1. Overview
The COMPAS SLICER package broadly contains four blocks of code:
Geometry: contains all geometrical entities
Slicers: provides the functionality that generates the sliced model
Print organizers: provides the functionality for embedding fabrication related information to the sliced model
Visualization: visualizes the results in the Rhino-Grasshopper environment
1.1.1. Geometry
The geometry part of COMPAS SLICER contains all of the geometrical entities that are specific to COMPAS SLICER:
The Layer
, VerticalLayer
, Path
, and PrintPoint
. A Layer
is essentially a single slice of the model.
In case of planar slicing, all points on one Layer
are at the same height, however, this is not the case for non-planar slicing.
A VerticalLayer
is a special method for organizing layers, in this case several Layers
are grouped together to form a
group of layers. The VerticalLayer
is only relevant in case a model consists out of multiple Paths
.
A Layer
contains a list of one or mulitple Paths
. Multiple Paths
occur when a model has multiple branches (see image).
Each Path
is a closed or open contour and contains a list of compas.geometry.Point
objects.
Lastly, the PrintPoint
is essentially the same as the Points in the Path
, however, it contains additional fabrication parameters.
1.1.2. Slicers
Different slicers are integrated into COMPAS SLICER.
Planar slicer: Most basic slicer, slices the model through an intersection of a plane parallel to the XY plane.
Interpolation slicer: Creates non-planar slices by interpolating between boundary curves.
Scalar field slicer: Uses a scalar field to create non-planar slices.
UV slicer: TBA.
1.1.3. Print organizers
After the model is sliced using one of the available slicers, the toolpath can be generated using the PrintOrganizers.
The PrintOrganizer
creates PrintPoint
objects out of the compas.geometry.Point
objects that are used throughout the slicing process.
Using different functions, fabrication parameters can be added or modified to the PrintPoints
. Examples of this include:
setting the velocity, setting the blend radius, or adding safety printpoints (z-hop).
1.1.4. Visualization
Both the Slicer output and the PrintOrganizer output can be visualized in Grasshopper. More details on this can be found in Tutorial 2.
1.2. Folder structure
The functions of COMPAS SLICER are grouped into different folders:
geometry: Contains the main geometric classes of compas_slicer:
Layer
,Path
, andPrintPoint
.parameters: Contains parameter presets.
pre_processing: Contains various functions that are used before slicing a model, such as repositioning, or various operations for curved slicing.
slicers: Contains the slicer classes.
print_organization: Contains the print organization classes. These take a sliced model and embed on it all necessary fabrication-related information.
post_processing: Contains various functions that are used after a model is sliced, such as different methods of sorting, or adding a brim/raft.
utilities: Contains miscellaneous useful functions.