Trajectory Planner for 3D printing - A axis blending issues
- AlessandroT
- Offline
- Senior Member
Less
More
- Posts: 49
- Thank you received: 4
13 Jul 2021 18:56 #214639
by AlessandroT
Replied by AlessandroT on topic Trajectory Planner for 3D printing - A axis blending issues
It will be very useful if we will able to merge their TP.
In our case, as we print with the spiralize option, the trick of exchange the "A" axis with the "Z" axis will be useless as both of them are in every gcode lines.
Here I found a branch more updated from the Tormach engineer, but unfortunately I am still unable to try it.
github.com/robEllenberg/linuxcnc-mirror/...ure/uvw-blending-2.7
It seems that there are differences in the tp and in the motion path. I will continue to investigate.
In our case, as we print with the spiralize option, the trick of exchange the "A" axis with the "Z" axis will be useless as both of them are in every gcode lines.
Here I found a branch more updated from the Tormach engineer, but unfortunately I am still unable to try it.
github.com/robEllenberg/linuxcnc-mirror/...ure/uvw-blending-2.7
It seems that there are differences in the tp and in the motion path. I will continue to investigate.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19106
- Thank you received: 6398
13 Jul 2021 21:46 #214651
by tommylight
Replied by tommylight on topic Trajectory Planner for 3D printing - A axis blending issues
Seems old but still may be valid:
www.cnczone.com/forums/tormach-pathpilot...ach.html#post1726110
www.cnczone.com/forums/tormach-pathpilot...ach.html#post1726110
The following user(s) said Thank You: AlessandroT
Please Log in or Create an account to join the conversation.
14 Jul 2021 01:17 #214662
by cakeslob
Replied by cakeslob on topic Trajectory Planner for 3D printing - A axis blending issues
While I wont argue a new fancy trajectory planner would be sweet, it seems like overkill for something thats more like a synchronized toolhead, than an axis of motion. I dont think marlin or klipper have a 4 axis planner, probably a 3+1 but Im not to good with computers so I dont know for sure. Klipper seems closest in concept to linuxcnc so ill use that for reference. It looks like the extruder has a separate kniematics config, and the action is happening in toolhead.py I am trying to determine if this is similar to what PCW is saying with velocity extrusion and filters
github.com/KevinOConnor/klipper/blob/master/klippy/toolhead.py
github.com/KevinOConnor/klipper/blob/mas...nematics/extruder.py
github.com/KevinOConnor/klipper/blob/master/klippy/toolhead.py
github.com/KevinOConnor/klipper/blob/mas...nematics/extruder.py
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19106
- Thank you received: 6398
14 Jul 2021 02:00 #214666
by tommylight
Replied by tommylight on topic Trajectory Planner for 3D printing - A axis blending issues
There is a working printer i linked to using axis U (or A ) for Z, and Z axis for driving the extrude.
On FDM printers Z axis moves only on layer shift so not blending or anything required as all other motion is stopped while the Z is moving.
On FDM printers Z axis moves only on layer shift so not blending or anything required as all other motion is stopped while the Z is moving.
Please Log in or Create an account to join the conversation.
- AlessandroT
- Offline
- Senior Member
Less
More
- Posts: 49
- Thank you received: 4
14 Jul 2021 11:25 #214720
by AlessandroT
Replied by AlessandroT on topic Trajectory Planner for 3D printing - A axis blending issues
In our case, as we use a pellet extrusion with a large bead, we usually set the spiralize option in the slicing software: it means that X Y Z are moving together. For this reason, switching the Z and A axis will be useless.
The same for some fancy 45-degree prints.
The velocity extrusion with some filters works very well. The cons are that it requires coding to post-process the gcode outputted from slicing softwares. As different slicers are writing the gcode in different manners, I don't think is the right way because you will be slicer-dependent.
Moreover to get the proper amount of extrusion it requires parameters as layer height and Nozzle diameter that are previously set in the slicer software. This software doesn't talk with linuxcnc and it generates human errors when the operator loads a gcode from time before and doesn't remember the slicing parameters. In synthesis, in my opinion, the velocity extrusion is a good workaround but it's not a final solution.
Could be possible to load two trajectory planners one for XYZ and one for the A axis?
The real problem in 3D printing with the actual Trajectory Planner is that is it optimized in the opposite way against necessity.
The aim should be to keep the extrusion more constant as possible acting as a constraint to the XYZ motion. If the objectives of the optimization strategy of the TP could be chosen, it will be amazing!
The same for some fancy 45-degree prints.
The velocity extrusion with some filters works very well. The cons are that it requires coding to post-process the gcode outputted from slicing softwares. As different slicers are writing the gcode in different manners, I don't think is the right way because you will be slicer-dependent.
Moreover to get the proper amount of extrusion it requires parameters as layer height and Nozzle diameter that are previously set in the slicer software. This software doesn't talk with linuxcnc and it generates human errors when the operator loads a gcode from time before and doesn't remember the slicing parameters. In synthesis, in my opinion, the velocity extrusion is a good workaround but it's not a final solution.
Could be possible to load two trajectory planners one for XYZ and one for the A axis?
The real problem in 3D printing with the actual Trajectory Planner is that is it optimized in the opposite way against necessity.
The aim should be to keep the extrusion more constant as possible acting as a constraint to the XYZ motion. If the objectives of the optimization strategy of the TP could be chosen, it will be amazing!
The following user(s) said Thank You: Aciera
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1440
14 Jul 2021 12:53 - 14 Jul 2021 13:02 #214729
by Todd Zuercher
Replied by Todd Zuercher on topic Trajectory Planner for 3D printing - A axis blending issues
Did you try it using U, V, or W instead of A? (I think the new planner's look ahead might be extended to those axis in v2.8+, just not A,B,C.)
I know I helped with testing the experimental UVW branch and it was working there. But I never tested 2.8-pre after that branch was supposedly merged, to see if it worked there. And I have not taken the time to upgrade my machines beyond 2.7, because the work-arounds I'd already implemented there work well and my complex configs don't import easily into 2.8 without a lot of manual changes. Not to mention nessisary OS upgrades, have kind of dead ended me, until I put in a lot of time testing and experimenting. (These are factory production machines.) So the time required and time available has made the incentive for upgrading low for me. (if it ain't broke...)
I know I helped with testing the experimental UVW branch and it was working there. But I never tested 2.8-pre after that branch was supposedly merged, to see if it worked there. And I have not taken the time to upgrade my machines beyond 2.7, because the work-arounds I'd already implemented there work well and my complex configs don't import easily into 2.8 without a lot of manual changes. Not to mention nessisary OS upgrades, have kind of dead ended me, until I put in a lot of time testing and experimenting. (These are factory production machines.) So the time required and time available has made the incentive for upgrading low for me. (if it ain't broke...)
Last edit: 14 Jul 2021 13:02 by Todd Zuercher.
The following user(s) said Thank You: Aciera
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1440
14 Jul 2021 13:02 - 14 Jul 2021 13:04 #214730
by Todd Zuercher
Replied by Todd Zuercher on topic Trajectory Planner for 3D printing - A axis blending issues
You might be able to work around the need for a custom post processor, by building the nessisary post processing into a filter in Linuxcnc that automatically makes the nessisary changes to the files as they are loaded. I do this on several machines to convert g-code that was made for a different machine compatible with another.The velocity extrusion with some filters works very well. The cons are that it requires coding to post-process the gcode outputted from slicing softwares. As different slicers are writing the gcode in different manners, I don't think is the right way because you will be slicer-dependent.
Moreover to get the proper amount of extrusion it requires parameters as layer height and Nozzle diameter that are previously set in the slicer software. This software doesn't talk with linuxcnc and it generates human errors when the operator loads a gcode from time before and doesn't remember the slicing parameters. In synthesis, in my opinion, the velocity extrusion is a good workaround but it's not a final solution.
Last edit: 14 Jul 2021 13:04 by Todd Zuercher.
Please Log in or Create an account to join the conversation.
14 Jul 2021 13:49 - 14 Jul 2021 14:03 #214737
by Aciera
Replied by Aciera on topic Trajectory Planner for 3D printing - A axis blending issues
@Todd
I run current master on everything and I'd really like to get to the bottom of this once and for all.
I know this may sound somewhat strange but how would I test this? Would I just use UVW instead of XYZ? Maybe I could use XYZUVW instead of XYZABC for my robot.
[edit]
or I guess the most logical would be to start with redefining the a-axis on my mill as u-axis.
I run current master on everything and I'd really like to get to the bottom of this once and for all.
I know this may sound somewhat strange but how would I test this? Would I just use UVW instead of XYZ? Maybe I could use XYZUVW instead of XYZABC for my robot.
[edit]
or I guess the most logical would be to start with redefining the a-axis on my mill as u-axis.
Last edit: 14 Jul 2021 14:03 by Aciera.
Please Log in or Create an account to join the conversation.
14 Jul 2021 14:22 #214743
by Doogie
Replied by Doogie on topic Trajectory Planner for 3D printing - A axis blending issues
I thought I tested this and figured out it was not the case that the A axis dropped the TP to a 1 word buffer here(videos showing 1 word and 50 word buffers): forum.linuxcnc.org/38-general-linuxcnc-q...3-3d-printing#210835
Maybe arc_blend is quite different from what you are saying and seeing?
Maybe arc_blend is quite different from what you are saying and seeing?
Please Log in or Create an account to join the conversation.
- AlessandroT
- Offline
- Senior Member
Less
More
- Posts: 49
- Thank you received: 4
14 Jul 2021 15:23 #214756
by AlessandroT
Replied by AlessandroT on topic Trajectory Planner for 3D printing - A axis blending issues
Hi Doggie,
I saw your video and checked your gcode. In your case ( in the second video) the arc_blend option is working because you didn't have the A axis coordinate inside the gcode. If you execute the same gcode with A axis, I suppose that your second video will be identical to the first one.
@Todd, thanks, I can understand the feeling and the scares to upgrade when the stuff are going well. Honestly, I didn't test to swap A axis with U, I only read that it didn't work in some posts. I will do my homework soon. I have some little hope because we are testing the linuxcnc 2.9, and maybe the U swapped tester was using the 2.7!
About the post process inside linuxcnc, I never used this workaround and I will investigate it, but as we are loading very large files and it takes a long time already to be charged, I suppose that this will require even more time.
I saw your video and checked your gcode. In your case ( in the second video) the arc_blend option is working because you didn't have the A axis coordinate inside the gcode. If you execute the same gcode with A axis, I suppose that your second video will be identical to the first one.
@Todd, thanks, I can understand the feeling and the scares to upgrade when the stuff are going well. Honestly, I didn't test to swap A axis with U, I only read that it didn't work in some posts. I will do my homework soon. I have some little hope because we are testing the linuxcnc 2.9, and maybe the U swapped tester was using the 2.7!
About the post process inside linuxcnc, I never used this workaround and I will investigate it, but as we are loading very large files and it takes a long time already to be charged, I suppose that this will require even more time.
Please Log in or Create an account to join the conversation.
Time to create page: 0.096 seconds