A2 - CAD Modelling

Since 2005 I´ve been teaching 3d modeling for industrial Design and Architecture.

As part of my Fab Academy research in Computational Design, last year I decided to publish a Computational Design Encyclopedia, is´s about to be printed and publish in 2021.

A 2.1 Use and practice a bitmap software editor

Process:

In this Assignment we have to try some 2d and 3d drawing and modeling software. The recommendation in the class was to use Inkscape to make vectorial drawings and Gimp for bitmap processing. Both softwares are free and open source. I already tried both programs and I don't feel very comfortable using them, because I learn in the Adobe programs. Now I feel more comfortable with the Affinity software, that is an affordable solution to de Adobe Suite with almost all the same tools.

You can download them from here. Affinity

Batch Image Optimization on Affinity Photo

I utilize Affinity Photo to optimize the file size and format of the sketches of the logo for my final project. I use the batch process to resize and change the format of the pictures taken in my celular phone.

CADt002

The software automatically resize all the images, rename them and ask if you want to save in the same folder or in another.

CADt003

A 2.2 Use and practice a vector drawing software editor

Objective:

To practice vectorial drawing.

Process:

I utilize Affinity Design to make the vectorial drawing of the logo.

CADt018

Mainly I deform primitive shapes as circles to generate the main lines.

I use the boolean intersection and subtraction to clean the main shapes.

CADt024

With the pen tool I draw the small reflections and details.

CADt021

This is the final result, in the future want to explore with another fonts put some more detail in it.It was nice to do vectorial drawing again since it was a wile i didn't do it.

CADt017

A 3.a Parametric 3d model - System System

Process:

I design a circular joint test to verify the joint clearance of the laser cutter in Grasshopper 3d.

In Grasshopper I define the radius of a circle and I find the center of the circle.

img

I parametrically divide the circle in 10 parts.

img

I connect the divisions with the center of the circle.

img

Then I offset with cap the lines in increments of 0.2 mm to have orientated rectangles.

img

I have to find the perpendicular planes for the divisions.

img

With the perpendicular planes I scale 1D the rectangles.

CircularJoint (5)

After the scale with 2 sets off regions, one is the circle, and the another are the closed rectangles.

CircularJoint (6)

Then I use the "Region difference" command to extract the intersections of the regions.

img

I used a text 3d tag to display the resulting numbers of the increments.

img

This is the final result.

CircularJoint (9)

img

Test Assembly

img

[Download Grasshopper File]


Explore Parametric Modelling

In this example I model a parametric cage that envelopes a series of sensors and components.

It mainly uses a bounding box that surrounds all the components, the top cover is made by an inclined plane where the edges between the face and the boxes are connected by a loft, I smoot the shape using subdivision surfaces.


Individual Assignment - Second Try

Sub División Modelling

Sub Division Bench

For the individual assignment, I design a small bench for my daughter, we have a bench at the dining table but it´s very tall for her, so she gets more distracted when eating because she´s uncomfortable.
I measure the bench, and my daughter to get de dimensions.

The external measurements are: 330 x 300 x 120 mm
I choose to use the beta version of the 3d CAD modelling software called Rhinoceros, If you have a valid license of Rhino 6 you can download the beta version of Rhino 7. (Download)

The new version 7 of Rhino has new tools, and I wanted to try the new Subdivision surfaces commands. There was a very good plug in for Rhino for modelling Sub D´s that was called T-Splines but it´s no longer available. The McNeel Team now its developing its own Sub D's tools.

The shapes are like Nurbs surfaces, but the modelling style is more like the polygonal modeling, the advantages of Sub D modelling is that you can create very organic forms from very simple geometry.

The workflow is to model low polygon like shapes and then use a subdivision smoothing algorithm. The good thing of Sub D´s it´s that if you follow the simple topology rules you can always have a ready to offset or extrude mesh that its always a watertight solid.

The firs step it´s to model a Sub D box with 4 and 4 and 4 subdivisions per face with real measurements.

Cheat Sheet Image Magik and FFMPEG

Resize image to size

mogrify -quality 50 -resize 800x600 *.jpg

Convert to .avi

ffmpeg -i InFile.mp4 -OutFile.avi

To optimize quality of .mp4 - Change the value of -cfr from 0 to 100 that represents the percent of the quality

ffmpeg -i InFile.mp4 -crf 30 OutFile.mp4

To target the video file size change (-b:v 1000) the number represents file size in Bytes

ffmpeg -i inFile.avi -b:v 1000k OutFile.mp4

Specify audio and video bitrates

ffmpeg -i inFile.avi -b:v 1000 -b:a 128k outFile.mp4

Volume Multiplier

ffmpeg -i InFile -filter:a "volume=2" OutFile

Crop a Video

ffmpeg -i inFile -filter:v "crop=w=800:h=600:x100:y=200" OutFile"

Crop Video Centered

ffmpeg -i InFile -filter:v "crop=w=800:h=600:x=0:y=0" OutFile"

Channel Remapping

ffmpeg - i inpuFile -filter:a "channelmap=0-0|0-1" OutFile

Rotate video

ffmpeg -i infile -filter:v "rotate=45*PI/180" Outfile.mp4

Pictures to Video

fmpeg -i img-%02d.png OutFile.mp4

Pictures to Video w/framerate

ffmpeg -framerate 24 -i InFile-%03d.png OutFile.avi
ffmpeg -framerate 1 -i InFile-%03d.jpg -vcodec libx264 -crf 25 OutFile.mov

Make transparent A before overlaying - WIP

ffmpeg -i video.mov -i background.png  -filter_complex  "[1]format=argb,geq=r='r(X,Y)':a='0.5*alpha(X,Y)'[b];[0:v][b] overlay"  BackAlpha.png         

The number 0.5 is the opacity factor. The format=argb it also works with overlay images that don't have an alpha channel.

ffmpeg -i B.png -i A.png -filter_complex "[1]format=argb,geq=r='r(X,Y)':a='1 *alpha(X,Y)'[b];[0:v][b] overlay" A_1_Alpha_Bin.png
ffmpeg -i B.png -i A-%03d.png -filter_complex  "[1]format=argb,geq=r='r(X,Y)':a='1 *alpha(X,Y)'[b];[0:v][b] overlay"  A_1_Alpha_Bin.mp4

HTML5 MP4 ffmpeg encoding (Fab Recomendations)

variable bit rate 1080p MP3:

ffmpeg -i input_video -vcodec libx264 -crf 25 -preset medium -vf scale=-2:1080 -acodec libmp3lame -q:a 4 -ar 48000 -ac 2 output_video.mp4

fixed bit rate 1080p MP2:

ffmpeg -i input_video -vcodec libx264 -b:v 1000k -vf scale=-2:1080 -acodec mp2 -b:a 256k -ar 48000 -ac 2 output_video.mp4

no audio:

ffmpeg -i input_video -vcodec libx264 -b:v 1000k -vf scale=-2:1080 -an output_video.mp4

crop size (width:height:xoffset:yoffset):

ffmpeg -i input_video -vf crop=1500:800:200:100 -vcodec libx264 -b:v 1000k -an output_video.mp4

trim time (-ss start time, -t duration):

ffmpeg -i input_video -vcodec libx264 -b:v 1000k -an -ss 00:00:10 -t 00:00:10 output_video.mp4

mix audio and video:

ffmpeg -i input_video -vcodec libx264 -b:v 1000k -vf crop=1120:876:0:100 -i input_audio -acodec mp2 -b:a 256k -ar 48000 -ac 2 -ss 00:00:20 -t 00:00:20 output_video.mp4

crop, pan, composite:

ffmpeg -i input_video_1 -i input_video_2 -filter_complex '[1:v]crop=175:95:930:860[cropout];[cropout]scale=350:190[scaleout];[0:v][scaleout]overlay=10:10[outv]' -map '[outv]' -vcodec libx264 -b:v 1000k -map 0:a -acodec mp2 -b:a 256k -ac 2 -t 00:00:05 output_video.mp4

numbered images to video:

ffmpeg -r 30 -i %04d.jpg -vcodec libx264 -b:v 1000k -vf scale=-2:1080 -an output_video.mp4

To insert video to HTML