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.
I also experimented with Inkscape to vectorize, trace and edit individual pixels of the resulting bitmap.
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.
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.
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.
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.
- Cristobal Vila. Blender resources. Very well organized and updated. The only bad thing is that it would take me a lifetime to see them all. Links, Tips, Add-ons and Keymaps.
- CG Boost. Blender Hard-surface Modeling Fundamentals. Thanks Rico for the links.
- ExplainingComputers. Blender Modeling Introduction: How to create 3D objects
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
andx
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
- camera targeting (track to constraint).
shift + a
add an empty plane axis > select camera > add constraint > select plane axis - working with lights.
RMB
to split view.N
show/hide Select light > Add constraint - spot light.
- area lights. Change area size. Select light > click move > click and drag or change values.
- outliner collections. Click in + create a new collection > rename it.
- parenting objects
- creating materials. I was playing with shading: metallic, roughness, and a first contact with nodes …
- and last this is my first basic render with blender
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
And this is the result, I think it looks pretty good. I’ll have to investigate further.
In order for me to reuse this material in another project, I must create a group in Nodes.
Saving the Blender file and into a new project and I append the wood material.
And assign material to a new object
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 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
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.
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