Digital technologies/3D printing/3D modeling- Intermediate

From CEED Wiki
Jump to navigation Jump to search

TinkerCAD is nice for smaller parts with very little complexity. However, since it is not NURBS based nor parametric, it lacks major functionality. It is strongly suggested at this stage that TinkerCAD, Blender, Cinema 4D or other polygonal modelling (non-NURBS) applications be set aside for parametric CAD software, such as Autodesk Fusion 360 (free for students. teachers, and educators), Dassault Systèmes Solidworks (available through Remote Apps) or PTC OnShape (completely online, free for students and educators) be used for mechanical design, as models made with such software contain much richer data that allows going from CAD models to manufacturing data. Polygonal modelling remains, however, an important tool for Scan to CAD, and such the intermediate CAD user should have a complete understanding of polygonal modelling software such as TinkerCAD.

Complex Shapes in TinkerCAD

In the beginner section of 3D modeling, you learned how to group shapes together. In advanced TinkerCAD, you will use the skills you have gained to create more complex shapes. TinkerCAD provides you with basic geometries such as cubes and cylinders. You can combine these shapes to create more complex geometries such as a house using the group function. To create even more complicated designs, you can combine shapes to be used to create complex holes.

The example below will walk you through the making of a heart button. It will involve grouping shapes together in order to create a more complex shape and feature.

  1. Add a box shape to the workspace. Make sure the dimension of the box has the thickness of the desired button. This will serve as the point of the heart.
  2. Add two cylinders with the same thickness as the box to two edges of the box. Set the diameter of the cylinder as the width of the box. This will create the humps of the heart.
  3. Using the round roof object, size it to the appropriate dimension for the button hoop.
  4. Copy and paster a second round roof object and make it slightly smaller to be used to create the hole for the button hoop.
  5. Turn the object into a hole and position it accordingly.
  6. Finally, group the shapes together and the button is completed.

Design for 3D Printing

There are some important things to note when modeling for 3D printing. It is important to optimize the print by decreasing print time and material while ensuring accuracy and strength of the part.

  1. Divide your model into smaller more manageable parts. There are many designs with complex details or large dimensions that would be more manageable prints if split into multiple parts
  2. Try to ensure that there is one flat surface on the print. This will allow easier print set-up. The flat side can adhere to the build plate, minimizing the need for additional build plate adhesion.


If your design is to be used in (electro-)mechanical assemblies in which there are interfacing components, it is important that you understand three basic tolerancing concepts and to keep them in the back of your mind when modeling or more generally designing these assemblies.

  1. Form: The form of a part refers to the overall dimensions and the shape of the exterior surfaces of a component. Think of a flaw referring to form as a print that ended up not matching the base geometry that was used to create it in CAD due to adverse physical variables during the printing process. Examples follow:
    1. A sphere may end up slightly oval once printed due to improper cooling, etc.;
    2. A pillar might end up tilted to one side due to improper belt tension between the belt axes, etc.;
    3. A pin feature might end up too large to fit its mating hole due to the printer outputting too much material when producing the outer walls of the feature (the inverse can also be true).
  2. Position: Position refers to the distance separating a feature and an (ideally) meaningful reference (i.e.: the distance between a hole and the side of a part, or between two holes). Thankfully, flaws pertaining to position are rare on a properly tuned printer, as the printer does not have any information about existing references other than the build plate. If tuned properly, the printer will always print a feature at a position (X,Y,Z) distance relative to another feature, because that is what the gCode will tell it to do. You can imagine, however, that if the part is warped, the 'build plate reference' is no longer valid, and such, warped parts almost always have features out of position unless the meaningful reference (interfacing feature) used in the design is not the build plate. However, since the build plate reference is such an important one to define the Z position of features (for the printer, that is), making your meaningful reference something other than the build plate does not always guarantee you good positional tolerance independent of warping.
  3. Surface: The surface finish of a part is a rather complex subject. In 3D printing, and for typical applications of 3D printed parts, it mostly refers to the mean (statistical) difference between the height of cusps and valleys on a part and their deviation from that mean, at a macroscopic level. The most important consideration is that when 3D printing, most surface finishes are quite rough (deviate significantly from the mean), and thus are sanded down considerably to knock out the cusps left by the printer. This post processing can negatively affect the form of the final part.

Note that a proper mechanical fit between components demands a good tolerance on form, feature position, and surface finish, such that it is typically impossible to obtain a proper fit when 3D printing, and that if you are considering the 3D printing of critically interfacing components, 3D printing should not be used unless post processing is built into the design. For mechanical designs, you will notice that a main application is brackets. This is because brackets only need good positional tolerance on holes and mating faces, which 3D printing can almost always provide (the tolerance on form for holes is not that important since they are typically clearance holes). However, since some brackets are easily laser cut, 3D printing brackets is only done under certain specific conditions. It certainly has shown its commercial use in cost cutting by replacing intricate multi-part assemblies by generatively designed (we'll say computer generated for now) parts, as shown in the picture below.

A metal 3D printed generatively designed bracket (computer generated from load data, using Finite Element Analysis), likely replacing a multitude of other parts that would have been manufactured using traditional manufacturing methods which would lead to a heavier and more expensive bracket.[1]

CAD File Formats

In the beginner section of 3D modeling, you were introduced to TinkerCAD. In the instructions, you were instructed to export your 3D designs as a STL or OBJ file. In this section, the differences between different CAD file formats will be discussed.

Standard Triangle Language (*.STL)

STL files are the most used file format in 3D printing and 3D modeling. Most 3D printers support the file format. Many of the 3D printable models online are also found in STL file format. STL stands for stereolithography, a 3D printing process created at 3D Systems in the 1980s. STL file format encodes the surface geometry of a 3D object. This is done through tessellation, a process of tiling a surface with one or more geometric shapes so there are no overlaps or gaps. The basic method of tessellating the outer surface of 3D models is through the use of tiny triangles (called “facets”) and store information about the facets in a file. For example, in the figure below, it shows how a cube can be represented by 12 triangles while 17000+ triangles are needed to represent a sphere. Since triangles consist of three straight edges, it can be difficult to approximate curved geometries. To do so, mesh density is increased, and individual triangle’s size is decreased.

STL file format stores the information as the coordinates of the vertices and the components of the unit normal vector to the triangle. The normal vector point outwards of the 3D model.

There are a couple of rules for tessellation and storing information. The vertex rule states that each triangle must share two vertices with its neighbouring triangles.

The orientation rule states that the orientation of the facet must be specified in two ways. The direction of the normal should point outwards, and the vertices are listed in counter-clockwise when looking at the object from the outside.

The all-positive octant rule states that the coordinates of the triangle vertices must all be positive. This ensures that all coordinates stored would be in the positive which would save space in the file. Finally, the triangle sorting rule recommends that the triangles appear in ascending z-value order. This is a recommendation rather than a rule as it helps the software slice the models faster.

Wavefront OBJ (*.OBJ)

OBJ is a crucial file format in 3D printing. It is generally preferred for multi-colour 3D printing. Often, it is used a s an interchange format for non-animated 3D models. OBJ file format stores information about 3D models by encoding the surface geometry of the model. It also stores information about its colour and texture. It does not store any data about animations or scene. It is open source and neutral. Therefore, it is often used to share 3D models since many CAD software supports the format.

It differs from STL since it stores colour and texture information. STL is an older file format that is missing modern features. It does not support multi colour printing or high resolution prints. OBJ can approximate surface geometry well without drastically increasing the file size. It also supports multiple colours and textures in the same model.

OBJ encodes surface geometry of a 3D object in many different methods: Tessellation with polygonal faces, freeform curves and freeform surfaces. Similar to STL, OBJ allows tessellation of the surfaces with simple geometric shapes like triangles or more complex polygon. This is the simplest way to describe surface geometry. However, approximating curved surfaces with polygons will introduce coarseness and geometric deviation from the model. The size of the polygons can be decreased to increase the quality of the prints. However, this can lead to giant file sizes which can be difficult for 3D printers to handle. It is important to find the right balance between print quality and file sizes.

The surface geometry can also be defined using freeform curves. The user defines a collection of free form curves that runs along the surface of the model. The surface is then approximated using the collection of curves. It is more complicated than polygonal faces, but it allows for fewer data to describe the same surface. The curved lines can be described using freeform curves with a few mathematical parameters. It allows for higher quality encoding without drastically increasing the file size.

DS Solidworks Parts (*.SLDPRT) and DS Solidworks Assemblies (*.SLDASM)

Sldprt file formats are native SolidWorks file extensions. It provides details on specific parts within a system. This is a software specific file format. Opening SolidWorks files in slicers and other software may cause some corruption of your designs. However, because it is software specific, it contains the most information about your models. As such, you should do all your modeling while the files are in native format

ISO10303 - Standard for the Exchange of Product model data (*.STP, *.STEP)

STEP file format is a neutral file format. It is the most common file format used to share 3D designs. This allows users to open others’ designs using the software of their choice. It stores 3D images in an ASCII format. While STEP files can be opened with most CAD software. It is not easily edited. The model will display as a finalized object. Users cannot edit specific dimensions or features of the model.

Polygonal Formats

NURBS Formats

Standard

Software-Specific

  • DS Solidworks Parts (*.SLDPRT)
  • DS Solidworks Assemblies (*.SLDASM)
  • DS CATIA V5 Parts (*.CGR/*.CATPart)
  • DS CATIA V5 Assemblies (*.CGR/*.CATProduct)
  • PTC Creo Parts (*.PRT)
  • PTC Creo Assemblies (*.ASM)
  • Fusion 360 (*.F3D)

It should be noted that Fusion360 stores files on the cloud, such that locally saved .f3d files are not commonly encountered. It should also be noted that OnShape does not have a file format given it is hosted entirely on the cloud.

Using Parametric NURBS Software

References

  1. CarrusHome (2021). GM Explores 3D printing, generative design for next gen parts. Consulted on 05-05-2022 at https://www.carrushome.com/en/gm-explores-3d-printing-generative-design-for-next-gen-parts/