Computer-aided Design


Overview

Last updated: 22/02/2016

Objectives
1.Model (draw, render, animate, simulate, ...) a possible final project;
2.Post it on your class page with original 2D and 3D files;

Learning outcomes
1.Evaluate and select 2D and 3D software;
2.Demonstrate and describe processes used in modelling with 2D and 3D software;

Have I...
Modelled experimental objects/part of a possible project in 2D and 3D software?
Shown how I did it with words/images/screenshots?
Included your original design files?


Summary
For this class I wanted to focus on two software that I never used before. Overall, during the week I used Illustrator for 2D drawing and Solidworks, openSCAD, Rhinoceros, Grasshopper and a bit of Antimony as 3D design tools.
2D CAD: Illustrator

I designed the logo for my final project. Since I did not want to spend too much time on it, I used Adobe Illustrator as I am already quite familiar with it. After I had made a trace of a picture of a tree I found online, I added the name (font: Aliquam) and two bars at the bottom [1].


3D CAD: SolidWorks

Given that I have a bit of experience with SolidWorks, I hold a small workshop for my colleagues in Siena. For approximately two hours we played with the concepts of planes, sketches and function. Then we started to make assemblies, rendering and 2D orthographics. It was all pretty basic, yet useful for me as well to refresh some concepts. Eventually we did not make anything interesting but the ugly composition you see below [2].


3D CAD: OpenSCAD

I started with a quick exploration with OpenSCAD, as I was keen on deepening my knowledge into coding. It follows the code for a matrix of boxes that I designed, which can represent an abstract version of what I would like my final project to look like. The first sketch looked like this, where I drew each cube one by one.


Then I realised that I could do functions and I drew the next version of it [3]. I found the coding-based drawing to be quite unintuitive here and there. Nonetheless, I could count on some pre-knowledge in Processing.org drawing, which helped me in understanding OpenScad better.



3D CAD: Rhinoceros

I started playing with Rhino and its plugin Grasshopper, as I eventually aim at becoming quite skilled with generative design. It follows a screenshot of a rendering that I made for my final project. The drawing aims at showing a sculptural visualisation of the wind. I went a bit abstract and artistic with this representation, which I then also printed using the Ultimaker2 [4].


After we had had a workshop with our colleague Mario, I could better understand the scope and the flexibility of Rhino and I decided it was definitively worth it further investigation. I wanted to visualise my final project, which (for now) consists of four servo motors and a moving membrane. This time I combined the more expressive and free explorations that I did before with a functional drawing. I imported an .STL file for the motors and I used the function Mesh-to-Nurb in Rhino to transform it into a nurb. eventually the result was sufficiently good.


3D CAD: Grasshopper

Grasshopper is a free plugin for Rhinoceros that allows to do generative design as well as parametric design. I wanted to do the same visualisation that I did with the other softwares, nothing more than that. It was the first time for me to use such a software, even thoguh I already played around a bit with Max MSP and I was familiar with this way of working a bit. Nonetheless, it took me quite some time to fully understand how to structure a patch, especially how to interface Grasshopper to Rhinoceros. I found this tutorial really useful. I based my patch on one of Andrea Graziano [5], which is connected to Rhino where one curve has to be drawn as a reference. Parameters to be controlled include:
1.height of the towers;
2.distance between the tower and the curve;
3.dimension of the grid;
4.diameter of the towers;
Next exploration with this patch could involve the creation of a surface controllable through such parameters.


3D CAD: Antimony

Matteo held a workshop on Antimony, given his experience with coding. Since I am running the Linux distribution 14, I was not capable of installing Antimony. One needs to have Ubuntu 15.10 in order to install it without any trouble. During the workshop we got introduced to the basics of such a coding-based CAD software, which is entirely written in Python and includes both a graphical and a programming interface. To me it sounded like a more sophisticated (and accessible) software than OpenSCAD, where the graphical support is completely missing. We drew basic shapes all interconnected with shared variables, that is the power of Antimony.


Conclusions
I really appreciated getting out of my comfort zone, even though I am obviously not really proud of the results of my explorations. Getting introduced to code and algorithm based design revealed to be interesting, even if I still find it really difficult.
Some useful vocabulary now:
1.Parametric design is a paradigm of designing where geometries are described with variables.
2.Generative design is a paradigm of designing where a shape is described as a sequence of steps in mathematical terms. Grasshopper, for instance, is both a generative and a parametric design tool.
3.Bitmaps and vectors are two different ways of describing a 2D image. Bitmap (rasters) have a limited definition, while vectors have not. However, when printing or cutting with digital machineries, it is important to keep in mind that machines have their own limit definition, so it would be anyway impossible to scale things up forever.