Install build123d (a cadquery evolution):
https://build123d.readthedocs.io/en/latest/installation.html
Install the Python segno QR code generator and image library:conda install -c conda-forge segnoconda install -c conda-forge imageio
Error correction codes from low to high: L,M,Q,H
The QR-code version is automatically calculated to the quantity of data.
The pixel-dots are scaled to an integer number of extrusion widths. Extrusion width is typically between 1.1 and 1.2 times nozzle size. Prusa slicer uses a value of 1.125 by default.
The image filename is embossed on the bottom of the base.
The functions allow you to set a QR code image scale value, but all this does is to scale up the png image pixel count, no new information is added. It is best to leave scale=1 and control the size of the print by setting ndots (the number of printer dots per one block).
The Python script file has examples of all the variations.
The png file images are all very low resolution (one print dot per pixel) and display poorly in this website because of interpolated size upscale, but even these poor images work surprisingly well! You can even scan the Prusaslicer screen grab. Try it!
The examples in the Python script are:
When printing, select one of these two options:
1. do all layers in white and then blacken the pixels with a permanent marker.
2. print the base in white and the top few pixel layers in black.
References:
https://segno.readthedocs.io
https://www.freecodecamp.org/news/how-to-create-stunning-qr-codes-with-python
https://en.wikipedia.org/wiki/QR_code
https://help.prusa3d.com/article/creating-profiles-for-different-nozzles_127540
https://filament2print.com/gb/blog/150_basic-laminating-parameters.html
https://the3dprinterbee.com/3d-printer-line-extrusion-width/
https://3dprinterly.com/how-to-get-the-perfect-layer-height-setting/
The author marked this model as their own original creation.