Self Leveling (3 motor leadscrew) printer = Non-planar printer?
-
thats honestly the wrong way to go about it. The slicers would need to be developed first, then the hardware. A normal 3D printer can already do non-planar printing. There’s no modifications required(though you would need a special nozzle for optimal performance). for a true 5 axis printing only a simple trunnion with 2 motors is needed. which is trivial to make with a 3d printed parts .
I get it, im more of a hardware guy myself. But this really is putting the cart before the horse(or climbing a tree ass first as we say). We’d need slicer support before any hardware work is really usable. and i dont see any work being done on that front. If i remember the slic3r maintainers were quite hesitant to bring the non-planar slicing work into the mainline slic3r. which is a shame.
-
@roiki11 we should talk about what we mean by non-planar printing, because I think we have a different understanding. If it's just changing the Z while printing in XY, then you're right, and it covers some of the use cases, and mesh compensation is already a non-planar printing (implemented in the controller, as you proposed in another thread). If it includes rotation of the nozzle (or the print bed) and additional actuators are needed, then there are more complex kinematics needed which don't exist in RRF yet.
I expect that noone will develop a slicer for non-planar printing, if there are no printers who can use it (henn egg problem). That's the reason for my approach for a printer first. But I may be wrong. Most users buy printers, so there may never be relative cheap printers with 5 or 6 axes.
A solution might be to start with small additional improvements to slicer and hardware and iterate higher. E. g. starting with code and hardware to print overhangs without support structure and if this works, implementing other use cases.
-
a non-planar printing is simply anything that uses the 3rd axis while printing to create non-planar layers. techically mesh bed compensation falls in to that. kind of. though its not printing non-planar layers.
there is already a fork of slic3r that does non-planar printing. some guy did it as a masters thesis in germany a few years back. People have made machines for 5 axis printing, or a tlting bed printers. Mostly for university work. They just aren’t usable in the real work because there’s no slicer to run them. i don’t see it as a chicken-or-egg problem because the hardware has never been the problem. Making the 5 axis hardware is quite easy. Even the matrix transformations for a 5 axis 3d printer aren’t that complex if you use the BC trunnion method, which mostly comes down to two matrix transformations since no work offset coordinates are needed.Linuxcnc actually has that, has had for years. It’s just not very usable in a machining context and there’s no slicer to try it with a 3d printer.
3D printing didn’t really kick off until a workable slicer emerged. Its the most complex problem to solve.
-
@roiki11 said in Self Leveling (3 motor leadscrew) printer = Non-planar printer?:
Linuxcnc actually has that, has had for years. It’s just not very usable in a machining context and there’s no slicer to try it with a 3d printer.
I'll think about what you wrote.
But I don't understand the sentence above about LinuxCNC. From my understanding, LinuxCNC has G-Code as input, so it's already behind the slicer. This G-Code should be usable by RRF also (maybe some incompatible commands need to be changed by a postprocessor).
-
Linuxcnc is a machine controller, like duet and RRF. The G-code is largely the same, aside from some codes that might be specific to machining or 3D printing. If you had a slicer that would output a 5 axis G-code with the standard tool vector co-ordinates, you could build a 5 axis printer with linuxcnc. Though it’s missing the more advanced 3D printing focused features.
-
Here is better drawing
I'm not yet sure how to solve as I haven't done much match with vectors.
-
This post is deleted! -
It will be good to add coordinates to the edges A B C, i. e. which xy coordinates the edges of the D4, D5, D6 have. Do you have this information? Then I'll help with vector calculation.
I guess the edges are about A (0,0), B (200,-50) C (150,-200).
Those XY coordinates are not the coordinates of the 3 axes, but of the tilted plane.
-
Which place would you set as origin?
I added coordinates of each line end points (these are just given example value solutions) to the drawing above (D4 as middle point as origin). -
This post is deleted! -
This post is deleted! -
@Visionary
ok, this calculation was also wrong. I'll try again... Unfortunately I used a wrong formula.If you could add the vector coordinates, this would be good. Maybe vector calculation is easiest.
-
@joergs5
Ok, I updated the drawing again. I don't know why but I do also get wrong solutions for example if I try to solve system of three equations: -
@visionary said in Self Leveling (3 motor leadscrew) printer = Non-planar printer?:
wrong solutions for example if I t
the formula is correct, maybe you calculated cos wrong, most calculation programs expect rad instead of degrees.
I verified the third formula, it's ok at me. arm13 being 135 degree and in calc I use the formula ...* COS(PI() / 180 * E6), E6 being degrees. -
@visionary my current approach is:
combine the first solution proposal of:
https://math.stackexchange.com/questions/3342547/curve-for-constant-angle-for-two-fixed-points
which calculated the curve which M1 M3 takes with the angle 135 degreewith the crossing the halfe curve around the midpoint. Both have two variables xy, so it should be solvable. Unfortunately the first formula uses specific coordinates, and it's difficult to understand how to generalize for arbitrary coordinates.
-
@roiki11
As it seems, there are several ways to build a non-planar printer, but would they all be happy with one slicer solution?
E.g.: rotating head vs. tilting bed.
The slicer would dictate how extra printer axes have to be named (eg. A/B), which wouldn't work for all.
IMHO, there has to be a new printer class first and it's requirements dictate the slicer-code.If Prusa decided to develop a non-planar printer, they would also come up with a dedicated slicer. But the benefits of this new type are marginal vs. the effort to make it happen.
-
@visionary I've rotated your triangle now, so D5 is horizontal on top (so I can calculate by the restricted formula of the link I provided), then calculated the midpoint and have xy with two equations. As mathematicians like to say, the rest is trivial. , not really.
The first formula has an interesting symmetry:
x² + y² = (x + y) dsymmetry doesn't help, as it is the mirroring at the diagonal x=y, and the crossing with the other formula is the low red segment:
(created with online Desmos)
The midpoint is (85,85) and radius is sqrt of 85²+85²= about 120.208
-
Not true. In CNC world the 5 axis programs are supplied as tool vector coordinates (X, Y, Z for the tip, I, J, K for the vectot point) and it's the machine itself that applies the appropriate transformations to run the machine. The CAM software doesn't need any machine specific information to create the code, though specific limitations of individual machines are not taken into account(there's Sim software for that).
The same approach would have to be done on th slicer in order to not lock it for a specific machine configuration that it's designed for. You're right about that.
-
Have you though about looking at Stewart platform kinematics? It's a pretty similar in concept, it just has more movable axes.
-
Sorry but I have hard time trying understand your handwriting. Which of the angles is theta?