Topic outline

  • What is digital fabrication?

    Digital fabrication is a type of manufacturing process where the machine used is controlled by a computer. 

    The most common forms of digital fabrication are:

    CNC machining - subtractive method where artifacts are cut with a spinning spindle out of a sheet or block material. CNC stands for Computer Numerical Control.

    Laser or jet cutting - subtractive method where artifacts are cut using a laser beam or a jet stream out of sheet material.

    3D printing - additive method where artifacts are “printed” or assembled from a granular or melted material particle by particle.

    The important aspect that unifies them is that the machines can reliably be programmed to make consistent products from digital designs. This stands in stark contrast to the traditional manufacturing techniques which were analogue in nature. Design, measurement and ultimately production was hand-operated, even when powerful but specialized machines were used. With digital fabrication, all aspects of a production process can be controlled in a digital manner directly from a computer using digital files and programs. Not only that our artifacts can now be produced by a machine directly controlled by a computer, they can also be designed entirely using digital means.

    This entirely digital environment in which our artifacts are designed and produced has a potential to fundamentally change the way we design and build everything around us. In a way, it is transforming us to become digital craftsmen.

    Course description

    The aim of the course is to use custom developed computational tools to explore designs for spatial assemblies constructed as kinematic chains of discrete linear members. The emphasis of the course will lay in the development of computational design strategies for the NOPA construction system (Non-Orthogonal Planar Assemblies) and production of physical prototypes. First part of the course will focus on computational design and modeling, while the second on physical prototyping and production.

    The computational setup is developed by the tutors of the course in Rhino and Grasshopper and written in Python. It will enable students to quickly explore design iterations that follow the rules of the system. Given the flexibility and degrees of freedom this system offers, its design potential can only fully be explored in parametric three-dimensional environment. During the five days of the course, we plan to extend the design development into actual digital fabrication of physical prototypes using a CNC milling machine and manual assembly of the produced pieces. NOPA is a construction principle based on two constraints: member geometry - dictates that members are discrete, linear and rectangular in section, and connection type - dictates that members are connected by placing their length axes in parallel but offset planes, establishing a planar connection between the sides of the members. NOPA construction rules can be extended into a structural system by connecting many members to each other. Students will learn how to explore these designs using parametric modeling tools and how to later produce them into actual physical prototypes.

    Course topics

    - Digital fabrication basics

    - historical context of architectural and design production, specifically CNC milling

    - Computational design and modelling

    - Rhino Python programming language in the context of CAD, object-oriented programming paradigm, visual programming in Grasshopper, NURBS modelling of structures and timber joinery

    - CNC milling basics

    - preparation of files and data for CNC milling of timber prototypes

    Learning outcomes

    During the course, we will provide students with the software tools that will enable them to engage and design within the NOPA system, as well as to generate fabrication data to produce the pieces and assemble them into physical prototypes. Students will use and learn following tools and methods:

    -       Rhino 6 - CAD software for 3D NURBS and mesh modeling used by product designers, mechanical engineers as well as architects, among others.

    -       Grasshopper – Rhino plug-in used for parametric and generative modeling with graphical components. The components themselves can be custom scripted in Python.

    -       Python – high-level programming language with simple syntax that we will use for algorithmic modeling in Rhino and Grasshopper environments.

    -       CNC milling - digital fabrication workflow to go from the design generated through a script to production data (g-code) for the CNC machine.


    Students will work in groups of two or individually and complete a mini-project by the end of the workshop (Friday). Technical skills as well as algorithmic design understanding integrated with digital fabrication tools will be evaluated based on the completed project. As the time is short, students will be provided with working examples of models and code-snippets, as well as with support for their integration. The emphasis should be on exploration and experimentation, starting from the basics and building up, rather that setting unrealistic goals which cannot be reverse engineered in the given time. Projects don’t have to be fully finished, rather they have to be holistic and functional, exhibit clear design thinking and explore thought-through ideas. We will employ the MIT motto: Demo or die! Emphasis is always given on actual demonstrations and prototypes rather than vague concepts and ideas.


    The only prerequisite of the course is that you are already familiarized with basics of any programming language. This will give you a good base on which to build upon in the workshop. Familiarity with 3D CAD modeling software is desirable but not compulsory. This workshop will include manual assembly of timber elements, therefore students are expected to exhibit willingness to do hands-on work and follow safety rules. Students are encouraged to apply even if you think that the course will challenge their existing skill-set.


    All projects will be presented by each group on the last day of the workshop. Presentations should include a showcase of physical artifacts. No paper submission is required, just digital design and production files and physical artifacts. Students will be awarded credits only after the successful submission of the material over MyCourses system.