Lathe machines are commonly used for manufacturing because of their relatively low cost and inherent simplicity of the process. At the same time, lathes are often combined with milling that serves as a post-process for finishing up a turned workpiece with non-rotational features.


There are several questions you might want to ask looking at a turned part at hand:

  • What is the envelope swept by this turned piece when rotating? That is something you might need for collision checks, e.g. …

I’ve been messing around with StackOverflow topics related to OpenCascade and found quite some interesting questions there. There are not so many, and definitely SO is not the right place to search for OCC community help. But people keep asking questions, and I could not resist the impulse of trying to answer them. Although this blog is definitely not the right place to answer OCC questions either!

So here is my “golden list” as of June 2021:

Question 1: about collision detection

Feature recognition on CAD models is a tough topic. This is where Analysis Situs finds its niche thanks to the availability of basic shape interrogation and matching algorithms. There are different feature types and different application areas for feature recognition, including, but not limited to:

  1. Manufacturability analysis.
  2. Direct editing of CAD models.
  3. CAD model simplification and idealization for numerical simulations (CAE).

Sometimes we want to do things that are completely opposite to canonical recognition, i.e., to convert nice analytical shapes to splines. There are several circumstances when you might need such a trick. What I could recall from practice is the following:

  1. Lack of robustness in modelling algorithms for the special analytic cases. As you might know, a typical CAD engine…

This article is mostly a recording of the corresponding CAD programming lesson we published on our youtube channel. In this series, we cover the basic aspects of the geometric modelling discipline and give an introduction to the OpenCascade library from a practical perspective.

Introduction to OpenCascade and CAD modelling engines.
Some interesting CAD kernels.

OpenCascade is not alone, and if we list all other CAD kernels, we will get just a handful of libraries, which deserve some discussion, all written in C/C++ language. ACIS and Parasolid are…

Well, it took quite a while for the new release to come. As promised, I was waiting for the recent number of downloads to reach the previous release figure. And then waited even more, because the number of new features was not satisfying enough. I was also thinking to surround these dry and boring release notes with some comments so that it becomes more like a status update. That’s the idea I stole from Chris Taylor and his Kanoogi gaming platform.

You can download Analysis Situs 1.0.0 on its landing page as usual.


Yep, we have it now. Only for…

In the previous article, we emphasized the importance of modeling with clean and concise 3D primitives. To put it short, prefer analytical shapes whenever possible if you are going to recognize any features or pass your shape through the direct editing algorithms, such as push/pull.

Non-analytical surface types for the drilled holes.

Too often though, we have to deal with someone else’s data that’s composed of all sorts of excessive splines. To give such models a new breath of life, the analytical geometries should be recovered back from their freeform counterparts. It is generally wise to give analytical recognition a shot whenever you’re scanning your model for…

Is there anything in common between the Computer-Aided Design and game development industries? Can we, as the CAD devs, learn from the gamedev community?

I have never been quite interested in the gaming industry per se. However, CAD and gaming seem to share a common backbone, which is apparently computer graphics and, to some extent, simulation. Another remarkable aspect of games is the efficiency in using computational power. To have a high FPS, you cannot afford to write inefficient code. Not surprisingly, gamedev is full of best practices, tricks, and secrets on how to make the best out of your…

Quick note: Contact us if you’re looking for a sheet metal unfolding algorithm.

In our previous articles, we covered different aspects of a sheet metal unfolding algorithm. We started off by giving a brief overview of the principle and software packages implementing it. The second part was more mathematical. We explained how to unroll cylindrical bends without deformations using the approximation utilities of the OpenCascade open-source library. The third part was mainly devoted to applying a K-factor for obtaining realistic bend compensation elongations.

Surprisingly enough, the unfolding algorithm is a deep subject. To confess, I did not see much complexity…

In the OpenCascade kernel, you have certain flexibility in the organization of a topology graph for your model. In particular, it is possible to reuse boundary elements, for example, by replicating the same face many times in a CAD part with different transformation matrices. While such a possibility may look flexible and is, indeed, useful in certain circumstances, it opens the door for tricky issues which are hard to debug. …

Analysis Situs

Open-source CAD platform:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store