Kevan Loney

23 Jan 2014

Parametric Pancakes by @kdloney is generative pancake code. Allowing for the perfect custom pancake platter every time using #OpenSCAD.

Pancake_Finale_Loney

Parametric Pancakes started out as simple dream from a grad student that loves a good simple breakfast. It came from the whimsical idea that one day we can live in a world that can use code to print food for us in the event that one may not have time (nor trust themselves with a stove top). This project consist of the “beauty” of fluffy pancakes, while being very “useful” to a on-the-go sleep deprived grad student. Although it may seem a bit intimidating at first glance to use code for food, once started, a whole new world can open up for the hungry tummy of every “Sussie Sue” or “John Smith” MFA candidate. Thus, this project could one day cure the epidemic that is grad student mid day or night hunger pains.

Future plans could include dynamic butter/syrup layout generators, so that you can have fun with your food’s overall attractiveness, while at the same time making other’s mouths water in complete envy.

OpenSCAD_Pancakes_Loney_Model
Raw Mesh goodness
Sketch
Sketch

 

Only a tad bit of syrup on top applies to your taste? Go get 'em Grad! Take on the day!
Only a tad bit of syrup on top applies to your taste? Go get ’em Grad! Take on the day!
More Pancakes, no topping Syrup? No Problem!
More Pancakes, no topping Syrup? No Problem!

You can find this code below, or at my GitHub repository:

https://github.com/kdloney/OpenSCAD_Pancakes 

Find it on Thingiverse:

http://www.thingiverse.com/thing:232372

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
difference(){
 
union() {
 
	color("GhostWhite")
	cylinder (h = .2, r= 1.8, center = true, $fn=100);
	color("GhostWhite")
	translate (0, 1.2, 0) cylinder (h = .1, r = 2, $fn=100);
 
}
 
color("LightGrey")
translate (0, 1.5, 0) cylinder (h = .3, r = 1.7,$fn=100);
}
 
pancake(height= .1, width =.2);
 
butter();
syrup();
translate ([.9, 0, -1.15])
scale([2, -1.5, 1])
syrup();
 
module batter() {
	minkowski(){
	cylinder(h = .1, r = 1, $fn=100);
    sphere( r =.1,  $fn=10);
}
}
 
module pancake(height, width){
	color("Sienna")
	translate ([0, 0, height]) batter();
	color("Sienna")
	translate ([width, 0, height*3.7]) batter();
	color("Sienna")
	translate ([0, 0, height*6.5]) batter();
	color("Peru")
	translate ([width-.5, 0, height*9.5]) batter();
 
}
 
module butter(){
intersection(){
	translate([-.5,-.5,1.15])
	scale([.6,.5, .1])
     cube([.5]);
}
}
 
module syrup(){
	color("SaddleBrown")
	scale([.5,.5,1])
	translate([-1,-.8,0])
	hull() {
   	translate([1,0,1.15]) cylinder(r= .6, h = .03,$fn=100);
   	translate([1,1.5,1.15]) cylinder(r= .2, h = .03,$fn=100);
	translate([-1,1,1.15]) cylinder(r= .5, h = .03,$fn=100);
	translate([0,1,1.15]) cylinder(r= .8, h = .03,$fn=100);
	translate([0,2,1.15]) cylinder(r= .8, h = .03,$fn=100);
 }
}
 
}

 For Fun:

The public loves the idea of virtual butter. Virtual Butter = No empty calories!

Twitter public response.
Twitter public response.