Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Revised layout for parametric belt

by jag, published

Revised layout for parametric belt by jag Nov 8, 2012

Thing Info

4835Views 847Downloads Found in Accessories
Report Thing


I just changed the layout to make it a little easier to make different sized belts.


There is a module called plate() that is called towards the beginning of the file.
You can vary the number of rows and columns to make varying sizes belts. It gives you a rough estimate of the size of the plate (it's estimate is a little low but I didn't feel like fixing it).

More from Accessories

view more

Thing Info

4835Views 847Downloads Found in Accessories
Report Thing

Liked By

View All



Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

All Apps

This extension connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

Hi I printed it without support and it is great! jou have to seperate some intersections carefully but thats no problem at al.

Yes, making the corners 90 degree angles made them work nicely. Very cool zig-zag code.

The current files should work.  I think they are about as close together as I can reasonably get them.

now it looks like the angles are a little tight and there is some interference at the corners... I'll fix it this evening hopefully...

I just uploaded a new version that fixed a bug.  Hopefully no one is printing it yet.

laird - in reply to jag

Just checked it out. The top and bottom are leveled off, so it'll print without support. But the link connections with the sharpest angles are intersecting, so a few of the links on the plate probably won't separate properly because the geometry intersects.

For example, if the zig-zags have a 30 degree angle, that means that at the ends, where the belt takes a U turn as two 90 degree turns, they end up a 60 degree and a 120 degree angle, and the 120 degree angle turn is so sharp that it causes the links to intersect.

You can allow the links to avoid intersecting them by making them skinny (s=0.5, for example), but then the belt isn't (IMO) as nice. Or you can make the 'zig-zag' angle zero degrees, so the two corners are 90 degrees, which allows for nearly round links (s=0.9). But that's not as space efficient, and I really like your zig-zag space efficiency.

Previously I liked the look of fatter links, which can only flex 60 degrees or so )s=1.1), which is why the rows in my original are further apart. That wastes space between rows, so I'm sure that it's possible to be cleverer and more space efficient. Your zig-zag pattern really improves density, but it introduces sharp turns.

I've been trying to think of a decent algorithm for densely packing links (like your zig-zag) for link designs that only flex 60 degrees. I really like your zig-zag approach. I'm wondering whether with sufficiently clever math we could run the links around in a spiral-like pattern (perhaps in a rectangle, to fill a build plate)? That seems like it would eliminate all of the sharp turns, which lets the belts look as continuous as possible. But the math is pretty tricky. Perhaps after a good night's sleep? :-)

jag - in reply to laird

I just discovered that problem too.  I was trying to wrap my brain around the trig for the spiral to no avail.
Then I was thinking incomplete concentric circles with 90 degree links connecting them.  I have a snippet for a single circle of a given radius with a given number of links and it figures out the necessary angle to make them connect.
I was also thinking a straight link at the end of each zigzag would reduce the angle to 90. 
I'm with you on the good nights sleep.  I think I'm ready to take a break.

laird - in reply to jag

I have to say that it's fun having a "partner in crime" thinking this through.

Concentric circles' math is certainly much easier than spirals, and is in theory extremely densely packable. If only OpenSCAD had real variables. :-)The other approach I was thinking of was nested rectangles, with each rectangle being one link shorter on all sides, with 45 degree angled corners. I think it's doable given the limitations of OpenSCAD.

Rats, now I'm going to be dreaming about geometry and links all night. :-)

jag - in reply to laird

I just uploaded a new one, now I'm done for the night.  It's like the zigzag but it straightens out at either end so that the links connecting the rows are only at 90 degrees.
I'm kind of wishing openscad had recursion.  We could do a nice spiral then...

jag - in reply to laird

It is pretty cool to be able to collaborate this way.  I think I'll have to go watch some dumb TV to take my mind off this now...