Week 2

Week assignments

Computer-Aided Design
Model (raster, vector, 2D, 3D, render, animate, simulate, …) a possible final project, compress your images and videos, and post a description with your design files on your class page.

  • Evaluate and select 2D and 3D software. ✔
  • Demonstrate and describe processes used in modelling with 2D and 3D softwares. ✔
  • Demonstrate image and video compression. ✔

Computer-Aided Design

In my daily workflow, I mostly use Rhinoceros and Grasshopper for parametric design, and Autodesk Revit for architectural modeling. A lot of times, I also create parametric families in Revit to add information to my geometric models. Lately, I’ve been using Rhino Inside Revit, which I think is an amazing way to control the geometry while also feeding it with non-graphical data.

When it comes to working with the robotic arm at the FabLab ETSAC Coruña, I use Ency Robot, and for our 3 axis CNC machines, I usually go with VCarve.

Way back in the day, I worked with Macromedia Flash, Aldus PageMaker, and Freehand. I even remember using ClarisCAD on the Macintosh LC we had in the School of Architecture of A Coruña in the ‘90s—feels like a lifetime ago!

Vector vs Raster

To explain the difference between vector and raster files, I played around in CorelDRAW by vectorizing the logo from a raster image and converting a hand-drawn vector text (created with my Wacom Intuos Pro tablet) into a bitmap. Raster vs Vector I also experimented with Inkscape to vectorize, trace and edit individual pixels of the resulting bitmap. Raster vs Vector

Vcarve Pro it’s a program I frequently use to work with our CNC machine. It’s a 2D parametric CAD tool, although it can also import STL files to interpret and generate G-code—for example, to mill a topographic model. In the screenshot, I imported a bitmap and vectorized it to obtain its outline. I then used this bitmap to create the favicon at Favicon.io. The figure on the right shows the vectors contained in the favicon.svg file.

Favicon from Vcarve

3D Software

This week, my goal is to try something new—some tools I’m not too familiar with. One of them is definitely Blender. I really want to get a feel for its workflow and learn how to use Geometry Nodes since it’s similar to Grasshopper. And after Neil’s class on Wednesday the 29th, I also decided to give FreeCAD another shot, especially since version 1.0 came with some major updates.

To test out what these programs can do, I figured the best approach would be to create a 3D model of my Final Project proposal using the software I’m most familiar with—Rhinoceros and Grasshopper. Then, I want to try recreating some parts in FreeCAD and experimenting with different modeling techniques in Blender.

By clicking on the image you can consult the parametric design bases that I have established for the initial proposal of my final project.

First view Test Bench

Freecad

Luis, our Fab Academy instructor, provided us with the link to a Freecad 1.0 training course that was given with the collaboration of KidCode in December last year at A industriosa.

These are the links to the sessions:

  • Day 1 Introduction to Freecad and parametric modeling.
  • Day 2 Boolean operations and assembly.
  • Day 3 Practical part creation and preparation for 3D printing.

On the afternoon of Thursday the 30th, I was watching them while practicing the exercises they were suggesting. On Friday afternoon, I spent some time reproducing the outer board of one of the beam supports. The way the constraints and relationships between the elements in the sketch work has improved a lot compared to the earlier versions of the program.

Although I didn’t mention GIMP in the 2D software section, it is a tool I always use. With GIMP I put together this image showing four moments from my work with Freecad. In the first one, the work plane for the sketch is set up, below is the result of one of the exercises where I modeled a table, and on the right you can see how I set up the constraints and parameters that shape the outer face of the support.

FreeCad practice

Big thanks to Svavar from Fab Lab Ísafjörður for sharing the Freecad info—it really helped me understand the difference between Part and Part Design. The Blender videos also look good, I’ll check them out tomorrow Saturday along with the ones Rico recommended on the GOT channel on Mattermost. Now I’m off to dinner in Sada with my wife and some friends, I’ve been neglecting them for a few days.

Blender

Everybody says that Blender is not an easy program to understand and it is necessary to dedicate some time to understand how it works. I have dedicated all Saturday to it, the first thing I did was to review the links to explanatory videos that I have received these days.

The first Blender practice I did following this tutorial from Cristobal’s list:

  • Christopher 3D. A simple scene for total beginners It’s recorded with version 3.4.1 of Blender, there’s a little mismatch like the autosmooth control, which in the current version (4.3.2) is accessible by clicking with the right mouse button. I think it’s a very good video for the first contact with the program. I have done the practice on my computer.

The video covers all these issues:

  • simple scaling of objects. Uniform scale. s and x y z for restricted scale
  • switching between perspective and non-perspective modes
  • the transform controls panel
  • applying scale
  • object creation shift + a
  • using the cursor
  • using a UV sphere
  • shade smooth (surface normal smoothing) change to right button in actual versión.
  • adding a subdivision surface modifier.
  • moving an object’s origin.
  • object edit mode.
  • auto Smoothing, Normals.
  • working with a camera.
  • toggle the camera view. Numpad 0
  • camera lock. Select camera > click camera view > click lock Lock camera view
  • camera targeting (track to constraint).
    shift + a add an empty plane axis > select camera > add constraint > select plane axis Camera track to an empty plane axis
  • working with lights. RMBto split view. Nshow/hide Select light > Add constraint Track light
  • spot light.
  • area lights. Change area size. Select light > click move > click and drag or change values. Change Area Size
  • outliner collections. Click in + create a new collection > rename it. Organizing collections
  • parenting objects
  • creating materials. I was playing with shading: metallic, roughness, and a first contact with nodes … First contact with Nodes
  • and last this is my first basic render with blender Rendered my first image

As the material I am going to use for my final project will be wood, I have been looking for a tutorial to create a material that simulates wood and that I can apply to a future render. I found this tutorial by Pixxo 3D1 Realistic Wood Material very interesting and I have replicated it to understand how it works. It has helped me to have a second contact with Geometry Nodes.

I used these nodes: Texture coordinates > Mapping > Noise Texture x2 > Color Ramp > Mix > Color Ramp x2 > Principles BSDF > Material Output GeometryNodes And this is the result, I think it looks pretty good. I’ll have to investigate further. Wood simulation In order for me to reuse this material in another project, I must create a group in Nodes. Create Group Saving the Blender file and into a new project and I append the wood material. Add Group And assign material to a new object Add Group

Tip

If you want to visualise keystrokes in blender when recording a video of the screen you can install the Screencast-Keys extension.

Image compression

Optimize with ImageMagick

ImageMagick is an open-source software, used for editing and manipulating digital images from the command line.

I have downloaded and installed the Windows version on my computer.

Found ImageMagick Q16-HDRI [ImageMagick.Q16-HDRI] Version 7.1.1.41
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party
 packages. Successfully verified installer hash.
Starting package install...
  ██████████████████████████████  100%
Successfully installed

Once installed from the command line, I can use different ways to adjust the size and quality of the images.

$ magick mogrify -format jpg *.heic In this example images HEIC are left untouched and JPGs files are created. Mogrify overwrites the original image file, whereas, magick writes to a different image file.

$ magick mogrify -quality 60% -resize 800 *.jpg It sets the quality of all jpg files in the folder to 60%, their size to 800 pixels wide and ‘attention’ overwrites the original files.

Optimize image with Gimp

Gimp (for GNU Image Manipulation Program) is a free program that I can use for photo retouching and editing and allows, among many other things, the conversion and adjustment of the resolution and size of images between different formats.

  • Gimp Scale Gimp Scale -Gimp Export Gimp Export

Optimize image with Microsoft Photos

With Photos it is easy to adjust the size and resolution of an image, there is virtually no difference in size from the adjustments made with Gimp and ImageMagick, although ImageMagick is great for converting a batch of images.

  • Photos Scale, adjust and Save as Microsoft Photos

For screenshots I use the Lightshot tool.
And for annotating images I use Zoomit

Video Compression

I installed the HandBrake app and used it to compress a very basic video I made in Blender. I could have done it in Rhinoceros, but I want to get more comfortable with Blender, even though it’ll take me some time.

HandBrake

I’ve also been checking out how to add a video to a page on this site.

<video src="video-02/basicbench.mp4" width=100% type="video/mp4" controls autoplay></video>

Or using a callout without autoplay in this case

Files week 2

Inkscape 1.3: LogoFAb
GIMP 2.10: LogoFAb
Vcarve Pro 8.5: VcarveSVG
Freecad 1.0.0: TableParts - Support_v01
Blender 4.3.2: ASimpleSceneForBeginners - NewColorBlend - FirstBench BlenderFiles.zip
Rhinoceros 8 SR15: ParametricBench
Grasshopper: BenchDefinition_v01

If you don’t have the software installed you can view the file online from 3dviewer.net