|
4 | 4 | Introduction |
5 | 5 | **************************** |
6 | 6 |
|
7 | | -* General overview of the pipeline |
| 7 | +Overview |
| 8 | +======== |
8 | 9 |
|
9 | | -* Geometry classes organization |
| 10 | +The COMPAS SLICER package broadly contains four blocks of code: |
10 | 11 |
|
11 | | -* Brief explanation of the organization of the remaining functionality (ex. what is pre-processing, what is post-processing ..) |
| 12 | +* **Geometry:** contains all geometrical entities |
| 13 | +* **Slicers:** provides the functionality that generates the sliced model |
| 14 | +* **Print organizers:** provides the functionality for embedding fabrication related information to the sliced model |
| 15 | +* **Visualization:** visualizes the results |
12 | 16 |
|
13 | | -* Folder structure of examples |
| 17 | +Geometry |
| 18 | +-------- |
14 | 19 |
|
15 | | -* overview of slicers |
| 20 | +The geometry part of COMPAS SLICER contains all of the geometrical entities that are specific to COMPAS SLICER: |
| 21 | +The ``Layer``, ``VerticalLayer``, ``Path``, and ``PrintPoint``. A ``Layer`` is essentially a single slice of the model. |
| 22 | +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. |
| 23 | +A ``VerticalLayer`` is a special method for organizing layers, in this case several ``Layers`` are grouped together to form a |
| 24 | +group of layers. The ``VerticalLayer`` is only relevant in case a model consists out of multiple ``Paths``. |
| 25 | +A ``Layer`` contains a list of one or mulitple ``Paths``. Multiple ``Paths`` occur when a model has multiple branches (see image). |
| 26 | +Each ``Path`` is a closed or open contour and contains a list of ``compas.geometry.Point`` objects. |
| 27 | +Lastly, the ``PrintPoint`` is essentially the same as the Points in the ``Path``, however, it contains additional fabrication parameters. |
16 | 28 |
|
17 | | -* Reference to the 2 examples for further info |
| 29 | +.. figure:: intro_figures/01_layer.png |
| 30 | + :figclass: figure |
| 31 | + :class: figure-img img-fluid |
18 | 32 |
|
19 | | -* Reference to gh visualization tutorial for further info. |
| 33 | +.. figure:: intro_figures/02_vert_layer.png |
| 34 | + :figclass: figure |
| 35 | + :class: figure-img img-fluid |
| 36 | + |
| 37 | +Slicers |
| 38 | +-------- |
| 39 | + |
| 40 | +Different slicers are integrated into COMPAS SLICER. |
| 41 | + |
| 42 | +* **Planar slicer:** Most basic slicer, slices the model through an intersection of a plane parallel to the XY plane. |
| 43 | +* **Interpolation slicer:** Creates non-planar slices by interpolating between boundary curves. |
| 44 | +* **Scalar field slicer:** Uses a scalar field to create non-planar slices. |
| 45 | +* **UV slicer:** TBA. |
| 46 | + |
| 47 | +Print organizers |
| 48 | +---------------- |
| 49 | + |
| 50 | +After the model is sliced using one of the available slicers, the toolpath can be generated using the PrintOrganizers. |
| 51 | +The ``PrintOrganizer`` creates ``PrintPoint`` objects out of the ``compas.geometry.Point`` objects that are used throughout the slicing process. |
| 52 | +Using different functions, fabrication parameters can be added or modified to the ``PrintPoints``. Examples of this include: |
| 53 | +setting the velocity, setting the blend radius, or adding safety printpoints (z-hop). |
| 54 | + |
| 55 | +Visualization |
| 56 | +------------- |
| 57 | + |
| 58 | +Both the Slicer output and the PrintOrganizer output can be visualized in different ways. These are described in Tutorial 2. |
| 59 | + |
| 60 | +Folder structure |
| 61 | +================ |
| 62 | + |
| 63 | +The functions of COMPAS SLICER are grouped into different folders: |
| 64 | + |
| 65 | +* **geometry:** |
| 66 | +* **parameters:** Contains functions for interacting with the parameters of the slicing and print organization process. |
| 67 | +* **post_processing:** Various functions that are used *after* a model is sliced, such as different methods of sorting, or adding a brim/raft. |
| 68 | +* **pre_processing:** Various functions that are used *before slicing a model*, such as repositioning, or various operations for curved slicing. |
| 69 | +* **print_organization:** |
| 70 | +* **slicers:** |
| 71 | +* **utilities:** |
0 commit comments