Personal tools
You are here: Home Courses 3d Printing Algorithms for 3D Printing and Other Manufacturing Processes - Spring 2017
« November 2022 »
Log in

Forgot your password?

Algorithms for 3D Printing and Other Manufacturing Processes - Spring 2017

Monday, 16:00-19:00, Schreiber 007

Instructors: Dan Halperin and Efi Fogel

Office hours: by appointment

We will start with a review of the basic concepts of 3D printing (a.k.a. additive manufacturing). The focus of the course is on algorithms for additive manufacturing (as well as other manufacturing processes) and their efficient implementation. Among the algorithmic topics that will be presented, as time permits: optimal part orienting, digital surface simplification, movable separability in tight quarters and assembly planning, packing/nesting, and the mutual relations between robotics and 3D printing. We will also deal with the practice of 3D printing in several technologies.



  • Computational geometry
  • Knowledge of C++ or willingness to learn the language - this is not a formal prerequisite; it will however be difficult to do the assignments without it

Assignments, Examination and Grade

The grade breakdown (new, as of 19.6.2017):

95%: Assignments and final project

  5%: Mini presentation, 15 minutes, on a relevant topic of the student's choice

The assignments will appear here.

Uri Amir &
Jay &
Tom &
Yair &
& Inbal
Elad Chen &
Sphere Football Bunny Orange Dragon Heart
Red dragon
3D Maze

Amir Geva Inbal Jay Michael Noa Shahar Tom Tomer Tzivka Uri Yair
Amir Gear Geva Gear 1 Inbal Gear Jay Gear Michael Gear 1 20170713_162703_HDR.jpg Shahar Gear 1 Tom Gear Tomer Gear Tzvika Gear Uri Gear Yair Gear
Amir Chen Geva Inbal Jay Michael Noa Shachaf Shahar Tom Tomer Tzivka Uri Yair

Course Summary

Below you'll find a very brief summary of what was covered in class during the semester.
This should not be taken as a complete description of the course's contents.

For an unofficial summary in Hebrew, by Tom Tsabar, click here.

  • 13.3.17

Introduction: Background, course topics and mechanics [slides (pdf)] (revised slides, 21.3.17)

The basics of printing, Ultimaker3 and Cura [slides (pdf)]

  • 20.3.17

Algorithmic introduction, continued [slides (pdf)] from the slide "Two simple algorithms" on

Gcode [slides (pdf)]

  • 27.3.17
The width of a polyhedron in 3-space [slides (pdf)]
CGAL [slides (pdf)]
  • 3.4.17
The width of a polyhedron in 3-space, continued [slides (pdf)] from the slide "Minkowski sums" on
A visit to the digital lab at the school of architecture, guidance on the 3D Systems' Project 660
  • 24.4.17
2D Arrangement [slides (pdf)]

  • 8.5.17

(i) State of the art in methods and representations for fabrication-aware design, Dr. Amit Bermano, Princeton [the report (pdf)]

(ii) Manipulating massive raster data for 3D printing, Dr. Nur Arad, Stratasys
(iii) 2D arrangements in CGAL continued (see slide of 24.4.17)

  • 15.5.17

(i) Introduction to Digital Model Simplification: Minimal nested polygon between convex polygons

(ii) Additive manufacturing using metals, Prof. Noam Eliaz, Department of Materials Science and Engineering, TAU

  • 22.5.17
Digital model simplification [slides (pdf)]
  • 29.5.17

(i) Polygon mesh processing in CGAL, Dr. Sebastien Loriot, GeometryFactory [slides]

(ii) Printing cancer in 3D - Designing 3D-microengineered printed tumors for personalized cancer therapy, Prof. Ronit Satchi-Fainaro, The Sackler School of Medicine, TAU

  • 5.6.17 
Movable separability, Part I: Introduction [slides]
  • 12.6.17 

Movable separability, Part II: The motion-space approach to assembly planning [slides]

  • 19.6.17

Movable separability, Part II, cont'd

Polyhedral Assembly Partitioning with infinite translations in space [slides]

    Mini talks by student

    • 27.3.17 Inbal Bracha, Sensing
    • 15.5.17 Tom Tsabar, Online CAD [slides (pdf)]
    • 22.5.17 (i) Yair Karin, Security [slides(pdf)], and (ii) Jay Tenenbaum, Folding [slides(pdf)]
    • 29.5.17  Geva Kipper, Part orienting [slides]
    • 5.6.17    (i) Shahar Shamai, Separability [sllides(pptx)], and (ii) Amir Barda, Applications of 3D printing in aerospace [sllides(pptx)]
    • 12.6.17  (i) Chen Ziv, Gomboc [slides(pptx)], (ii) Tzvika Geft, 3D viewing and VR applications [slides], and (iii) Michael Kellner, Paper sliceforms - 3D for the poor [slides]
    • 19.6.17  Shachaf Ben Jakov, 2D Nesting [slides(pptx)]
    • 26.6.17 (i) Uri Mike [sllides(pptx)]

    3D Printing Instructions

    Some homework assignments require actual 3D printing of objects.
    Most of the 3D printing assignment can be done on an FDM 3D printer.
    If you are enrolled in the course, you can use a 3D printer, of type Ultimaker 3, located in a locked cabinet on the 2nd floor of Schreiber (near the staircase).
    Follow the procedure below when you use this printer.
    1. Prepare a file in the Gcode format that contains the instructions to the printer to print the object, using Cura (version ≥ 2.3.1).
      • Cura should give you an estimate of how long the print process will last.
    2. Reserve a time slot in the CS 3DP calendar of a period that matches the estimation above. (Add 30 minutes to the estimated duration to be on the safe side.)
      • If you don't have access to the CS 3DP calendar, please send an email message to and ask for it.
    3. Copy the file to a disk-on-key.
    4. Enter the cabinet where the printer is located.
      • If you don't have a key, collect one from Ms. Gilit Zohar-Oren. (Her office is Schreiber 223, 2nd floor.)
    5. Insert the disk-on-key into the USB slot in the printer.
    6. Coat the tray with glue, using a glue stick, on the area where the 1st layer will be printed.
      • If you print a prime tower (which is recommended when you print with PVA support) don't forget to spread glue also on the area underneath the prime tower.
    7. Start the print.
      • Rotate the button to select "print" and press. The system will list all files with the ".gcode" extension found on the disk-on-key. Then, select the file you want to print and press.
    8. You may leave the premises, but check on the progress every once in a while.
      • The printer is equipped with a camera. Once we connect the printer to the network it will be possible to remotely monitor the printer.
    9. Come back after the print tray has cooled down, and remove the printed object from it.
    10. You may use a sharp flat (Japanese) knife to disconnect the printed object from the tray.
    11. Remember to remove the disk-on-key, leave the glue stick near the printer, leave the desk clean, and unlock the cabinet on your way out.
    Document Actions