Canstruction

Show off your FreeCAD projects here!
mermaldad
Posts: 26
Joined: Mon Feb 24, 2014 11:16 pm

Canstruction

Postby mermaldad » Mon Apr 15, 2019 3:03 am

I have been very negligent in not posting this a year ago. This is especially egregious since I owe a debt if gratutude to this community for helping me several times in solving technical issues. So I am going to try to make up for it, by posting a double feature.

Canstruction is an activity where architects, engineers, teachers, and other professionals build structures out of canned food. The structures are on display for a period of time. Awards are given. Then the structures are disassembled and the food goes to local food banks to feed the hungry.

We formed a team for the competition two years ago, for which I used Sketchup to model our design. An important aspect of the build are sheets of material, such as cardboard or Masonite, which help to level the layers and tie the stacks of cans together laterally. These sheets are cut out using a laser cutter or CNC router. The problem with Sketchup was that there was no way to go from the individually modeled cans to make an outline for cutting. It was a time-intensive manual operation.

For last year's competition, I decided to use FreeCAD scipting to automate the process. I designed a rocket ship using the GUI.
The Black Fin.png
The Black Fin.png (28 KiB) Viewed 629 times
I had to fix the black fin (thanks, FreeCAD forums!). Then I wrote a script to slice the rocket at the appropriate heights and place the cans.
Screenshot from 2018-03-23 08-19-48.png
Screenshot from 2018-03-23 08-19-48.png (32 KiB) Viewed 629 times
Then more scripting to make an outline of the cans for the board layers.
Screenshot from 2018-03-23 07-47-32.png
Screenshot from 2018-03-23 07-47-32.png (12 KiB) Viewed 629 times
Screenshot from 2018-03-23 08-00-23.png
Screenshot from 2018-03-23 08-00-23.png (12 KiB) Viewed 629 times
The layers were cut on a Shop Bot CNC Router at my local makerspace. The result was "Marvin the Martian meets the Curiosity Rover".
IMG_20180417_204302_smaller.jpg
IMG_20180417_204302_smaller.jpg (736.83 KiB) Viewed 629 times
mermaldad
Posts: 26
Joined: Mon Feb 24, 2014 11:16 pm

Re: Canstruction

Postby mermaldad » Mon Apr 15, 2019 3:07 am

Continued...
IMG_20180412_215216_small.jpg
IMG_20180412_215216_small.jpg (430.82 KiB) Viewed 627 times
IMG_20180413_052345_small.jpg
IMG_20180413_052345_small.jpg (390.54 KiB) Viewed 627 times
Now on to this year. Having a base of FreeCAD scripts helped out a lot, but this year, our design was easier to generate algorithmically. We started with a concept which we created as pixel art in a spreadsheet.
Screenshot_20190311-141738_small.jpg
Screenshot_20190311-141738_small.jpg (211.05 KiB) Viewed 627 times
Exported as a .csv file, with some more scripting to arrange the cans in a cyllinder, except to inset the background color a little, resulted in our Donkey Kong-themed build.
IMG_20190405_003310_small.jpg
IMG_20190405_003310_small.jpg (793.48 KiB) Viewed 627 times
FreeCAD details for this year:
OS: Ubuntu 18.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.
Build type: Release
Python version: 2.7.15rc1
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)

This year's script attached. The conversion from .csv to the pickled data structures was done using pandas in Python3. Unfortunately my version of FreeCAD didn't have python 3, so I decided the quickest route was to do that initial part externally. I can provide that code if anyone is interested.
Attachments
2019-03-25 Canstruction 2019 Fork 2.FCMacro
(16.25 KiB) Downloaded 4 times
emills2
Posts: 564
Joined: Tue Apr 28, 2015 11:23 pm

Re: Canstruction

Postby emills2 » Fri Apr 19, 2019 6:22 am

That looks really fun. nice execution!
User avatar
Kunda1
Posts: 3928
Joined: Thu Jan 05, 2017 9:03 pm

Re: Canstruction

Postby Kunda1 » Fri Apr 19, 2019 12:36 pm

Any future canstruction workbench ?!? :lol:
I'd bet you could use the voxel workbench https://github.com/JMG1/VoxelWorkbench
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features