That’s a post without a purpose, just a few notes on the things that were not crystal clear to me before. So, let’s go.

OpenCascade is full of mathematical gems that have not seen any changes for decades. That’s completely fine as the math is basically right or wrong. We do not expect changes in the fundamental things as otherwise how fundamental are they? The French developers of CAS.CADE left us a great legacy of numerical approaches to solving different geometric problems. However, adopting them for production use is sometimes hard. Here’s why:

Download Analysis Situs ver.1.1

It took half a year for the recent number of downloads to exceed the previous figure. And that means it’s the right time to release another version of Analysis Situs. Here is a brief digest of what happened since version 1.0 was published:


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:

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

With OpenCascade, how to do collision detection of 2 shapes? There may be several ways. One is to calculate their intersection and check…

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:

The common ground for these application areas is the ability to extract as much semantics from a dumb geometry as possible. While the foundation classes of Analysis Situs are well-proven (they have been used to develop…

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:

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.

Today let’s speak about the modelling kernels in general and the position of OpenCascade on this market.

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…

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