Difference between revisions of "Digital technologies/3D printing/3D modeling- Intermediate"

From CEED Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
TinkerCAD is nice for smaller parts with very little complexity. However, since it is not [https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline NURBS] based nor parametric, it lacks major functionality. It is strongly suggested at this stage that TinkerCAD, Blender, Cinema 4D or other [https://en.wikipedia.org/wiki/Polygonal_modeling polygonal modelling] (non-NURBS) applications be set aside for parametric CAD software, such as [https://www.autodesk.ca/en/products/fusion-360 Autodesk Fusion 360] ([https://www.autodesk.ca/en/products/fusion-360/students-teachers-educators free for students. teachers, and educators]), [https://www.solidworks.com/ Dassault Systèmes Solidworks] (available through Remote Apps) or [https://www.onshape.com/en/ 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.
 
TinkerCAD is nice for smaller parts with very little complexity. However, since it is not [https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline NURBS] based nor parametric, it lacks major functionality. It is strongly suggested at this stage that TinkerCAD, Blender, Cinema 4D or other [https://en.wikipedia.org/wiki/Polygonal_modeling polygonal modelling] (non-NURBS) applications be set aside for parametric CAD software, such as [https://www.autodesk.ca/en/products/fusion-360 Autodesk Fusion 360] ([https://www.autodesk.ca/en/products/fusion-360/students-teachers-educators free for students. teachers, and educators]), [https://www.solidworks.com/ Dassault Systèmes Solidworks] (available through Remote Apps) or [https://www.onshape.com/en/ 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.
  
==[[Digital technologies/3D printing/3D modeling- Intermediate/TinkerCAD (contd.)|TinkerCAD (contd.)]]==
+
==[[Digital technologies/3D printing/3D modeling- Intermediate/TinkerCAD (contd.)|Complex Shapes in TinkerCAD]]==
  
 
== [[Digital technologies/3D printing/3D modeling- Intermediate/Design for 3D Printing|Design for 3D Printing]] ==
 
== [[Digital technologies/3D printing/3D modeling- Intermediate/Design for 3D Printing|Design for 3D Printing]] ==
Line 16: Line 16:
 
[[File:Design for 3D Printing Generatively Designed Bracket.jpg|center|thumb|600x600px|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.<ref>CarrusHome (2021). GM Explores 3D printing, generative design for next gen parts. Consulted on 05-05-2022 at <nowiki>https://www.carrushome.com/en/gm-explores-3d-printing-generative-design-for-next-gen-parts/</nowiki></ref>]]
 
[[File:Design for 3D Printing Generatively Designed Bracket.jpg|center|thumb|600x600px|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.<ref>CarrusHome (2021). GM Explores 3D printing, generative design for next gen parts. Consulted on 05-05-2022 at <nowiki>https://www.carrushome.com/en/gm-explores-3d-printing-generative-design-for-next-gen-parts/</nowiki></ref>]]
  
==[[Digital technologies/3D printing/3D modeling- Intermediate/CAD Extensions|CAD Extensions]]==
+
==[[Digital technologies/3D printing/3D modeling- Intermediate/CAD Extensions|CAD File Formats]] ==
The following are extensions for common polygonal and NURBS 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.
 +
 
 +
=== [https://en.wikipedia.org/wiki/STL_(file_format) 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 <ins>the </ins>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.
 +
 
 +
=== [https://en.wikipedia.org/wiki/Wavefront_.obj_file 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
 +
 
 +
=== [https://en.wikipedia.org/wiki/ISO_10303 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===
 
===Polygonal Formats===

Revision as of 21:29, 21 August 2023

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

Design for 3D Printing

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/