First and foremost, I would like to thank Jonathan Minchin for being so available and letting me use the lab at undecent hours.
Jon, if you ever read this, thanks mate!
Here is how I see the week's flow :
Table of content :
Nitinol, which is the alloy I'll be using in my final project, fascinates me. I found myself wondering about crystallographic arrangements of atoms.
That inspired me for the press-fit construction kit. It would be nice if we could have a simple way of building molecules with cardboard.
Here are some sketches I did :
I started to model the part in 3D using Solidworks :
When I was happy with my part, I did a assembly to try out how the part fit together.
I'm using an advanced mate feature : "Width". This is very convenient for adding parametric clearance later.
You have to select the two faces that are going in between the two other faces :
Here is the result:
It looks like my fitting system works.
Let's make it parametric. For this we'll use equations :
We'll start by adding global variables that define our model:
Then we'll add equations to the dimensions in our sketch.
Right in the sketch viewport we can add equations that are using the global variables :
Adding a parametric clearance gives us the ability to quickly change the tightness of the notches. This helps a lot to find best parameters for a type of material, here cardboard. That's when the "width" mating feature is useful since the clearance appears on both sides :
Once we're happy with our design and the way it's parametric, we can export the parameters in an external text file :
We choose the global variables that are our parameters :
Once we've done that, these parameters are linked. This means that if we modify the text file, Solidworks will automatically update the global variables.
If we change the text file. We have to save it and rebuild in Solidworks :
Using the circular pattern feature, we add notches around for more possibilities.
We can see here that changing the original sketch allows us to complexify in an instant the whole assembly. Here is the power of NURBS and history based modeling.
Here is the assembly done with the "width" mating for the notches :
We can see that the part are overlapping.
This is exactly where parametric is very handy.
I just have to go to the text file, change parameters, save and rebuild to find what works well for this thickness of material.
The cardboard I'll be using is 3mm thick.
Here is a video that shows the changing parameters process :
So here is our first final version V1 :
The dents are here to snap parts in place and prevent them from sliding off.
We are now ready to make our first test !
We need to export our design for the laser cutter.
We'll use a Trotec speedy 400 laser cutter :
On the computer that is linked to the Trotec laser cutter, we "print" from Inkscape to fire the software "JobControl X" that drives the speedy400.
So, back to solidworks, we'll use the drawing feature of Solidworks to generate a file that we'll open in Inkscape.
Solidworks drawings are very handy because they update automatically with the changes we make on the 3d model.
We add a view :
I first export the drawing in DXF format and import it in Inkscape.
I make a clone since we need at least two parts to test.
In Inkscape I'll set two different colors to my lines. Indeed, colors encode what kind of operation the laser driver will do, what kind of laser parameters will be used and in which order.
We can then have a color-coded strategy :
In our case, in JobcontrolX, the software driving the laser, the color black is treated first, then red.
We want the holes to be cut before the part outline is cut. This is to prevent misalignment once the cut part have dropped by few mm depending on how unflat the cardboard sheet is.
Here is how I color code in Inkscape : the black color to every hole and then red to the outline
Once we're ready, we "print" from Inkscape.
That fires JobControlX in which we can place our cut where we want on the cardboard sheet :
Now, before we start the cut, we need to make the "focus". The laser lens has to be at a focal length away of the material for the laser to be fully efficient. Otherwise the cut is not proper.
But we can also play with the defocused laser for interesting effects, ling heating only for bending acrylics.
The trotec has a little tool that helps us doing the focus. Hung on the side of the laser, when the bottom touches the material as we bring it up, it loses balance and fall. That indicates we're at the right distance.
We can sort of doing this by eye also. We just have to find when the pilot laser dot is the smallest. And in my case, the little tool from trotec was wrong. I think it matches another lens.
Now has really come the time of the cutting :
Here is the result :
Obviously there are several problems.
First, the tightness has to be adjusted.
Also, the scale is not good !
The scale problem was coming from a bug in Inkscape. The import dxf function doesn't import to scale 1:1 but 1:1.05
I reported the bug to the inkscape team :
Then, after trying many ways of getting around the dxf import problem, here is my workflow :
Rhino is useful for "joining" continuous lines and make selection easier.
I can then easily change the colors.
I export in Pdf from Rhino :
I finally open that in Inkscape on the trotec computer and laser cut it.
After several versions, I'm pretty happy.
Version 7 is the one :) .
I added some "cuts" next to the dents to allow the cardboard to slightly bend.
Here is the final design, the one of version 7 :
Now we're ready for some fun !
Let's cut the complete kit with different sizes.
Since the assembled "spheres" represent atoms, let's find out what are the most commun atoms in our galaxy :
Here are their radii, in picometers :
I find that 70 mm is my minimum diameter before the design stops working properly.
So, according to the table above, the other radii are proportionally:
So, in Solidworks, I did an assembly with all my different "atoms" using different configurations. That fully takes benefit of the parametric design.
And exported it to Rhino..
It's good to nest them this way they take the least amount of material.
Plus, when there is a lot of different parts to nest, it's tedious to do it by hand
Here are some free ways to do that :
The E-nesting service seems to be always busy...
The Generation component for Grasshopper is working but I didn't find it was giving good enough results. I'm sure we can improve my algorithm inspired by Antonio Turiello.
Let me show what I did though :
So I tried the MyNesting software.
MyNesting would do the nesting but you can export only once for free.
Without exporting it's still a very good help to find a good nesting solution and then manually place your parts.
Back to Rhino with my nesting solution from MyNesting
First thing I do, and this is kind of a common thing, I select everything, split and join to get nice polylines.
Now has come the time to set the correct colors!
This one is a little tricky cause we have many parts whose outline should be red and all holes black to have the correct cutting order.
Doing this by hand is not easy. That would mean selecting all the holes and set their color to black, and do the same for the outline in red.
Also, it would be nice to be able to move the parts as groups for fine tweaking.
That's where Grasshopper become very handy.
Here are algorithms I did to group and affect colors based on if the curve is an outline or if it is inside of an outline.
Like with the nesting algorithm, I basically make a union on every curve to find the outlines. Then I check for all the curves if their are inside or outside of these outlines to make groups or define their color.
At the end of the setcolors algorithm, you can see a C# module. I had to write this one to be able to "bake" (that's a grasshopper term) my colors to the current layer.
Here is the code :
Once I baked all my curves, I Split-Join them all again, and I get this :
So here I could print right from Rhino.
But if I wanted to go through SVG, there is some issues :
To overcome this I use the select same function by color in Inkscape to select all my red curves :
Then I move them to a layer that I previously created "red".
I do the same for the black curves on a "black" layer.
After this, I hide either one of the two layers my curves are on and I select them all.
If I select them all again (Ctrl-A two times) the nodes with bezier are selected :
Then I press "Join" :
I do the same for the black curves and I get a file that only has one path per closed curve, which is nice for the laser cutter cause the paths are smooth.
Finally, I load my Rhino or Inkscape on the laser cutter computer and cut it as described earlier.
There is one difference though. Because I use large sheet of cardboard sometimes the sheets are not perfectly flat. That can be annoying because the laser gets then out of focus. One trick I found is to simply put some paper tape folded in half at the bottom and I stick the cardboard to it wherever the sheet is slightly curved upward :
There is two sheets of 1m x 0.5m in total to cut my press-fit construction kit.
Here is one :
Let's play now :) ! ......
I wanted to tune my press fit construction kit a little up by putting its name on it. Perfect for Vinyl cutting.
I start drawing the letters in Inkscape and tweaked them with the edit paths tool :
I then edit the parameters suitable for vinyl cutting with the Roland we have here in the Greenfablab : full red (255,0,0) and 0.5 pixel thickness for line width :
We have the Camm-1servo :
We use Fab modules to generate the tool path :
Here is our little Camm cutting Vinyl :
I then transfer the cut Vinyl on my biggest atom :
Here is our Fe atom all tuned up :)
Hope you enjoyed my Clip'Toms :)
Here are the source files :
SolidWorks Assembly files***