Mesh compensation which accounts for G10 X&Y tool offsets
-
@fcwilt said in Mesh compensation which accounts for G10 X&Y tool offsets:
But you didn't say why y
Ah, my bad!
I have two reasons to believe it doesn't compensate correctly:
- In the X-200 to X-100 range, the Z-offset slopes slightly downward, whereas from X-100 to X100, there's a very slight bulge. When I touch the Z-axis during printing, I can feel it compensating for the bulge, even though it's printing in the slanted area.
- If I only probe the middle area but print outside this probed mesh, it still actively compensates. I believe RRF doesn’t extrapolate beyond the probed area, so I assume it’s applying compensation based on the middle section.
-
Thanks.
Anything is possible but I find it hard to believe that no one has noticed a compensation problem like this.
Has @dc42 made any remarks to you regards this issue?
In any case tomorrow I will run a test to see if mesh compensation works the way I think it does or not.
Frederick
-
Hi,
Well I've done some preliminary testing.
I created, by hand, a heightmap (X range from -90 to +90, Y range from -90 to +90) that had extreme Z offsets,
Z offset by X range
X=-90 to -54 : Z offset 0 X=-18 to +18 : Z offset 5 X=+54 to +90 : Z offset 0
I then created some macros.
Two to turn mesh compensation on and off
Two to set the tool X offset to either +90 or 0
Three to do G53 moves to -90, 0, +90My testing revealed what I thought to be true.
-
Mesh compensation takes tool offsets into account.
-
If the tool is outside the height map nothing seems to be done.
Frederick
-
-
@fcwilt So If I understand correctly;
If I have a mesh present at X-200 to X-100 and print at X-50 to X50 with a G10 offset of -150, will it still print with the correct compensation?
-
@SanderLPFRG said in Mesh compensation which accounts for G10 X&Y tool offsets:
@fcwilt So If I understand correctly;
If I have a mesh present at X-200 to X-100 and print at X-50 to X50 with a G10 offset of -150, will it still print with the correct compensation?
Yes, that is what my testing confirmed.
Keep in mind that when mesh compensation is active, movements done from the "jog" buttons on the DWC are still affected.
With the heightmap I tested having a Z range of 0mm to 5mm it was easy to see the mesh compensation adjustment being made as I moved the tool around from the DWC.
Frederick
-
@fcwilt said in Mesh compensation which accounts for G10 X&Y tool offsets:
ed having a Z range of 0mm to 5mm it was easy to see the mesh compensation a
Smart testing Idea,
Can you share the simple CSV you made?? Maybe our issue lies with having both X and U mapped to the X movements? I wonder if it then follows with the X or the U axis?
-
@SanderLPFRG said in Mesh compensation which accounts for G10 X&Y tool offsets:
@fcwilt said in Mesh compensation which accounts for G10 X&Y tool offsets:
ed having a Z range of 0mm to 5mm it was easy to see the mesh compensation a
Smart testing Idea,
Can you share the simple CSV you made?? Maybe our issue lies with having both X and U mapped to the X movements? I wonder if it then follows with the X or the U axis?
I will have to create a new one.
I simply used G29 to create a heightmap of the desired number of points, then edited the heightmap Z values to all 0.00, then selectively edited certain ones to 5.00, for the X axis only.
I will post one later today.
Frederick
-
@fcwilt I managed to make one as well
Testing I just did;
Height map of +5 , 0, +5, so a V shape loaded- When selecting and jogging with Left toolhead, it follows the path correctly, and changes the Z-compensation direction perfectly at the middle of the whole bed
- When selecting and jogging with Right toolhead, it follows the path correctly, and changes the Z-compensation direction perfectly at the middle of the whole bed
- When selecting the mirror tool (see config below), it still applies a V-shaped bed correctly, but it offsets the mesh as well, so then it is mirroring at the quarter of the whole bed
config;
; Tool Left M563 P0 S"Left" D0 H2 X0 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Tool Right M563 P1 S"Right" D1 H3 X3 F1 ; define tool 1 G10 P1 U0 Y0 Z0.15 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Tool Mirror M563 P2 S"Mirror" D0:1 H2:3 X0:3 F0:1 ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U G10 P2 X150 Y0 U-150 S0 R0 ; set tool offsets and temperatures M567 P2 E1:1 ; set mix ratio 100% on both extruders
Expected behavior would be to compensate and move in 1 direction only, when mirrored mode is selected (when moving from outside to the middle of the bed
-
@fcwilt Here are some videos;
Height map was set at 50 , 0 , 50 to make it really clear for the video
Movement Left printhead; https://photos.app.goo.gl/FJuenGCBoZD6ia7j6
Movement Right printhead; https://photos.app.goo.gl/8H9C4EzgjiuiZuvc7
Movement Mirrored; https://photos.app.goo.gl/6M6dbW1AvHj1x8A36(uploaded like this because of limited upload size)
-
Mesh compensation cannot work for two printheads at the same time - it could adjust the bed for one or the other, but not both.
The video suggests it is applying the entire heightmap twice, once to the left half and again to right half of the bed.
Which, in a way, makes sense since mirroring essentially splits the bed into two equal parts.
However it does no good at all as the heightmap doesn't match either half of the bed.
Seems to me you must turn off mesh compensation when mirroring.
Frederick