This is a Blender add-on that allows you to import files to be used with embroidery machines as curves with optional geometry (thickness) via a bevel or geometry nodes. It also detects and displays the color of your threads.
This addon is free to use, including commercially, but if you find it useful please consider supporting my free and open source projects:
This addon relies heavily on pyembroidery and should support the same file formats as that library. You can find the whole list of supported file types in the pyembroidery documentation.
Personally I've only tested it with .pes
files which I've created using the Ink/Stitch addon for Inkscape. The pattern shown at the top of this page can be found on Github. Get the example.pes
file here and the example.svg
here (open using Inkscape with Ink/Stitch addon installed).
After installation you can find the importer in the file menu under File > Import > Embroidery Import
.
In the import dialog there are a few settings you can adjust:
Whether to include jump wires in the imported object. Jump wires are lines that the machine creates when jumping to the next part of your pattern and which you normally remove manually. Not importing them leads to a cleaner look, but will not be completely accurate to the original pattern.
With this selected a material (using nodes) will be created for the imported object. This material will use the colors of the threads used in the embroidery file.
With this enabled all generated curves for your import will be place in a single collection.
There are three options here:
This will use curves to draw your shape, but will not add any thickness to it. This is useful if you want to use the embroidery as a curve in your scene but not show the actual lines in renders.
This will create a node setup that adds a thickness to the imported curves using a Curve to mesh
node with a Curve circle
as the profile
This will have a similar effect as the Using geometry nodes
option, but will use the bevel property of the curve object to add thickness instead of a geometry node
This value determines the thickness of the thread in the imported object. Not available when using the `No thickness (curve only) thickness type.
Each of the generated curves as a custom attribute called thread_number
which corresponds to the color of the thread used in the embroidery file.
These colors are all placed in a Color ramp
in the material, which is then used to color the curves based on its thread_number
attribute.
Two speed improvements:
This extension requests the following permission:
Read embroidery files from disk
Thanks a lot for this addon! I didn't even know it was possible to read these kind of files, and it open a door to create and author such a difficult topic