Skip to content

Week 2 Assignments - Computer Aided Design

2D Design Tools

This week considered 2D design tools for both raster (pixel based) and vector (geometry / formula based) design.

Raster Design Tools

The primary 2D raster design tools I have installed and explored are ImageMagick and GIMP. I also include FFmpeg here as a tool for video management.

ImageMagick

ImageMagick is a command line tool that has primarily been used for managing image file format / size. With some experimentation, I settled on the following options so far:

  • -verbose - shows details as the command runs
  • -strip - removes profile and metadata information
  • -resize - gives a target size - the example specifies the height dimension, and the width scales accordingly
  • -quality - suggests a target level of quality to maintain in compressing the image
  • -format - image file format for output (jpg allowing for compression)
  • -path - destination for output files. I have organized image files into weeks. For each week, there is an image folder for the images being used. Original images from screenshots etc. are placed in a sub-folder original, in case I need to go back and re-do some image processing. This presumes the command is run in the original folder and puts the output into the image folder (one up) for use.
  • .png - most image files so far start as .png, so .png processes all .png files in the folder
magick mogrify -verbose -strip -resize x400 -quality 75% -format jpg -path ./../ *.png

FFmpeg

FFmpeg is a command line tool that has primarily been used for managing video file format / size. With some experimentation, I settled on the following options so far:

  • -i - input file name
  • -vf - video filter options
    • scale=width:height in pixels, -1 to autoscale one dimension with other
  • -c:v - for the video stream, use libx264 (H.264 codec) for encoding
  • -crf - set Constant Rate Factor for balancing size and quality
  • -preset - set encoding speed and compression efficiency tradeoff
  • -c:a - for the audio stream, use aac (AAC codec) for audio
  • -b:a - for the audio stream, use bitrate of 128 kbps
ffmpeg -i wk2-fusion-gear-animation.mp4 -vf scale=500:-1 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

GIMP

GIMP so far has primarily been used for more visual image processing. This includes:

  • Visual cropping of original image content Tools > Transform Tools > Crop
  • Flatting transparent (alpha-channel) borders Image > Flatten Image and removing borders from screenshot images Image > Crop to Content.

Toward modeling final project content, I also explored some image effects that could be used to create a vintage, weathered look for a printed background on the clock face. Face lines / text were created in Inkscape (see below), and the weathered background was created with GIMP.

In order to create the weathered background effect, I followed an tutorial on creating an Old Paper Texture Effect in GIMP. The main steps were to:

  • Open the original clock face design on a blank canvas
  • Change the foreground color to a tan (R: 78.5, G: 70.9, B: 54.4)
  • Apply a filter Filter > Decor > Fog, with parameters
    • Fog color (R: 66.7, G: 43.0, B: 21.9)
    • Turbulence: 3.0
    • Opacity: 100

Clock face design with weathered background using GIMP

Vector Design Tools

The primary 2D vector design tools I have installed and explored are Inkscape and Cuttle.

Inkscape

I have some limited experience with 2D vector tools for drawing, such as Inkscape and Adobe Illustrator. I decided to focus on Inkscape as a more broadly available tool. As a brief refresher, I went through the Inkscape official tutorials for:

Toward modeling final project content, I used Inkscape to create a prototype clock face design. This involved creating a template design for the scrollwork, and the pattern along path feature to repeat the design around the clock face.

I started by creating a basic circle for the clock face.

I then creating a template shape for a pattern that could be repeated around the clock face - a spiral shape with extended tail. To create the template I followed the steps:

  • Add a spiral object
  • Use the shape handles to flatten and stretch the base spiral shape
  • Use the spiral end handle to adjust the end point of the spiral
  • Use the Bezier tool to create a curve in the opposite direction of the spiral, using with 4 control points for the curve
  • Position the spiral and curve so the endpoints so the curve follows a natural connection
  • Connect the curve and the spiral end points using the "Join selected nodes" tool to create a joined path

To create the circular pattern, I followed a tutoral to Repeat an Object Around a Shape with Inkscape. The primary steps were:

  • Create the base shape and pattern (already done)
  • Select the clock face circle
  • Open the path effects tool Path > Path Effects...
  • For Path Effects, select Pattern Along Path
  • For the pattern along path Pattern Copies, select Repeated, stretched
  • To add the spiral template as the pattern
    • Select the spiral template and copy it to the clipboard
    • Return to the clock face circle shape
    • In the pattern along path options, for Pattern source: select the Link to path in clipboard option

Once the pattern has been added, I adjusted it using the following:

  • Adjusting the template shape width and height to refine the base pattern element
  • Using the pattern along path spacing parameter to adjust space between repeated elements
  • Using the pattern along path Normal offset parameter to adjust the position with respect to the clock face circle

Finall, I added text with a script font to each of the positions, using straightforward placement and rotation.

Prototype clock face design using Inkscape

Cuttle

From the week 2 discussion, I had found some favorable references to Cuttle, and I decided to try it out. I made a brief exploration of the video tutorials, and worked through the following introductory tutorials:

Tutorial design using Cuttle

I found Cuttle to be a very intuitive and easy to use tool for 2D vector design, and I expect that I will explore it further as a potential primary tool for project 2D vector design. It seems to me that there is a noticeable UX difference between tools more generally designed for drawing but are used for cutting design (e.g., Adobe Illustrator, Inkscape) and Cuttle, which is more specifically developed for cutting design.

Toward modeling final project content, I re-created the prototype clock face design that I had done previously in Inkscape. There were a lot of similar steps, but the Cuttle process felt a little smoother. The primary steps were to:

  • Create a circle for the clock face
  • Add a logarithmic spiral shape
    • 2 revolutions
    • Y-scaled to flatten
  • Add a curved path with 3 control points, adjusted to conform with the end of the spiral
  • Group the spiral and curve
  • Add a rotational repeat to the combined spiral shape
    • 7 repetitions
  • Add curved text to the positions
    • Add a 3 point arc
    • Use the Text Along Path tool to add script font text

Prototype clock face design using Cuttle

3D Design Tools

This week also considered 3D design tools for modeling and simulation of three-dimensional bodies, components, and assemblies in design. I explored Autodesk Fusion and Onshape.

Autodesk Fusion

I have some limited experience with Fusion, but certainly needed a refresher. I have found that many of the learning materials and tutorials out there are either targeted at a different audience than myself or they are simply not so helpful.

A tutorial series that resonated with where I am at is one from Product Design Online. They have a video series to Learn Autodesk Fusion 360 in 30 Days for Complete Beginners! Some highlights are:

Toy Block Tutorial

I worked through a number of tutorials to review fundamentals in fusion. I document the process for the Toy Block tutorial specifically. This is both to illustrate the tutorial review process in Fusion and because this basic design process is what I used for a point of comparison with Onshape.

Initial 2D sketch for toy block body
Initial 2D sketch for toy block body

Extrude toy block body
Extrude toy block body

Sketch for initial top connector
Sketch for initial top connector

Extrude initial top connector
Extrude initial top connector

Rectangular pattern for connectors (screenshot process omits pattern detail)
Rectangual pattern for connectors

Rectangular pattern for connectors (pattern detail)
Rectangual pattern for connectors detail

Shelling toy block interior
Shelling toy block interior

Sketch for interior connector (circle and offset)
Sketch for interior connector (circle and offset)

Extrude interior connector
Extrude interior connector

Rectangular pattern for interior connectors
Rectangular pattern for interior connectors

Fillet top connector edges and top block edges
Fillet top connector edges and top block edges

Final toy block design
Final toy block design

Constraints in Sketches

2D sketches are the foundation of the 3D models in Fusion, and one of the key modeling aspects for sketching is to define model constraints as part of the sketch. Model constraints act as rules for the design, so that even if some aspects such as dimensions change the design intent is preserved by the constraints.

For example, in the initial 2D sketch for toy block body, the rectangle shows constraints on the different sides. The top and bottom lines of the sketch are constrained to be horizontal, and the side lines are constrained to be vertical. These constraints are noted with the glyphs next to the lines.

Initial 2D sketch for toy block body

As another example, in modeling the interior connector for the block, the center of the connector is constrained to be at the midpoint of the diagonal line between the two top connectors.

Sketch for interior connector (circle and offset)

Basic constraints in Fusion are:

  • Horizontal / Vertical - constrains a line to snap horizontally or vertically
  • Coincident - constrains two selected sketch elements to touch
  • Tangent - constrains a curve and another element so they touch at a single point but not cross each other
  • Equal - constrains 2 elements to remain equal in size
  • Parallel - constrains 2 lines parallel to each other
  • Perpendicular constrains 2 lines at a 90 degree angle to one another
  • Fix / Unfix - locks the size / location of a point or object
  • Midpoint - constrains endpoint of a line to centerpoint of another line or arc
  • Concentric - constrains circular sketch elements to share a common center point
  • Collinear - constrains 2 lines to share a single axis
  • Symmetry - constrains 2 or more objects so they are symmetrical throughout the sketch
  • Curvature - constrains 2 or more objects to create a smooth continuous curve between them
  • Polygon - constrains a closed sketch profile as a regular polygon

Gear Modeling Toward Final project

Toward final project development, I explored gear design in Fusion. The clock mechanism will likely involve independent motors using gears to drive different shafts in order to actuate each of the clock hands.

I worked through a tutorial in Fusion on how to Create Custom 3D Printable Gears in Fusion 360. This involved

  • Installing the gear creation plug-in tool
  • Working through option settings for gear parameters
  • Center holes for gears
  • Hollowing gear body to reduce material / friction
  • Creating a mount for 2 gears
  • Using the McMaster-Carr connected library to import gear designs
  • Creating gear joints for articulation
  • Creating a motion link to connect 2 gears in articulation
  • Creating a motion study to explore motion actions

Beyond basic modeling, hightlights from the gear tutorial included using the script tool to specify parameters in order to create a gear. In terms of creating gears, I also explored the McMaster-Carr plugin for Fusion (Insert > Insert McMaster-Carr Component) to import existing McMaster-Carr models into the workspace.

Using the gear creation script

Using the McMaster-Carr Plugin

Gears created with the script and with the McMaster-Carr Plugin

After the script gears were created and on the base, I articulated them using the As-Built Joint function in Fusion.

This enables you to specify a body or bodies to articulate and how they are connected for motion. For the gears, I entered:

  • A revolute type of joint (revolving the body around a point)
  • The bodies involved are (1) the gear and (2) the base
  • The pin cylinder is the position of revolution

Once the joints have been applied to both gears, I added a "motion link" to coordinate the motion of the 2 gears. For the motion linkage, the joint for each gear is added to the linkage, and the direction is selected as reversed.

Fusion also provides a "Motion Study" tool in order to help analyze kinematics based on joints. In order to explore the motion study tool, I followed the steps in the tutorial for Overlooked Fusion Feature – Motion Study in Autodesk Fusion 360 .

The following video shows the motion study interface, as well as the motiion link with direct interaction.

Fusion provides tools for rendering designs with realistic textures and environments. In order to use the tools, I switched from the Design workspace to the Render workspace. This provides a set of tools to select and apply different textures to bodies in the design. In addition it provides a set of tools to select basic lighting arrangements and environmental backgrounds. Once the textures and lighting are set, Fusion can make a rendering of the scene.

I explored the rendering tools in Fusion to:

  • Apply material textures to the gears (green and blue plastic) and base (black plastic), as well as to the gear from McMaster-Carr (metal).
  • Add an environment / lighting to the screenshot
  • Render the image

Fusion rendering of textured gears and environment

Fusion also provides tools for animating design components. This can be used to explode a design and show how the pieces come together. In order to use the tools, I switched from the Design workspace to the Animation workspace.

I also explored the animation tools in Fusion to

  • Explode the parts for individual viewing
  • Animate the parts to show how they fit together

The following video shows the animation for the gear assembly

Onshape

As a point of comparison with Fusion, I explored Onshape, which I have not used previously. I tried going through some of the official learning matrials from Onshape, as well as the learning pathway within the environment itself. These were not very helpful to me in trying to get started. They seem to be a good introduction or reminder for someone who is trasitioning with more extensive experience from another CAD tool, or as a reminder for someone who already knows Onshape. I did not discover a separate tutorial series that was a good fit for me.

So, I decided to try and work through the steps for the toy block development from Fusion, but figuring out how to do things in Onshape. I did try to find a similar toy block tutorial for Onshape. There were some, but they tended to be more confusing than helpful. In the end, I worked through steps of the previous Fusion tutorial, but searching out how to do those operations in Onshape.

I like the browser-based environment and the online-document type feel, but I found some of the navigation and operations to be more tricky than in Fusion. It seemed to be easier to mis-click in the interface and get off track, with more time spent trying to rectify. There is probably a way to do it, but a particular difference is that it seems more important to do patterning (rectangular patterning) within sketches in Onshape, whereas it is more straightforward to patten features in Fusion.

I followed the same basic steps as in the Fusion tutorial, with the following result

Toy block tutorial steps using Onshape

Project Design Files

For the activities toward the final project, following are the main design files.