Results 1 to 10 of 12
-
06-27-2014, 06:04 AM #1
Why can we only move in two dimensions?
Why is it that we can only move in the X and Y axes simultaneously? Why can't we move in all three axes simultaneously?
Imagine that you wanted to make a little ducky like this:
Rubber Duck.jpg
If I used a CNC router machine to cut it from a block of material, my Gcode would have all three axes moving at the same time as the cutter came up and over the material as required.
However, to 3D print my little ducky, the printer is free to move in the X-Y plane, but only moves along the Z axis after completing laying material on the X-Y plane.
Would it be too hard to generate Gcode that would have the extruder move from (X1,Y1,Z1) to X2,Y2,Z2) while taking into account the thickness of the layer at all times during the movement?
I think there is a Gcode to make the machine follow a vertical arc pathway.
Old Man Emu
-
06-27-2014, 07:28 AM #2
It is more difficult, but not excessively so. Some printers already do this, actually.
For example, see http://hackaday.com/2014/04/13/print...eal-this-time/Last edited by Davo; 06-27-2014 at 07:37 AM.
-
06-27-2014, 08:07 AM #3
- Join Date
- Jun 2014
- Location
- Burnley, UK
- Posts
- 1,662
Stratasys printers will do this but it is crippled by the PC software that makes the files for the printer.
You can't do it a lot without twisting the head, it is much easier for a CNC milling machine to do it than a 3d printer.
-
06-27-2014, 08:56 AM #4
I was under the impression that the code is for the lowest common denominator. Meaning, gcode reads the line and parses it, some printer hardware only have the capacity to run a few threads at a time and leave others open for constant use like sensors.
So it does only 2 axis at a time while printing. It could be a power draw situation too. running say, a hot end, extruder motor and the x, y, and z motors at the same time might not be allowed on certain boards, the fuse might blow.
I could be very very wrong on this, I've done limited research and assumed a few things. Because even playing around while writing gcode (just a few lines) I found that on my RAMPS 1.4 board that the code is executed in the way I figure it was parsed in order.
I could just be making a fool of myself by assuming a few things.
I'm happy to learn more if people know more and are willing to impart this information to the thread.
I do know my Delta printer moves in all 3 axis at the same time, so it is possible, but I feel that it's the way the gcode is being parsed by the particular firmware you are using.
-
06-27-2014, 09:32 AM #5
It depends on how the gcode is written (how your model is sliced), not how the gcode is parsed.
Just like you can tell your CNC to do a plunge cut on a curve, spinning and moving in three dimensions at once, you can tell your printer to move in three dimensions while dispensing material - if you code it to do so. Many slicers today only take literal two-dimension slices at your user defined layer thickness. You could also slice from the topmost layer thickness, not in a simple plane, but contoured to your model, and then slice down from there (each layer having X, Y and Z moves), then build up from the bottom with that code. Or you could slice and print at 45 degrees to the build platform if you wanted to. It just takes some time and ingenuity to determine the best build strategy to get the results you are hoping to achieve, and then figure out how to slice it and print it appropriately.
See the video I linked above.
-
06-27-2014, 02:07 PM #6
- Join Date
- Jan 2014
- Location
- Oakland, CA
- Posts
- 935
The basic problem is that if you send your Z axis skyward without having completed the underlying foundation, it will deposit filament in the air, which won't have anything to stick to. The hot-extruder 3D printing process is like brick-laying; you have to build on the bricks underneath, you can't expect your new bricks to support themselves on nothing. It's not a problem to write G-code that moves all the axes simultaneously, but the result would be a mess, with curls of filament drooping everywhere.
Andrew Werby
www.computersculpture.com
-
06-27-2014, 02:24 PM #7
-
06-27-2014, 02:46 PM #8
- Join Date
- Jan 2014
- Location
- Oakland, CA
- Posts
- 935
How is that support supposed to be laid down? It can't sustain itself in thin air any better than any other hot plastic Sure, if the support was put in place first in a proper, brick-like manner, then an overarching sheet of material could be laid down on top of it, and the printer could move in Z as it's doing that. That would require a different sort of coding than the current Slice3r does, but it wouldn't be a problem for the machine itself, unless the vertical curves in the model were too extreme for the extruder nozzle to get close enough to deposit effectively. Most current FDM-type machines have been designed for flat extrusion, but a needle-like nozzle could conceivably be designed that would permit this sort of thing.
Andrew Werby
www.computersculpture.com
-
06-27-2014, 06:10 PM #9
Ah ha! I see the flaw in my otherwise flawless plan!
With a CNC machine, you start with a solid block of material and remove the bits you don't want. However, with 3D printing, you have to lay down the material you don't want.
If I printed my ducky with the Z-axis moving in a vertical arc from the word "Go!" then there would not be anything underneath it for support and I would end up with a blob on the printer bed. The only way to support the vertical arch would be to print a grid of internal support pillars before joining the pillars with lines of filament which would support the external layers.
In other words, first print a support mesh, then close the mesh with closely spaced layers.
G-code that, Dude!
OME
-
06-27-2014, 09:43 PM #10
- Join Date
- Jun 2014
- Location
- Burnley, UK
- Posts
- 1,662
Gcode would cope with it fine but as you say doing the coding is the one.
You couldn't do your ducky anyway apart from maybe the top middle of his back, the sides are too steep.
New member with print issue
06-11-2024, 08:57 AM in Tips, Tricks and Tech Help