Customized Repeats 🔢, Copy and Paste into Glowforge 📋, Strandbeests in Cuttle 🎥
![Customized Repeats 🔢, Copy and Paste into Glowforge 📋, Strandbeests in Cuttle 🎥](/content/images/size/w960/2022/08/customized-repetitions-header-1.png)
Hi everyone,
Here's the latest with Cuttle.
- Powerful new feature: Customized Repetitions
- Copy and Paste into Glowforge
- Paper Linkages Season Finale (Jansen’s Strandbeest mechanism)
Customized Repetitions 🔢
Today we’re announcing a powerful new feature for working with repeated shapes in Cuttle.
![customized repetitions teaser.gif](https://blog.cuttle.xyz/content/images/2022/08/customized-repetitions-teaser.gif)
You may have used Cuttle’s built-in Repeat modifiers.
These let you take any shape and repeat it any number of times.
![customize example 1.gif](https://blog.cuttle.xyz/content/images/2022/08/customize-example-1.gif)
But what if you need each repetition to be slightly different?
Maybe you’re making a ruler and you want each tick mark to be labeled with a different number…
![ruler tick marks.png](https://blog.cuttle.xyz/content/images/2022/08/ruler-tick-marks.png)
Maybe you’re repeating rectangles and you need each one to be a different size…
![sized rectangles.png](https://blog.cuttle.xyz/content/images/2022/08/sized-rectangles.png)
Or maybe you want to use math expressions to precisely control the position and scale of repeated circles…
![control position and scale.png](https://blog.cuttle.xyz/content/images/2022/08/control-position-and-scale.png)
You could previously do this by writing your own custom modifier code.
Now you can do it without any custom code!
Let’s look at a simple example.
Here’s a Star where we’ve applied Linear Repeat. Notice each Star is exactly the same.
![customize example 1.gif](https://blog.cuttle.xyz/content/images/2022/08/customize-example-1-1.gif)
Now we check “Customize Each Repetition”. This gives us a new variable, rep
.
![](https://blog.cuttle.xyz/content/images/2022/08/customize_example_2-7.gif)
rep
starts at 0
and increments sequentially for each Star. Since there are 6 total repetitions, rep
ranges from 0
to 5
.
![](https://blog.cuttle.xyz/content/images/2022/08/Untitled.png)
We can then select the Star and change its points
parameter to 5 + rep
.
![customize example 3.gif](https://blog.cuttle.xyz/content/images/2022/08/customize_example_3.gif)
So we’re using rep
to control the number of points on the Star.
![Untitled](https://blog.cuttle.xyz/content/images/2022/08/Untitled-1.png)
If you have programming experience, you can think of this as a “for loop”. rep
is the “index” of repetition, conventionally called i
.
You can use rep
to control anything in the shapes you’re repeating. Below, a piece of text (“Spells”) is repeated in place and rep
is used to adjust both the Expand distance
and the Fill color
.
![Untitled](https://blog.cuttle.xyz/content/images/2022/08/spells.png)
Check out lots more examples or the written documentation.
If you have any questions, come chat with us on our Discord!
Copy and Paste into Glowforge 📋
You can now copy from Cuttle (cmd / ctrl
+ C
) and paste into Glowforge’s app (cmd / ctrl
+ V
).
![copy and paste-small.gif](https://blog.cuttle.xyz/content/images/2022/08/copy_and_paste-small.gif)
This is great for quickly prototyping.
We worked with Glowforge to implement this and are thrilled that it’s now shipped!
Paper Linkages Season Finale 🎥
Federico posted the final episode in his series on paper linkages. In this episode, he recreates the walking mechanism used in Theo Jansen’s amazing Strandbeest mechanical creatures.
![jansen-small.gif](https://blog.cuttle.xyz/content/images/2022/08/jansen-small.gif)
This mechanism uses parts developed in previous episodes. He created struts of the appropriate length using Cuttle, then cut these parts from cardstock on a Cricut.
In case you missed it, check out Cuttle’s Instagram account for the previous 5 episodes!
Other Improvements and Fixes 🐞
- Dragging beyond the bounds of the browser window (e.g. scrubbing a number) now behaves correctly.
- Projects now open in new tabs so you never lose your place in the project dashboard or explore page.
- Built-in components now scale to an appropriate size for the current canvas zoom level.
- Fixed a bug where clicking (without dragging) a ruler would still create a guide.
- The inspector now shows a warning if a parameter evaluates to an unexpected type (e.g. number vs boolean).
- Scripting: Fixed a bug with
randomInt()
where it could return a VERY high number when called with no maximum value. It now returns zero if no maximum is specified. - Scripting: Exposed JavaScript
JSON.stringify()
andJSON.parse()
functions.
Thanks for sticking with us as we build Cuttle! As always, I love to hear your feedback — reply to this email or chat with us on the Discord chat room.