Pipeline:
unsew/rip apart washing bag (to acquire tulle fabric)
draw shape of double flag (diamond shape) + flap support.
cut-out fabric to shape.
[do software and 3D print part]
cut of tiny flaps at point of flag.

software
Look for image/shape to put on flag.
Auto-trace with Inkscape to get a svg vector file.
Import into OpenSCAD script and position on flag.
Import OpenSCAD stl file into (prusa) slicer.
Insert pauses after every 2 layers.

3D print
print 2 layers put fabric flat (use magnets) on 3D print.
print 2 more layers.
fold flag over (replace magnets)
print 2 more layers.

Code:
download OpenSCAD code from github. OpenSCAD is a opensource 3D modeling program that can be downloaded for free, it use code/text to generate 3D or 2D models.
By deleting the * at the start of the lines at the top of the document, you can render or not render certain shapes.
Changing *#flag(dim_flag)' --to--> #flag(dim_flag); for instant the outline of the flag will be shown.
At the absolute top, the size of the flag, number of layers or the layer heigth can be changed.
Further down are the shapes that get printed on the flag and the end_cap.
The end_cap is a small V shape that is located at the tip to keep the flag from fraying.

If you want to use your own shape, the section below shows you how to do it.
module [name of your shape](){  is where it starts change the [name of your shape] to your shape.
Now at the import() line change "~/folder/deeperfolder/name_file.svg" to where your file is located.
If you put the SVG in the pics folder, just change the filename after the last / .

Now we go one line above to the translate([]) line, this positions the flag on the flag.
It is smart at this point to write at the end (behind the //) the width and height of your shape (given by Inkscape w: and h:).
In translate([]) the number or equation before the, changes the flag in the x direction, this usually needs to be -width /2 to get it in the center.
The number or equation after the , is change in y direction. Generally this is height / 2 plus or minus a number (in mm) to get a nice looking y position.
Play around with the number, make sure to leave some room at the top to fit the rope of the flagline trough later.

I scaled the images in Inkscape before I imported them, but the scale() command in openSCAD can also be used to change the size of your imported shape.
Use the cheatsheet under the Help menu to figure out how to use it (it is a clickable link in the cheatsheet).

By pressing F5, to get the preview of your flag, you can see the updated position of your shape.
When you are done press F6 to render and F7 to export your flag 3D model as a STL file.
Instead of F7 you can also use export under the File menu to get a STL file.

Setting up the slicer:
After Importing the stl file set the correct values for layer height and material.
The layer height should correspond with the number in the openSCAD script (so change one or the other).
When pressing slice, you should now see the model in 6 layers. Insert after every 2 layers a pause.
The printer will pause before the start of the layer so first pause should be at layer 3.
You will be able to insert a pause by clicking on the layer preview bar, little plus icon, at the right side of the view window (the one where you go up and down the layers).
It is located at the layer you are currently viewing.

Assuming you used prusaslicer not all printers will listen to these pauses. This because the firmware on the printer might not recognize these gcode instructions.
However this is a great opportunity to learn how to use the custom gcode option (below where you found the pause). If you find out which firmware your printer users you can look up which gcode commands it accepts.
The kind of firmware is usually displayed on the printer screen at startup, for instance Klipper, Marlin, Moonraker etc.

Turns out that for Klipper, simply writing PAUSE in the custom gcode field is acceptable. There are lots of other fun thing you can add.
M117 [sentence]...

Read more »