Self Leveling (3 motor leadscrew) printer = Non-planar printer?
-
@arnold_r_clark
Nice!
Does your printer work in 5 axes (can do 5 axis Gcode prints?) or is the bed setup for the purpose of automatic true bed leveling?
-
This post is deleted! -
@visionary said in Self Leveling (3 motor leadscrew) printer = Non-planar printer?:
I can determine an equation for any of th
I tried to find a formula, but I had no luck. But my idea so far is:
- because of the perpendicularity, the top region defines that the middle point of green lines must be on the circle which has it's center half way of the top line. So it must match a (x – h)^2 + (y – v)^2 = r^2 circle function (x,y being tilted in space).
- right top and right down points are given
- the right green lines have a known angle
So it should be possible (by vector calculation, defining the two right green lines as vectors and a given angle between them, it is some cos function) to calculate the missing angles and green line lengths. The vectors directions are given by the angle between them, starting and end points, and the first vector ends on the circle, and the second starts there.
-
There's no slicers(except a few proprietary ones) that can do anything but basic 2.5d slicing.
Even non-planar slicing hasn't been brought over to slic3r despite it existing for years.The biggest hurdle for any 3d printing in more than 2.5d is the slicer. It's a CS problem that is hard to solve.
-
@roiki11 said in Self Leveling (3 motor leadscrew) printer = Non-planar printer?:
There's no slicers(except a few proprietary ones) that can do anything but basic 2.5d slicing.
When the non-planar kinematics are ready and implemented in RRF, it's time to develop those needed slicers!! The industrial CNC have shown that it is possible.
I have a lot of ideas what can be done with it, starting with finishing 3D printed objects by routing and painting the surface. -
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.