Pseudo 5 axis 3D printing
Project done by fma38.
Work in progress.
Please, refer to the french page for more details.
The goal of this projet is to be able to print BB-8 panels in an optimal manner.
These panels are portions of sphere. If we print them the usual way, it will take a lot of support. In addition, there will be a stair effect more and more marked towards the top; this effect could be mitigated by using a variable layer height, at the expense of the printing time. In all cases, the layers will remain very visible.
One solution is to use a 5-axis printer, and print along the sphere: the layers would then no longer be visible, since the top surface would correspond to the top surface of a flat part.
If the printer is not very difficult to build (!), it is quite different from the slicer point of view. To date, only a few companies have a solution of this type, proprietary, of course.
But, unlike any part, here we perfectly know the geometry - simple - of the part: a sphere. So it would only require to the slicer to parse the part along that sphere rather than the XY plane. But even this change is not trivial, and well beyond my skills. And I doubt to be able to motivate a slicer developer to implement that.
Fortunately, there is another way, much more accessible, which is to map the spherical part on to the plane! This is done very simply with a Python script (see french page). Once the part is flat, any basic slicer does the trick: it will think to go through the part along a plan, while it actually follows a sphere; o)
It then remains to transform the coordinates X/Y/Z to X/Y/Z/A/B coordinates (where A and B are the 2 additional axes, the rotations of the head or the bed), so that the head moves along the sphere rather than the plan.
Plane -> sphere
This part consists of mapping the STL of the portion of sphere onto the plane, as if the - soft - part were crushed on the table: it therefore stretches in the X/Y plane. Once the part is mapped on a plane, then sliced the usual way, it is necessary to generate the X/Y/Z/A/B coordinates of the 5-axis machine from the X/Y/Z coordinates.
Sphere -> plane
Once the part is mapped on a plane, then sliced in a conventional way, it is necessary to generate the X/Y/Z/A/B coordinates of the 5-axis machine from the X/Y/Z coordinates.
This part is more complex because it needs to:
- remap the plane movements on the sphere;
- break down large moves into small segments to manage the non-linearity of the new axes (bed rotations), and to travel along the sphere and avoid collisions.
Refer to the french page.
Refer to the french page.