Stacked Slices Model: a MetaBall Inspired Cribbage Board

 Howdy Y'all,


It's been a hot minute since my last post, but nonetheless we're back. 


This is the design story of my proposed laser cut cribbage board. This board hasn't been cut or assembled yet due to this assignment being pretty late, but the design still looks great, and the renders should give you a pretty good idea of what this is gonna look like. So here goes...

This is what a standard crib board looks like

When I started on this project, I knew I wanted to make a cribbage board. Playing cribbage has always been a big pastime for my family, and I thought the advantage of having a laser instantly ad accurately cut the holes would be a great use of that piece of equipment. I also knew that building a grasshopper definition to pattern the holes would give me a real challenge, and that I would learn a lot from figuring out how to pattern a structured set of holes across a different or non-uniform shape. 


I wanted to challenge myself to design a crib board that wasn't a rectangle, and that had no reference to a rectangle (ie. being obviously cut from one single board of wood). In the moment what came to mind was dividing cells, and because I was massively fatigued at the time(and still am) this is the idea I rolled with. I decided that I would start with designing a random dividing cell definition in rhino, and then use the resulting geometry as the base for a laser cut cribbage board, some how. 


Enter stage left: this mess. 





So what I tried to do, was to populate an area with randomly placed spheres, and then generate lofts in-between them to simulate the walls of a dividing cell. this became a nightmare. the lofts wouldn't connect, or they would  only connect on some of them. I tried using different sweeps, but even that didn't work. 


Fortunately(although a bit frustrating that I had spent so much time on this silly definition) Bryan illuminated to me that the command "Metaball" in grasshopper was designed to produce the exact shape I was looking for. Not only that, but it actually already created contours, so there was a potential that I wouldn't even need to do some of the contouring leg work. 

This was the refresh I needed, and with that, I ran back to my work, and got cooking. It still became a fairly complicated process, so I'm gonna break down the definition in a few parts, and hopefully that helps everything make sense. 

Firstly, I still wanted my definition to be somewhat based on random geometry, so I whipped up a simple bounding box, along with a populate command to fill that box with a set number of random points. 
Then I used my newly found metaball command to generate my actual geometry off of those points:



There's a few in's and out's to using this command, and I would get into it here, but honestly this guy does it better anyway:



one of the issues I encountered was that these metaball structures were too rounded initially to be useable as the base for a cribbage board. I wanted this same structure, but just a little bit squished. The way I got around  this was to divide each of these contour lines by distance, so that all of the points were the same measure apart, and then bake these points back into rhino, and use the Meshfrompoints command in rhino to regenerate a solid form 




After I had a mesh back in rhino, I used fillmeshholes to repair the missing section on the base and then I just used the gumball handles to scale the mesh into a flatter shape.

once I did this, I was ready to bring this back into grasshopper and use this mesh as the start of my new contour. 

I used the same Z factor to extrude as the thickness of the stock I was lasering from which is 1/8 inch plywood. and that gave me a nice solid set of slices. but now I get into the fun business of how to draw the track of the board, divide that track properly into equal sets of three holes and how to cut those holes to the right depth. I started by switching to a top view above the mesh, outlining the mesh with an interpcrv, and then drawing two more interpcrvs inside that outline, one for the larger section (360 holes), and on for the start area(9 holes), later on I made on extra point for the finish hole. 

after this, I offset this individual line to form the three different "tracks" for the pegs to race on. 

This part got tricky. If I divided these lines by length, the pegs became offset instead of racing in tandem the way they traditionally would(check the board from the beginning). If I divided each line into the same amount of segments, a similar problem occurred. My night in shining amour was "Perp Frames". This grasshopper command divided just the centerline, and simultaneously created perpendicular frames on those points. I then used "rectangle" and "boundary surface" to create perpendicular planar surfaces to cut all three lines, the resulting points would become the positions for the holes on my board. 
I ended up using dispatch to get the spacing in-between the groups of five holes. I did this by initially dividing the centerline 144 times, instead of 120, and then I had dispatch skip every 6th plane, thus creating an empty space where the line wasn't divided. 

Here's a pretty chaotic shot of the 144 planes that break up the line.
And Here's a much prettier shot of the resulting surfaces that I actually used to cut all three lines while keeping the holes racing in tandem the whole way through the game. 
Here's the resulting points. (very proud of the fact it actually makes a cribbage board) 

From here I had to project these points onto my already capped solid form. by projecting these points downward, they ended up only on the first surface they intercept( I think I had to flatten a list for this to work, maybe two). The result of this is that the organized pattern of holes, now traverses across an irregular set of surfaces, instead of one flat surface. 



now that I had points in the right places, all that was left to do was to move a positive shape for the peg hole into place and 'solid difference' those hole positives from each of the 370 hole placements(computer did not enjoy this). 



This was a pretty solid moment, probably the first time in the project that I thought "this is actually gonna get made, and it's gonna look good". 

I took this solid model and then brought it over to the definition Bryan was using to slice and nest contours for the laser cutter, and now this project patiently awaits production. 

Thanks for reading along. 














Comments

Popular Posts