Category Archives: openscad

Learning with OpenSCAD

I’m currently teaching a class to pilot AP Computer Science Principles (will be AP for the first time in the 2016-17 school year). At the beginning of the second semester I decided to deviate from my planned curriculum and drop in a little 3D printing. I had students play with OpenSCAD. OpenSCAD is used to create 3D models with programming rather than more traditional means.
 OpenSCAD is really cool for a number of reasons. If students have any experience with writing code they can dive right in. They quickly realize there are many different ways to create the same part, just as there are always multiple ways to get any program to do what you want it to. Most of these ways will involve thinking in 3-dimensional coordinates while also thinking about positive and negative space. Depending on the chosen approach students may also need to bring in a variety of mathematical knowledge and skills they’ve developed over the years.

The task I gave my students was to develop a stand/holder for their own cell phones. It took them a bit to settle into this idea. I kept getting questions like, “Do I need to plan for a case?” To which I’d reply, “I don’t know, does you phone have a case?” I really wanted them to plan for a holder for their own phone.

In the future I’ll need to put some limits on their designs. Most designs were much bigger than they needed to be, many would easily hold an iPad. Maybe I’ll put a limit on the mass of plastic they could consume. I also need to make sure their design will fit the printer. I had one that would not.

After printing their stands they all realized there were problems with their designs, things that were not obvious before they tried using the physical objects. This was a great lesson and gave us a chance to talk about rapid prototyping and iteration. Each student shared their first designs with the class so everyone could learn from each other’s mistakes. The designs were then updated to fix the problems. In the redesign I also had students add in variables for phone size. This would then allow the program to be used to make a holder for any phone by simply changing the values of the variables for phone height, width, and thickness.

Overall I really liked this assignment. Students got to use their programming knowledge in a new way with a new language. I personally delivered no instruction in OpenSCAD. Students had to rely on the principles of computer science they’d already learned, tutorials found on the net, and each other, just as they would in the real world. The task was simple enough that I knew this would not be a problem. I will be doing this again as a planned part of the curriculum next year, but I’ll add in design constraints related to size and total cost of materials.

A question about 3D printers in education

I was recently asked a question about my 3D printer:
This ended up being very thought provoking on multiple levels and as with all thoughts I have like this I thought I’d share them here.
Through serendipity about a year and a half ago I found I had unspent grant money that needed to be spent. As I’d made a few big rounds of purchasing for my classroom lately I felt I pretty well supplied. So I decided to take my largess and spend it on a Makerbot Replicator. I entered into this technology purchase in the worst possible way. Here was a big tech purchase and I really had no specific educational outcomes in mind and yet with a tool with the promise of this one I feel no regrets on that score.
So, back to the question. What resources do I wish I’d had? I wasn’t quite sure what Matt meant and I’ve decided to not ask for clarification on this question, but to answer it a few different ways. A few of these wishes have since been met, I’ll point out the resources where appropriate. I’ll also add in the resources I’m glad I had.
What resources do I wish I had before I purchased my 3D printer? 
I wished I had a good breakdown of all the entry level 3D Printers available on the market created by a third party (that is to say, not marketing material for any one printer). Personally I spent a lot of time on the internet searching before finally settling on Makerbot. Now, of course, there is the Make: Ultimate Guide to 3D Printing and they’re now working on an update to this guide. I’d add that I’d like to see one of these done by educators to see what they’d predict they’d see in a school environment with the different machines. This team should include some dedicated industrial ed teachers as well as core content teachers who might use 3D printed objects in their curricula.
Another thing I would like to see is some sort of article or set of articles that could be used to justify the expense of such a machine in the classroom. These could be used to help sway a school’s administration into investing in such a device. Inspired by the question I will try to create such an article in a future post.
Now, once I had my printer what resources do I wish I had?
First on this list would be easy to use software to run my 3D printer. For those not familiar with 3D printers, you need a piece of software that will take the 3D model file to create the tool paths for the machine to follow. This one has been solved for the Makerbot with Makerware. I’m not sure if Makerware will work with other 3D printers or not. Makerware offers very easy default options, but also gives the more advanced user more control. These advanced features are mostly hidden from novice users which really is a good idea. With the advent of Makerware my Makerbot became much easier to use and more versitile.
Next on this list would be an easy to use CAD program. I teach physics and electronics with micro-controllers. Neither of which have much time built in that could be used to teach CAD (even Sketchup). This problem has also been solved for me in a couple of ways. The first of these is a service called TinkerCad. TinkerCad runs in the cloud and requires no software install (always a bonus in schools). It allows you to easily create 3D models and export them as *.stl files ready for printing. Note, there are actually lots of options now. TinkerCad is my favorite though.
Another option that occurred to me last year was OpenSCAD. OpenSCAD allows you to create 3D models programatically. This is not something I plan to teach to my physics students, however. The power here is that like any program you have variables. So you can create or find a good model and then let students explore how changing variables can change the underlying model. My students were able to investigate how changing the parameters of a wind turbine affected the output voltage while possessing no 3D modeling skills. We created and tested 20 different designs. The designs were all created in only two class periods, one each for my two sections.

I would also have liked more nuts and bolts advice and knowledge on operating my printer and the problems I might encounter. To some degree it really is impossible to put together a resource that covers all the potential pitfalls, but I had to fumble around quite a bit. The biggest issue I had to overcome was the warping of parts. This happens for particularly large parts as they cool. The can pull away from the build platform and distort the part or even come loose ruining the print run. The “Helper Discs” that appeared in the example menu in Makerware have helped me immensely with this problem. While there is some overlap, the needs of a Maker are often much different than the needs of a teacher.
The final thing I wished I had when I got my 3D printer was a good idea of how to leverage the power of this device to enhance my teaching. I know it’s a bit ironic, this is exactly what I said I didn’t have and didn’t really care about when I started this post. What I’m still looking for are really cool design projects I can use with my students to tie together what we’re learning with real world applications and critical thinking. To some degree this has been solved a bit with the Makerbot Curriculum page, but I’m still not satisfied here. Now that I’ve discovered the power of OpenSCAD, a whole range of potential projects has become available as well.

Bottom Line?
Some of the things I wished I had are now available but a few are still lacking and might never really exist:

  • Breakdown of best 3D printer in an educational environment. Ideally created by educators (and their students)
  • Articles to be used to support an educator in the purchase of a 3D printer.
  • Cool design project ideas to be used in conjunction with core content classes.
  • Nuts and Bolts guide for teachers on how to use and trouble shoot problems.