Course Description:
This course is an introduction to 3D object modeling and 3D printing for Computer Science students. Students will have opportunities to code scripts to render 3D models. The class will focus on learning different 3D modeling software and printing their products. Topics include “drag and drop” software like Tinkercad, scripting languages using OpenSCAD, XML-based formats using X3D, and Ruby programming using SketchUp Ruby.
Prerequisites: CS 159 and CS 240
3 Credits

Objectives:

  • Students will learn the process of 3D printing (Week 1)
  • Students will learn how to safely use the 3D printers (Week 1)
  • Students will learn current and future applications of 3D printing (Week 2)
  • Students will become familiar with Tinkercad (Week 1-2)
  • Students will learn to use scripting languages to design 3D graphics with OpenSCAD (Week 3-5)
  • Students will learn to use XML-based formats to represent 3D graphics with X3D (Week 6-8)
  • Students will learn to use the Ruby language with SketchUp Ruby (Week 9-11)
  • Students will design, code, and print a final project that demonstrates their understanding of 3D object modeling. (Week 12-15)

Class format:
Classes will include lectures to learn the course content as well as in-class labs where students can create and print objects. In-class lab assignments will be based on tutorials for OpenSCAD and 3D printing curriculum.

Programming Assignments (PA):
PA0: Create and print a useful household object using Tinkercad.
Tinkercad is an online, easy-to-use tool for creating digital designs that are ready to be 3D printed into physical objects.
Tinkercad PA1: OpenSCAD
OpenSCAD is a free software application that acts as a 3D compiler to render 3D CAD objects from scripts.
OpenSCAD
PA2: X3D
X3D is a XML-based file format for representing 3D computer graphics and can be created with various editors.


PA3: SketchUp Ruby
SketchUp is software with an embedded Ruby application programming interface that allows users to create 3D models and provides flexibility to extend and customize the program.
SketchUp Ruby

PA4/Final project: This project will be completed in the last few weeks of the semester and will incorporate one of the software tools learned in class. Students will identify an issue and perform requirements specification, prototyping, designing, and printing their object.