Skip to content

Week 2 - Computer-Aided Design


Assignment - 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.

From Assignment Details.


Conclusions

This week, I used Rhino and OnShape, GIMP and Inkscape.

Which is a mixture of Raster and Vector, Parametric and Drafting type tools.

Initially, I made this graph:

Compare Software

But this wasn’t the full story. Inkscape and GIMP are fully open, you can see all the source code, and edit it as you wish. People make many plugins that allow for e.g., GIMP to do batch processing, and Inkscape to do parametric path effects. Inkscape allows you to inspect the XML behind your drawings from the GUI, and both have command lines.

Grasshopper is a no-code/low-code plugin for Rhino, so even though it is proprietry software. It is extensible and parametric through this interface (I didn’t focus on Grasshopper this week).

OnShape has a variety of free and paid add-ons that bring a lot of additional functionality also.

These four are well-established tools, with their own specialities. Though general experience in a lot of tools is more useful. You can push these a little bit further, but it is useful to know when to try another tool!

Sections


GIMP

GIMP is a free and open source Image Manipulation Program. I used it for compressing photos and images to use in documentation.

GIMP

Basic tools include crop, or Shift + C, GIMP crop icon, and, from the top menu, Image > Scale Image.

GIMP crop GIMP scale image

Use File > Export As... to see further dialogue about compression. For a Jpeg, you can choose how much to compress as well as more advanced compression settings. Use the preview option to see the effect of the compression.

GIMP export options

Conclusion

In order to improve this workflow, I will try the following. The Squoosh App is very visual, and you can see a preview of each image. The Batcher plugin - work in GIMP, do a whole folder at a time, and use GIMP GUI to template the action and you are in the GIMP application already, for bespoke work, eg annotaion, overlays, preparation of high-quality hero images. Ffmpeg, command line tool, very powerful, use on images and video and can highly automate your workflow.
Links:


Inkscape

Inkscape

Inkscape is a graphical vector editor, it is free and open source.

Tools are on the left, file-related icons on the top row, Snap settings minimised on the right, and a swatch of colours along the bottom (right-click for stroke/fill options), and a little widget that allows you to set Colour, Line Weight and Opacity on the bottom left.

Inkscape

The interface has dockable panels on the right, that allow you to configure tools and make it easy to change tool and drawing settings while you work.

  • Layers (at the top of the Layers menu)
  • Fill and Stroke (Object menu)
  • Align and Distribute (at the end of the Object menu)
  • Transform (Object menu)
  • Arrange (Object menu)
  • Text and Font (Text menu)

1: Shape Builder

Inkscape

Shortcut: X

  • Select a number of closed, overlapping paths. Pay attention to the tip bar at the bottom as to what geometry type you have selected.
  • Click and Drag the mouse between overlapping areas to intersect and union them.
  • Hold the Shift modifier to make a negative region and delete it.
  • Press Enter to apply or ESC to go back.

2. Outline Stroke

Use Path > Stroke to Path to expand a line to a vector of its thickness. It applies dashes and line thicknesses. Use with the Shape Builder to manage your intersections, and get the desired effect.

Or the Caligraphy Pen tool, this allows you to create freehand outlined strokes. Use Path > Union if there are any creases in the corners.

This technique can make this sort of image:

Inkscape

Download: fingerprint.svg


Rhino

The first task I set myself was to draw up an existing part. It aligns to my final project, which is a glue. (This is an antique from the Print Making department in the Art College).

All Parts All Parts

Learn to use a callipers and the Vernier Scale for extra accuracy.

All Parts All Parts

Roller Pin

Roller Pin

The screwhead is a cylindrical extrusion that is then heavily filleted to create the curve. Then the slot is subtracted.

The commands for this were:

  • _Circle. Type diameter of screwhead.
  • _Rotate, and then rotate on the Green axis, 90º. Or use the Gumball. Use _Move if you need to move it to the centre again. The mouse snaps to centre points. Make sure you have snaps on and Centre enabled.
  • _ExtrudeCrv, and you can type the distance. _Cap, or use the Solid option to close the shape.
  • _FilletEdge, and type the radius. It will be less than or equal to the extrusion distance.

Screw Endview

However, this slot is a little wider at the top. So I went back a step, and used Scale1D to make the shape a little more widge-like. Scale1D takes a startpoint, an endpoint and from that it takes the vector to apply a non-uniform scale, then you can type a number to scale to or click something to match.

Screw Scale 1D

Then, Boolean_Difference, select screwhead, then Enter/Spacebar/Right-Click, and then the negative space of the slot, and then accept again.

Strap

The strap is a bent bar of metal with a threaded hole for the handle, and holes to hold the roller.

This has fillets on bends, and fillets laterally on the end corners. I used _Sweep1, with a Rail and a Cross-sectional profile. Then _Cap. Then _Fillet Edge. This was applied a number of times to get the final shape.

Strap Sweep Rails

Sweep1 Roadlike

Handle

The Handle is axial, and based on the Rhino _Revolve command.

Handle Revolve

There were two features added by the lathe. This was created by subtracting two Toruses (_Circle, and _Pipe).

Handle Pipe Better

And, move to join the assembly. Follow Centre Snaps to make sure the parts line up.

Too big: Handle Too Big

…Try again: Handle Better

And with Fillet: Handle With Fillet

Assemble together: Handle Move

Wingnut Design

Vertical bars in this model are to be threaded (not done in this model). Wingnuts, threaded on the inside, tightens down the material stack.

This is a basic version of this part. Base and shaft to fit M8. Three wings at 120º to allow the nut be worked manually.

Wingnut Sketch

The wings are drawn as a cross-section joined with a handled curve, extruded to thickness, and copied and rotated around the central axis (I used the _ArrayPolar command in this case, but _Rotate with the Copy option could do the same).

To avoid these gaps, move the extrusion towards the centre before copying.

Wingnut Gaps

Use the Gumball Widget to move the extrusion, or adjust the points of the curve in plane. (The blue and green grid in this case).

Gumball

Files


OnShape

Parametric Dome

Variables

Variables Icon

You can make Variables and use them (“after” == below in model tree structure). You can call variables instead of measurements and numbers (eg. of sides of a polygon). Type # followed by the variable name. As you type, it will prompt available variables.

Using Variables in a Sketch

Using Variables in a Sketch

However, let’s declare these variables in the Variable Studio. Create it with the + icon beside your drawing tabs.

Variable Studio

Variables on this table have document-wide scope. So, we can use the same variable in the sides of our part, as well as the pattern in our assembly.

Single Facet

Circular Pattern

Hinge Constraint

Hinge Constraint With Limits

Circular Pattern

Note: sides variable not updated!

Export Settings

These were not the original intention, but we can still export a .3MF and get it to slice in PrusaSlicer!

It opens! It Slices!

Next Approach

I will make a construction sphere and then project a circular pattern on its surface. Or use a Flow Along a Surface command.

Make a Sphere, Step 1 Make a Sphere, Step 2 Flow on a Sphere, Step 3

2. Getting a DXF into OnShape

Used the MeArm project (V3.0).

Can't see anything

Started by using the + icon to import the .DXF file from the computer. Found the DXF viewer unusable. Ignored.

Icon DXF Import

Basic DXF Import

Started a new sketch, and used the icon above the screen to import a DXF straight into the open sketch.

Some features (tabs for the laser cutter) break the DXF lines, and I ended up redrawing those lines. Overlapping edges, better for material use, make it more difficult to isolate individual parts. So, I end up duplicating a new sketch, and creating a new body for each part. This can be done in the same parts work bench, as long as you’re careful to make new bodies each time.

A new nomenclature is required. I chose "Strut_Straight80082", for the 80mm x 8.2mm plain straight strut.

Bezier Metaball

The elbow connector required more than just tracing. I drew the basic centre-line construction, used circles, and experimented with this metaball-like technique with bezier curves (used a tangent constraint at the tangent, and only a single handle point, to ensure perfect smoothness. I constrained the handle to the midpoint of the construction line, but this was just laziness. You could, if you wanted, build another construction line perpendicular, and use it to define a weight for the bezier.)

Bezier Icon Tangent Constraint bezier metaball elbow connector

Mating The Components to Make the full Assembly

Mate 1 Mate 2

All Files