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.
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.
Then more scripting to make an outline of the cans for the board layers.
The layers were cut on a Shop Bot CNC Router at my local makerspace. The result was "Marvin the Martian meets the Curiosity Rover".
Canstruction
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Canstruction
Continued...
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.
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.
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.
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.
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.
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 75 times
Re: Canstruction
That looks really fun. nice execution!
Re: Canstruction
Any future canstruction workbench ?!?
I'd bet you could use the voxel workbench https://github.com/JMG1/VoxelWorkbench
I'd bet you could use the voxel workbench https://github.com/JMG1/VoxelWorkbench
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs