First OpenSCAD design
So the first thing I have learned from this exercise is that I am really bad at coding. More often than not I did not create what I was trying to create. But after watching some of Patrick Conner’s YouTube videos I started playing around just to see if I could do any of the things he was demonstrating.
This was my first little “project”. Basically I just created a cube and then used translate to add identical cubes beside it, which created a little stair step.
Next, I got the bright idea to turn it into a flower. I soon found out exactly how much code that would require me to put in. But I eventually got this design, which to me just looks like a bunch of blocks stuck together.
Which meant I had to get even more creative and that is when I added in color and got this guy.(1980’s video games calling) In order to get this design I had to take out the center pieces and then re-add them as a separate code on the bottom. However, I still wasn’t happy with what I had so I decided to adjust the scaling.
Here’s the code I used to create my masterpiece. (For some reason I can’t get it to paste with the spacing)
scale (5,5,5) { color ("red") { cube (10,10,10); translate([10,0,0]) cube (10,10,10); translate([10,0,10]) cube (10,10,10); translate ([20,0,10]) cube (10, 10, 10); translate ([20,0,20]) cube (10,10,10); translate ([30,0,20]) cube (10,10,10); translate ([30,0,10]) cube (10,10,10); translate ([40,0,10]) cube (10,10,10); translate ([40,0,0]) cube (10,10,10); translate ([50,0,0]) cube (10,10,10); translate ([50,0,-10]) cube (10,10,10); translate ([40,0,-10]) cube (10,10,10); translate ([40,0,-20]) cube (10,10,10); translate ([30,0,-20]) cube (10,10,10); translate ([30,0,-30]) cube (10,10,10); translate ([20,0,-30]) cube (10,10,10); translate ([20,0,-20]) cube (10,10,10); translate ([10,0,-20]) cube (10,10,10); translate ([10,0,-10]) cube (10,10,10); translate ([0,0,-10]) cube (10,10,10); } translate ([20,0,0]) cube (10,10,10); translate ([20,0,-10]) cube (10,10,10); translate ([30,0,0]) cube (10,10,10); translate ([30,0,-10]) cube (10,10,10); }
Second OpenSCAD Design
Much like with my first design this one started as just a simple shape and I was inspired. Originally all I had was just a simple cylinder with a wide base and a narrow top, but before long I had this beauty…
I created a duplicate cylinder but inverted the shape and used a longer symmetrical cylinder to connect the two. And with that I have created a sewing spool. Except……
Everyone knows that you need the hole down the middle. Which meant that I need to create a third and final narrow cylinder that I used to cut out the center of the shape.
//render// difference(){ //start with this// union() { cylinder(10,40,20); translate([0,0,10]) cylinder(70,20,20); translate([0,0,70]) cylinder(10,20,40); } //remove this// translate([0,0,-1]) cylinder(85,5,5); }
Second OpenSCAD Design Iteration
My initial thought was to go from a thread spool to a kind of hybrid between a spool and a yarn bowl. I wanted to essentially elongate the center cylinder since yarn is much thicker than thread and on the top triangular cylinder add a swirl or something similar that is used to unroll the yarn without it tangling. It was a dismal failure.
What I ultimately went with was to change my thread spool into something more wire spool like. In theory if I wanted to keep working with it, I could make this into my hybrid with a few modifications. But I think I will need to become a little more adept at coding better before that could happen.
So this is what I have….
//render// difference(){ //start with this// union() { cylinder(10,60,60); translate([0,0,10]) cylinder(70,15,15); translate([0,0,70]) cylinder(10,60,60); } //remove this// translate([0,0,-1]) cylinder(85,10,10); }
Third OpenSCAD Design/Final Project-Randomization
So leave it to me to bite off more than I can chew. My original thought of doing Giant’s Causeway went down in fiery flames. For some reason I sadly miscalculate the difficulty of a project, and my own abilities. After many hours of hard work and beating my head against a wall I was finally able to create a finished project that came out pretty good if I do say so myself.
//Draw 10 rows of cubes for (j = [10:10:100]) { translate ([0,j,0]) { //Shift up each loop iteration //Draw a row of 10 cubes with random height and color for (i = [10:10:100]) { translate ([i,0,0]) { s = rands(1,10,1)[0]; //Generate values for height of cube r = rands(0,255,1)[0]; //Generate value for Red g = rands(0,255,1)[0]; //Generate value for Green b = rands(0,255,1)[0];// Generate value for Blue color([(r/255),(g/255),(b/255)]) //Divide by 255 because color requires a value between zero and one cube([10,10,s]); } } } }