Skip to main content

Some thoughts on Modeling approaches

In CAD software, different approaches to modeling are used.

Most successful MCAD systems follow the feature-based approach, e.g. CATIA, Pro/Engineer, Inventor, SolidWorks, SolidEdge. In these systems, you define the complete modeling (design) history of a model or assembly of parts, by starting from a basic sketch (often 2D), which is constrained and made parametric and which is used for 3D model generation (extrusions, sweeps etc...). Further manipulations include blending, fusing and making holes. To change anything to the final product requires making changes in the history, but as long as the whole chain of events is maintained, it can be easily controlled with a chosen set of parameters.

From a CAD/modeling point-of-view, explicit modeling is an interesting approach. After the strong rise of the fully-parametric history-based modeling with features, people started to understand some of the limitations: to make minor adjustments, you have to dive into the modeling history tree, make adjustments and hope that the end result will come close to what was intended. But you have to work indirect.

An "Explicit" modeling approach removes the history tree and makes all modeling changes directly, on the end result.

Right now, the newer generation of the history-based systems introduce also some of the direct-modeling possibilities that "explicit" modeling uses, so you get a mixture of both.

These two approaches have their merits: generating parametric families of related parts, with the possibility of adapting to a chosen set of controls, seems the natural force of feature-based modeling, while direct manipulations of a model (possibly reverse-engineered) seems more natural with explicit modeling.

And what about Architectural CAD?

I guess that in the field of Architectural geometrical modeling, we are now in a transition period where many people embrace parametric geometric modeling, using systems such as Bentley Generative Components or Rhino+Grasshopper. And the whole core concepts of Revit are tied to this MCAD foundations (constraints, sketches, assemblies). Historically, the AEC CAD world has been one generation behind MCAD (at least in the approaches of CAD). We could thus assume that after the rise of these systems, some more "explicit" modeling approaches will be introduced.

In fact, the reason why SketchUp is so popular is the direct approach to modeling. You do not have to with the complexities that are inherent in BIM, but model how you want. That said, the ease-of-use of SketchUp is also its bottleneck: you can not make proper architectural model which carry full building information.

So where does that lead us? Be open-minded. Try to use different approaches. Try to apply them in your architectural design process. If the tool has at least some influence on the outcome, it might be good not to stick to a single tool. People working in SketchUp don't create the same designs as people using Rhino and certainly not when using Generative Components or Grasshopper. By trying CoCreate, or Inventor, or CATIA, you will learn at least a thing or two, which makes you more rich in how to tackle ideas and how to materialize them with CAD software.

Comments

Popular posts from this blog

Improve usage of BIM during early design phases

When I was collecting ideas for a book chapter on BIM (that seemed to never have emerged after that), I collected 10 ideas, which I believe still reflect good recommendations to improve the usage of BIM during the early design phases. These ideas are related to BIM software, but you can apply them in any flavor, as long as you can model with Building Elements, Spaces and have control over representation. Introduction This article gives an overview of several recommendations and tips, to better apply BIM applications and BIM methodologies, in the context of the early design phases. Many of these tips are applicable in any BIM application and they are based on experience gathered from teaching, researching and using BIM software. Sometimes they could help software developers to improve the workflow of their particular BIM implementation. Tip 1 : Gradually increase the amount of information In the early design phases, the architect makes assumptions and lays out the main design in...

PythonOCC : Open Source interactive CAD shell (and how to run it on OSX)

What is PythonOCC? PythonOCC is an Open Source (LGPL) Python-wrapper for OpenCASCADE. So what is OpenCASCADE (OCC)? This is an advanced Open Source (custom license) modeling kernel, comparable to commercial engines, such as ACIS or Parasolid, which are used in quite some commercial CAD programs. When you want to develop CAD software, you could use OCC and write programs in C++. And why using Python? With this wrapper, you can create CAD and geometry scripts in Python, which is an interpreted Object-oriented scripting language. You can write almost "on-the-fly" and seriously reduce the implementation effort, by skipping the compiling-phase. You can even interact with a running program in the Python interpreter. Want to read more about this? The OpenCASCADE official website  (currently Linux and Windows are officially supported) The PythonOCC website/blog  (beware that the core of the actions happen in the development repositories). So far so good. Now the nasty, techn...

Getting BIM data into Unity (Part 8 - Strategies to tackle IFC)

This is part 8 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss IFC as a transfer format towards Unity. As with the previous post, this is not a coding post, although hints and examples are provided. Open BIM and IFC Everybody who ever met me or heard me present on a conference or BIM-lecture will not be surprised to hear that I’m a strong believer in the Industry Foundation Classes (IFC), an open standard, with already two versions published as an ISO standard, being IFC2x2 and IFC4 (but surprisingly not IFC2x3 which is widely used). In the ideal world, this would be the format to use to transfer BIM data into another environment, such as Unity. So what are our options? Looking in the Unity Asset Store Assimp is a library which supports multiple formats, including IFC. https://assetstore.unity.com/packages/tools/modeling/trilib-unity-model-loader-package-91777   I did a few attempts, but alas without any success. It is po...