This section describes the general methodology used to create digital models of 3D objects and visualise them on a PC display.
It also includes a brief description of the first mechanical CAD tools, based on this methodology.
A solid object is visualized on a display-screen by creating a 3D model using an app
and rendering the 3D model to the 2D screen.
The rendering is always accelerated by a dedicated 3D graphics processor.
The modeling is done at a very low level to make the rendering process efficient.
Any 3D object is described as a connected set of 3D surfaces.
A 3D surface is represented as a set of 3D triangle (location and orientation) units.
Camera viewing parameters are specified.
The oriented 3D triangle is associated with a corresponding 2D triangle on a 2D image called a texture.
Lighting conditions are specified with one or more light sources.
3D model-editing tools are available to create an oriented 3D triangle-mesh representation of any 3D object.
Examples are Maya and 3D Studio Max.
A more recent development for better surface modelling is the use of Non-uniform rational B-spline surfaces (NURBS). NURBS are a mathematical concept that can be used to represent mathematically smooth 3D curved surfaces. A tool provides the design the ability to model a surface using NURBS, then converts the NURBS surface using camera parameters and other inouts provided by designer to a 3D triangle mesh to be renedered as a surface in the existing rendering pipeline.
All rendering is done by a dedicated GPU that is included in an SOC (in addition to a CPU)
or by an externally connected GPU.
Rendering is done, broadly speaking in one of two ways:
a) Texture-mapping
The oriented 3D triangle is mapped to a planar 2D triangle based on camera parameters.
A corresponding triangle in its associated texture is mapped onto this planar 2D triangle.
Lighting-conditions control the final display of each planar 2D triangle.
The display of these planar 2D triangles is ordered,
either using a (hardware) Z-plane buffer that orders the planar 2D triangles on a pixel py pixel basis based on their corresponding Z-coordinates,
or by software depth-sorting -- ordering the triangles first and then sequencing the rendering operation.
b) Ray-tracing
Ray-tracing, starts with the same model, including a 2D texture
associated with an oriented 3D triangle.
Instead, of texture mapping and illumination control,
it traces the path of each light-ray from each-lighting source from the source to the camera
after multiple reflections from oriented 3D triangles in the scene and their associated surface textures.
This is a more realistic visualisation of a real-world object, but far more computationally expensive.
Ray-tacing based rendering is typically done offline and is not designed for real-time 3D animation.
Unlike conventional 3D renderers, modern ray-tracers can operate directly on NURBS based 3D surface representations.
This provides for very realistic renderings of very smooth surfaces at any given resolution.
Modern GPUs have started targeting better ray-tracing efficiency.
For example dedicated processing cores (like NVIDIA's RT Cores and AMD's Ray Accelerators) have started being used.
Solidworks-Desktop by Dassault Systems and Autodesk-Alias by Autodesk
are 2 commonly used apps for design specification of structural-assemblies.
Both apps are designed for Windows.
Parasolid Designer by Siemens, is a more recent SDK that can be used to programmatically create a design specification of a structural assembly. Several newer tools, such as Solidworks, OnShape, Shapr3D, SolidEdge, IronCAD and Alibre use this SDK as an underlying modelling and visualisation framework.
In a mechanical CAD tool, a design is specified as a collection of 3D objects connected together.
Libraries of existing specifications for commonly used design-objects are included in these tools.
The design is initially described as a boundary representatain (BREP), consisting of a set of connected surfaces. Each surface is described as a tesselated mesh of flat triangles in 3D.
A 3D surface is designed as a mathematically smooth NURBS for more complex or organic shapes or, for simpler and more common shapes, a tesselated mesh of flat oriented triangles.
The tool makes it convenient to design such meshes for the most common use-cases.
Following a structural description, surface materials and finishes are specified for the surfaces in the model.
The app translates the model to a format for a 3D rendering API, such as DirectX, OpenGL and Metal.
The app provides the user with visualisation controls and renders the design using a GPU.
These tools also provide convenient connections to Computer Aided Manufacturing ( CAM ) tools.
Both tools have been in use for over 25 years. The Parasolid SDK was introduced by Siemens about 10 years after the first 2 tool introductions.
Solidworks-Desktop was the first solid-object design tool,
Autodesk-Alias was released 4 years later ( in 1999 ).
Autodesk Alias is used to design innovative products and communicate ideas in a visual medium from 2D sketch to 3D form, and from conceptual models to production-level data.
$2510 USD / Year