Turtlestitch: Difference between revisions
Line 33: | Line 33: | ||
=== Intuitive programming === | === Intuitive programming === | ||
The following was done during a faculty meeting without thinking about any math. Just some trial and error of angles and distances. A main program will draw call a "block" that will draw the stick, it then will call 8 times a block that draws a petal and shift/rotate in between. | The following, using the now obsolete "pen" system was done during a faculty meeting without thinking about any math. Just some trial and error of angles and distances. A main program will draw call a "block" that will draw the stick, it then will call 8 times a block that draws a petal and shift/rotate in between. | ||
It includes several programming constructs: | It includes several programming constructs: | ||
Line 42: | Line 42: | ||
* event ("when clicked") | * event ("when clicked") | ||
[[file:simple_flower_2-small.png|none|800px|thumb|Simple flower, [http://turtlestitch.org/users/dks/projects/Simple%20flower%20made%20with%20satin%20lines%20using%20blocks turtle code] for re-use]] | [[file:simple_flower_2-small.png|none|800px|thumb|Simple flower, [http://turtlestitch.org/users/dks/projects/Simple%20flower%20made%20with%20satin%20lines%20using%20blocks turtle code]. Old version for re-use]] | ||
Result: | Result: |
Revision as of 15:02, 15 October 2019
Introduction
TurtleStich is a programmable embroidery platform created by Andrea Mayr-Stalder (Artist, Educator, Project Lead), Michael Aschauer (Artist, Lead Developer). It is a programming microworld, that allows learning how to program by exploration.
According to Turtlestitch - Coded Embroidery (Retrieved Aug 2018), “Turtlestitch is based on a browser-based educational programming language (Snap!) to generate patterns for embroidery machines. It is easy to use, requiring no prior knowledge in programming, yet powerful in creating nowels patterns for embroidery. It is usefull for designers to experiment with generative aesthetics and precision embroidery as well as tool for innovative workshops combining an introduction to programing with haptic output. Turtlestitch uses Snap!s "pen module" which it interprets as a needle and transforms its output into widely-used embroidery file formats.”. An alternative description is provided in the official FAQ: “TurtleStitch is a platform to generate patterns for embroidery machines. Technically, it's based on Snap!, a browser-based educational programming language. It is easy to use, requires no prior knowledge in programming, and is a powerful tool to create personalized patterns for embroidery. It is useful for designers for experimenting with generative aesthetics and precision embroidery, as well as tool for innovative workshops combining an introduction to programing with haptic output.”
Turtlestitch does require programming knowledge. However, it can be acquired through the use of this platform as one its main goal is to provide a motivating means to teach computer science principles.
See also:
- Snap, the language behind Turtlestitch
- Pocket Code, a mobile programming environment, similar to Scratch that includes an embroidery module (since Apr 2019).
- BlocksCAD, a similar environment for creating 3D models.
Programming education
Turtlestitch allows teaching programming by intuition or using a more "scientific approach" that includes mathematics, software principles, optimized algorithms, etc.
Intuitive programming
The following, using the now obsolete "pen" system was done during a faculty meeting without thinking about any math. Just some trial and error of angles and distances. A main program will draw call a "block" that will draw the stick, it then will call 8 times a block that draws a petal and shift/rotate in between.
It includes several programming constructs:
- output instructions (move, pen up/down, goto, thickline, reset ...)
- blocks (i.e. functions and function calls ), with and without arguments
- variables ("origin-x" and "origin-y" in the stick block.
- simple loops
- event ("when clicked")
Result:
Basic Functionality
- Turtlestitch is available as online browser-based environment.
Supported embroidery formats
- The program can export to .DST (Tajima) .EXP (Melco) low level embroidery formats and SVG. The former can be translated to other proprietary embroidery formats, using a converter. The latter could be imported to other embroidery programs, e.g. InkStitch.
Embroidery commands
As of 2019 there are additional embroidery commands in turtleStitch. Before moving the turtle, one can define a stitch type, e.g. running stitch, satin stitch, cross stitch, etc.
Tips
- Before exporting, you must execute the code, i.e. the software will export the drawing that is seen on the canvas.
- To create satin stitches, use Motion -> thickLine (length, width, density of the zigzag)
- Some color change information is missing in the DST file. Workaround: Either convert to another format or edit the file in a converter or embroidery design program.
Links
Official
- http://turtlestitch.org/ Project site.
- https://www.turtlestitch.org/beta (Beta version. As of Jan 2019 we strongly recommend trying this version, since it supports a wider choice of embroidery stitches.
- gallery of Turtlestitch programs
- Cards to teach TurtleStitch in workshop. Also usable as a kind of manual since no other exists (at the time of writing)
- FAQ
- Snap! User Manual
For developers
Blogs, wikis, etc.
- TurtleStitch Wiki. As of Aug 2018, this is empty.
Other
- Steam Coding/Turtle Stich Blog by Jennifer Lin.
- Craft of Code
Bibliography
- Wolz, U., Charles, G., Feire, L., & Nicolson, E. (2018, February). Code Crafters Curriculum: A Textile Crafts Approach To Computer Science. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 1055-1055). ACM. https://dl.acm.org/citation.cfm?id=3162360 (abstract only)
- Bryant, C., Gilmour, J., Herce-Hagiwara, B., Pham, A. T., Remash, H., Remash, M., ... & Rebelsky, S. A. (2018, February). The Craft of Code: Exposing Elementary Students to Computing Through Tangible Crafts. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 1080-1080). ACM. https://dl.acm.org/citation.cfm?id=3162321
- Pohl, M. S., & an der PH Wien, D. (2017). Sticken im internetzeitalter. BILDNERISCHE ERZIEHUNG| TECHNISCHES WERKEN| TEXTILES GESTALTEN, 156. PDF
- DeWitt, A., Fay, J., Goldman, M., Nicolson, E., Oyolu, L., Resch, L., ... & Zak, E. (2017, March). Arts Coding for Social Good: A Pilot Project for Middle-School Outreach. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (pp. 159-164). ACM. https://dl.acm.org/citation.cfm?id=3017795
- Luhana, K. K., Mueller, M., Schindler, C., Slany, W., & Spieler, B. (2018). Rock bottom, the world, the sky: Catrobat, an extremely large-scale and long-term visual coding project relying purely on smartphones. arXiv preprint https://arxiv.org/abs/1808.06292
- Defines future plans for an endless story