slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.35k stars 1.29k forks source link

Add test for thinwall-bpv about getting good results regardless of the configured extrusion width (was: Spiral vase for calibration? ) #1310

Closed kefir- closed 10 years ago

kefir- commented 11 years ago

I tried printing a wall single wall calibration part with current git head, but regardless of my "detect thin walls" choice, the part wasn't printed as a single wall. Should I use the spiral vase setting for this from now on? If so, the wiki doc should probably be updated.

alranel commented 11 years ago

Not sure I understand - can you explain better, perhaps with link to STL and some more details? :)

kefir- commented 11 years ago

Sorry, no problem. Here's a screenshot of a random layer when printing the _40x10.STL from SFACT:

calibration_part

Here's my slic3r config:

http://kefirshare.dreamhosters.com/slic3r-config.ini

As you can see, it's not printing as a single wall any more, but it's printed with lots of zigzag movements. I also tried to disable "Detect thin walls", but that didn't help.

gcode: http://kefirshare.dreamhosters.com/_40x10_20130710-001635_0.9.11-dev.gcode

I also tried to print another thin wall part that I've used before, but now nothing was extruded, only the skirt was drawn, then the nozzle lifted and my end.gcode began.

stl: http://kefirshare.dreamhosters.com/0.5mm-thin-wall.stl gcode: http://kefirshare.dreamhosters.com/0.5mm-thin-wall_20130710-002747_0.9.11-dev.gcode

c-born commented 11 years ago

I've just spent some time trying to calibrate with the latest source from GitHub, same object and same result, ended up here. Setting Spiral Vase didn't really help, either. It seems to do one circuit smoothly, incrementing Z, then another in the opposite direction, with the zigzag movements, as if it is trying to infill. Same with the 0.33mm wall thickness version.

johannes85 commented 11 years ago

Same problem here. I encountered this last week but hasn't the time to inspect it closer. I thought it was a configuration issue.

alranel commented 11 years ago

Okay, this is more of a thin wall problem than a spiral vase problem.

To avoid the zigzag you have to set Extrusion Width = 0.5 (under Advanced settings), and it will work.

I just tested with the thinwall-bpv branch, where a new thinwall/medial axis algorithm has been developed for months, and it works with any Extrusion Width value (even the default one). And it's pretty fast too. :)

By the way, note that the preferred way to make vases is to feed Slic3r with solid models instead of hollow models, see http://slic3r.org/blog/tip-printing-vases

I'll leave this issue open as a reminder to test the _40x10.STL file and to add regression tests that prove that thinwall-bpv works the same regardless of the configured extrusion width.

kefir- commented 11 years ago

It seems counterintuitive to set the extrusion width in slic3r when attempting to calibrate the extrusion width :) I've started printing solid parts with spiral vase enabled for calibration of single wall width.

alranel commented 11 years ago

@kefir-, what I said above doesn't apply to solid parts sliced as vases. It only applies to hollow models (like _40x10.STL), which is not solid and needs the medial axis algorithm to collapse the two loops being very close (one contour and one hole) into a single trace.

kefir- commented 11 years ago

Sure, I understood that. But it's good to clarify anyway in case anyone else reads this and something that was said was not clear.

This isn't necessarily an issue with the mentioned stl, but perhaps only with the documentation. Now that slic3r has changed and doesn't print that part as a single wall any more, probably for a good reason, a new test part and method should be described on how to calibrate single extrusion width.

However, I was thinking about a slightly different approach to calibration. If I set the multiplier to 1 and print a part with a round hole, I can also print some cylinders of slightly varying sizes to see which one fits. If the sizes are planned cleverly, the cylinder that fits can directly indicate the multiplier.

Let me know if that didn't make sense, and I'll try to contribute something a bit more tangible :)

mesheldrake commented 11 years ago

@kefir - I like that idea for an alternate calibration approach using parts that fit together. A hole and a cone might work, though there may be odd things happening with the extrusion on curved paths that might throw the test off.

I would recommend a wedge that fits into a V shape, with the tip of the V open ( \ / ), and some rule lines on the top of the wedge and V parts that should line up, and give a good error estimate if they don't.

I used an approach similar to that to get an estimate of laser kerf in cardboard, and it seemed to work well.

Or you could just have surfaces that should be flush when the parts are together, and the calibration process could be: nudge the multiplier number, print, see and feel the error, iterate - no math required.

alranel commented 10 years ago

So, this is now fixed in the boost-medialaxis where no zigzag happens anymore. That calibration object is also built-in in the test suite.