Bryce Summers

08 Feb 2015

Tweetable Summary

Parametric Pasta by @Bryce_Works. A parametric form for generating pasta shapes.

Narrative

I was buying groceries at the grocery store last week and was trying to think of a good parametric form. I then walked past the past aisle and the idea hit me, why not make some parametric past objects. I thought that pasta would be a great parametric form, because in the real world pretty much all past is made of the same materials and the only thing that really differentiates different types of pasta is the form of the edible mass. One could even say that the texture of past is dependent on the form of the pieces that enter you mouth. I think that I did alright, but I wish that I could have been able to link some spines together to define arbitrary spatial lines for my past pieces. I also found out that the pasta corporations have already been experimenting with new pasta forms.

http://3dprint.com/32604/3d-printed-pasta-contest/

Sketches

Sketches for my parametric objects.

Sketches for my parametric objects.

 

Ziti

ziti

Penne

 

penne

 

Thin SpaghettiSpagettit

 

Super TwistySuperTwisty Twisty twisty

 

Linguine

Linguinni

Linguine

 Open SCAD code.

module pasta(parts, radius, pasta_twist, pasta_height, separation_radius, flat)
{

	for(i = [0:parts])
	{


		linear_extrude(height = pasta_height, center = true, convexity = 10,
							 twist = pasta_twist, slices = 200, $fn = 200)
		rotate([0, 0, i*360/parts])
		translate([separation_radius, 0, 0])

	if(flat){square(([1,radius]));}
	else{circle(r = radius);}
	}

}

/* // Spagetti.
parts = 1;
radius = .1;
pasta_twist = 400;
pasta_height = 10;
separation_radius = 2;
flat = false;
//*/

/* // Thin Spagetti.
parts = 1;
radius = .05;
pasta_twist = 400;
pasta_height = 10;
separation_radius = 2;
flat = false;
//*/

//*
// Linguini.
parts = 1;
radius = .05;
pasta_twist = 400;
pasta_height = 10;
separation_radius = 2;
flat = true;
//*/

/*// Penne.
parts = 10;
radius = .4;
pasta_twist = 0;
pasta_height = 10;
separation_radius = 1;
flat = false;
//*/

/*// Ziti.
parts = 40;
radius = .2;
pasta_twist = 0;
pasta_height = 4;
separation_radius = 1;
flat = false;
//*/

/*// Twisty
parts = 10;
radius = .4;
pasta_twist = 200;
pasta_height = 8;
separation_radius = 1;
flat = false;
//*/

/*// Super twisty.
parts = 10;
radius = .4;
pasta_twist = 1000;
pasta_height = 8;
separation_radius = 1;
flat = false;
//*/

pasta(parts, radius, pasta_twist, pasta_height, separation_radius, flat);

[sketchfab id=”526645fa5eb443f6a300813f545e6ff9″ height = “480” start = “0” contols=”0″]

Git Hub

https://github.com/Bryce-Summers/ParametricPasta/