How to Define Engineering CAD

emm0sh
5 min readJun 2, 2024

--

There is a lot of misunderstanding in the engineering industry around basic definitions of CAD (Parametric is notoriously guilty of being misrepresented).

I’d like to clearly define these meanings and what each CAD package employs.

Current Software Functionality Afforded by CAD Packages as of 2024Q2

The Chart

Red bad.

Blue good.

Green really good.

Yellow is “meh” or it’s a feature to be added soon, with a deliverable date.

Yellow with asterisk means it may be on the roadmap but I have not yet been able to confirm.

“Both” means that the software lets you choose to use the feature or not. Example: History free modeling mode in NX. This is a good thing.

Definitions

Definition: Engineering CAD

Engineering CAD is CAD that a Mechanical Engineer can use to engineer parts and assemblies. It’s important to note that there are very interesting CAD packages out there that have powerful kernels, but can’t qualify as Engineering CAD since they are unusable for a Mechanical Engineer that doesn’t also have software engineering expertise. For more context, see the “UI” section below.

Additionally: It must store geometry in Boundary Representation (BREP) in order to be manufacturable by industry standard machinery.

Definition: Parametric Modeling

This is not Parametric Modeling — it’s History Based modeling

This is, hands down, the biggest source of misunderstanding I have ever seen in my career as an engineer.

“Parametric Modeling” has been misunderstood for a long time. I do not blame engineers for using this term incorrectly, I instead blame the industry for not clarifying the exact meaning of this functionality.

Parametric Modeling is using parameters to define geometry that are defined independently of the geometry itself. You then use these parameters to define features that define a model.

Parametric modeling lets an engineer use parameters to drive geometry at both the assembly and component level. This is critical. Defining intra-component parameters is not parametric modeling as it defeats the purpose of parametric modeling.

Parametric Modeling is not History based modeling — you can have non-parametric history based modeling (Shapr3D as of Q1 2024 is an example of this).

Parametric Modeling is not Feature Based Modeling — you can use features to define a model that are non-sequential, non-history based, and non-parameter driven (Fusion360 in History Free mode is an example of this).

Definition: History Based

This is not to be confused with Parametric. This has caused myself and other engineers great pain in having discussions about CAD and its future.

Every CAD package that lets you roll back into the history (Think Feature Manager Design Tree in Solidworks or Model History in NX) and make changes is History Based. Most are. Some exceptions are: AutoCAD, BricsCAD, Plasticity or SketchUp.

Unfortunately, this is what most engineers typically mean when they say “Parametric Modeling”, and we are usually incorrect. Again — I am not criticizing engineers here, I’m criticizing the industry for not falling into standard nomenclature for all of this.

Definition: Direct Modeling

This example is Direct Modeling

The direct manipulation of existing geometry, or creation of new geometry without having to define parent sketches or curves.

Examples include move face, replace face or rotate face.

This is FreeCAD’s greatest weakness. Direct Modeling is required for complicated assemblies. If they choose to figure this out, they could become a serious contender in the CAD space.

Definition: Assemblies

Assemblies are a hierarchy of components. Plasticity and Shapr3D can mimic this behavior by having bodies in space that are organizable by folder, but you can’t have core inter-component functionality which means these softwares do not yet have assemblies.

An surprising example of assemblies would be AutoCAD’s External Reference (X-Ref) functionality. You can simulate an assembly hierarchy by having X-Refs of components within a higher level component. Changing the lower level components signals to the higher level assembly that something has changed, and you can update the X-Ref.

The most common example of Assembly functionality is the Assembly & Part paradigm utilized by Solidworks and Inventor.

Assembly functionality is critical to Engineering CAD as it enables multiple engineers to work on the same assembly simultaneously.

Assemblies also enable the creation of more complex assemblies by abstracting computation of features away via instantiation and simplified representation.

Definition: Drawings

Typical Part Drawing

These are the bedrock of Engineering — they’re how we create parts and assemblies in the real world. The more cynic Mechanical Engineers out there will say the sole purpose of an engineer is to produce good drawings.

Even if you are sending STEP files directly to CAM, you still need drawings to explain tolerancing, assembly and the BOM. The failure of MBD is for another article.

Definition: FEA

Finite Element Analysis — this is the difference between tinkering and engineering.

This is the least important feature in CAD anymore. Typically, you will want a more comprehensive package like Ansys or Abaqus for the hardcore stuff. You can get decent free single part static structural FEA in FreeCAD these days.

Definition: UI

A user interface exposes core CAD functionality (Chamfer, Extrude, Revolve, etc). It is a requirement for Engineering CAD, and causes exclusion from the list as “Engineering CAD” if not available.

This is a Living Document

The industry has dropped the ball on getting this terminology correct, and this article will too at first. I’m hoping that this can serve as a starting point for more discussion, and hopefully a spark for an industry wide consensus on what these terms actually mean. As these conversations take place, I will update this document.

Please reach out to me if you have additions, subtractions or contributions.

List of Corrections & Additions

Surfacing

The creator of Plasticity (a guilty engineering pleasure of mine) has pointed out surfacing is a part of the engineering CAD landscape and should be accounted for — and he is right. Surfacing will be added to the list.

Rhino

Apparently, Rhino is a BREP modeler. I will add this to the list.

--

--