Creating height maps only where the part is being built
-
Check out this thread
https://forum.duet3d.com/topic/30796/only-probe-where-the-part-will-be-printed
-
@Phaedrux
Interesting post, but not automated enough to matter for me. I think I will look into the scanning probes as they don't require a lot of time to use. My printer is a 500mm ratrig, so it is large and requires about 25min to probe with a standard probe type.Would still be interested to know how Duet's scanning probe compares to the Beacon.
-
If the bed is stable, you may not need to probe each print and can just load a saved heightmap. That's what I do.
-
@Phaedrux
That's what I have been doing, but I noticed that the bed does not take the same shape every time it is heated to the same temp. Before I print, I have to let the bed heat up and acclimate for 1 hour. Then I print on it. Even after waiting an hour for the bed to acclimated, from one day to the next, I noticed that the height maps don't quite match (took a long time to get those test results). For large prints, that first layer is very crucial (like any print really) as it can get expensive if I have to keep starting over.Honestly, I would much rather upgrade to a scanning probe as there are many more data points, which adds to the accuracy. I just want to make sure I get a good quality scanning probe that will work with Duet.
It will require a lot of work and changes to my current mechanical config to get it going. I was kind of hoping that, as a temporary fix, I could automatically have the area where the part is printed to be probed, but it looks like I would have to program this for every part made.
-
I'm not familiar with the Beacon, so can only really recommend the Duet scanning probe, but I am clearly biased.
-
I had a feeling you might say that!
Honestly, I am biased as well! I have had nothing but good running and reliable machines with your products!
The main reason I ask about the Duet scanning probe is, I know it is pretty new. At least, it looks like it from the date that it was released last year. The other probe by Beacon has been out for a bit and has a new release. Usually when a product is released, there is somethings that could be changed to make it better, so I usually wait until the second rendition of products. I know this because I to am an engineer and create products for others. The second one is always much better.
Anyway, I do appreciate your help!
-
@Jered the basic sensor underlying both the Beacon and the ZSP is the same, an LDC1612. Since the beacon devs had no interest of working towardsaking beacon RRF compatible, ZSP came to be. The new mellow SB2040 v3 come with LDC1612 based ZSPs as well, but they use the same software as the Duet3D ones.
-
Thank you, I will have a look at that.
-
@Jered said in Creating height maps only where the part is being built:
Interesting post, but not automated enough to matter for me. I think I will look into the scanning probes as they don't require a lot of time to use. My printer is a 500mm ratrig, so it is large and requires about 25min to probe
@Jered said in Creating height maps only where the part is being built:
. I was kind of hoping that, as a temporary fix, I could automatically have the area where the part is printed to be probed, but it looks like I would have to program this for every part made.
Not sure I follow, as the link @Phaedrux posted shares several (IIRC) entirely automated solutions. Typically you add a line or two to your slicer (PrusaSlicer, Cura, etc) start code, which will automatically pass the X/Y Min/Max values to either M557. Following that the start gcode would then call for that area to be probed and used as the height map. Linked thread goes into some elegant start scripts that use mesh.g, but some simpler methods below.
Not sure what it looks like for PrusaSlicer, but I think something like this in your start code would work:
M557 X{first_layer_print_min[0]}:{first_layer_print_max[0]} Y{first_layer_print_min[1]}:{first_layer_print_max[1]} G29 S0
In Cura, I have added a MeshPrintSize post-processing plugin (to handle the replacement of the min/max placeholders), and then have added the following to my start gcode:
M557 X%MINX%:%MAXX% Y%MINY%:%MAXY% P3:3 G29 S0
I'd recommend taking a closer look at the linked thread, you should find a nice automatic implementation that will work for you.
-
@sebkritikel
I will look at this closer, but I still think scanning the bed is the best way.Thanks!
-
@Jered that's happening here. Where is the disconnect?
-
@Jered No problem! You could likely use the same technique, combined with the bed scanner, to get an even quicker read of just the print area before each print.