Digital Design and Fabrication 2023 Resources

This section contains tutorials presented in class and the associated download links thereof. The contents of the tutorials is associated with processes related to manufacturing which may be used to inform upstream design. Through this design-to-manufacture problem-oriented exposition, we also introduce some important concepts in computation and several interesting algorithms.

Fusion360 K-Means

The objective of this post is to present the k-mean clustering algorithm using Fusion360’s python scripting interface. The topic has been covered earlier in the clustering methods tutorial. It is just easier to visualize the behavior of the algorithm in 2D used here.

Fusion360 Surfaces

The objective of this tutorial is to demonstrate the process of creating interpolated spline curves and lofted spline surfaces as part of the introduction to CNC machining.

Fusion360 Mesh Wireframes

The objective of this post is to continue experimenting with Fusion360’s API. We investigate accessing mesh information and computing various properties.

Fusion360 Python Intro

This is an updated introductory tutorial on python scripting within Fusion360. For basic setup operations please see the earlier post describing how to first setup the visual studio code environment. Below is a step by step introduction to some typical operations such as creating sketch entities and extrusions. To show the text commands panel, ie. python console, use the “control+alt+c” keyboard shortcut.

Fusion360 Rhino3D Grasshopper Interoperability

The objective of this post is to demonstrate the process of transferring data between Fusion360 and Rhino3D Grasshopper. Since both environments use python, although a different flavor thereof, it makes sense to create a simple protocol of data exchange instead of relying on complex file formats such as DXF, IGES or STEP. The post covers topics such as topological encoding of setting out geometry, serialization and deserialization of data, parsing text encoded data etc.

Fusion360 Clustering Problems

This post introduces clustering techniques relevant to digital design for fabrication. Computationally generated designs, featuring complex geometries, often exhibit large dimensional variations among the elements they are decomposed into. For the purposes of manufacturing and construction, the aim is to reduce the number of unique elements by adjusting their sizes. It is to create a small number of element-types which may improve manufacturing and logistics. The process of grouping elements by size can be considered as a clustering problem. The presentation of clustering techniques is based on one-dimensional elements, such as structural beams, for simplicity; the methods however can be …

Fusion360 Cutting and Packing Problems

The objective of this post is to expand on scripting within Fusion360 and introduce a classic family of computing problems which is very relevant to digital design and fabrication, namely the cutting and packing problems. Here for simplicity with will look at the one-dimensional version of the bin-packing problem and approach it using heuristics.

Fusion360 Python Basics

The objective of this post is to introduce the basics of scripting in Fusion360 using python. This post covers the first time scripting setup, the default scripting template and functionality of visual studio code environment. A simple generative design example demonstrates how to create 2D sketches as well as 3D solid geometries.

Numerical Computing: Root Finding

The objective of this post is to introduce fundamental concepts of numerical computing for design applications. In this post we will focus on root-finding ie. intersection type of problems. The tutorial was part of the Advanced Topics in Digital Design and Fabrication 2016 and Digital Design and Fabrication 2020. This is an updated version for junior students ie. less math heavy and more descriptive, with Python as the programming language.