This is a Blender extension 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 (see license), 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 here: example.pes. The original .svg
file is here, open it in Inkscape with the Ink/Stitch addon installed.
Download the latest release as a .zip
file and add it via Blender's add-on manager.
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 completely accurate to the original pattern.
With this selected a material will be created for the imported object. This material will reflect 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 thicness (curve only) thickness type.
Each of the generated curves as a custom attribute called thread_index
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_index
attribute.