3d Printing With Mathematica


In this lab, students design a three-dimensional object using Mathematica software by graphing functions and rotating them around the y-axis. After designing the object, the students create a real representation out of plastic.

A photoreactive mixture of chemicals polymerizes when exposed to ultraviolet light, leaving nearby polymer unreacted. Using a computer and a data projector, one can create different shapes by shining the light of the data projector into a beaker of the photoreactive polymer. Where the light shines, the polymer solidifies, making a cross section of an object. Mathematica creates the cross sections to shine into the polymer in a user-friendly interface. By continually lowering the previous layer of hardened polymer into the beaker and shining the next layer on top of it, a three-dimensional object is made one cross-sectional layer at a time.


  • Data Projector
  • Computer (with powerpoint)
  • 1,6-Hexanediol dicrylate
  • Phenylbis(2,4,6-trimethylbenzoyl)-phosphine oxide
  • Sudan I
  • 100 mL amber bottle
  • Graduated cylinder
  • Balance
  • Weighing paper
  • Spatula
  • Stir plate and Stir bar
  • Magnifying glass
  • First surface mirror
  • Ring stands, clamps, and clamp holders
  • 50 mL beaker
  • Staging Device *

Experimental Procedure

  1. Prepare polymer:
    1. Measure 98 mL of polyethylene glycol dicrylate, mass .02 g of Sudan I, Mass 2.00 g of phenylbis(2,4,6-trimethylbenzoyl)-phosphine oxide,
    1. Mix all three components in 100 mL amber bottle. Add stirbar, put on stir plate gently mixing, allow to mix for a minimum of three days to allow all chemicals to dissolve
  2. Prepare Station:
    1. The staging device moves on a threaded rod. Be sure threaded rod is moved to the top to allow full range of movement when printing.The stage has a locking mechanism, unlock stage to pull it up or down. Place beaker on stage

    1. Place projector, magnifying glass, mirror, and stage.
    1. Start the Mathemeatica workbook. Execute the code.
    1. Enter the functions you want to use. Special functions can be used, such as “Abs[X]” for the absolute value of X and “Cos[X]” for the Cosine of x. Exponents are denoted by the “^” symbol (Shift+6)
  3. Prepare to Print:
    1. Generate the cross sections in Mathematica. Use the red text from the first screen to focus the image from the projector onto the stage. The red text will not polymerize the polymer.
    1. Fill the beaker with the polymer solution so that a very thin layer is covering the stage.
    1. Advance the Mathematica presentation. Center the image of the red circle on the stage. This will ensure the object will be printed on the stage.
  4. Print Object:
    1. Project the image for 10 seconds, alternating with a couple seconds of black screen. When the screen is blank, make a quarter turn on the knob to lower the image and allow fresh polymer to flow over the top. (Note, the second portion of this video is a time lapse, condensing several minutes into a few seconds.)
  5. Remove and Clean Object:
    1. Move staging device out of the path of the light. Raise the object out of the polymer. Remove the beaker and clean the object.
    1. Clean the staging device. Pour the unused polymer back into the amber storage bottle. Clean the area.

Downloadable Materials:


Goggles and aprons should be worn as in all chemistry laboratory activities.


Ester Rhodes for the initial idea of using Mathematica to create 3D objects. Bryan Murawski for helping with initial development. Igor Antonio and Bret Champion from Wolfram Research for help developing the code. Matt Ragusa, Craig Russell and Ann Munroe for testing and refinement.


Adam Poetzel and Joe Muskin