How to assemble parts


I would like to know if the OpenCascade provides assembly functionality or not.

I was able to model parts. And I want to assemble the parts.

I appreciate your kind assistance.

Best regards,

Tae-wan Kim

Artem Chernetzov's picture

Yeas, I also want to know this. I can't find this information in documentation...

Sharjith Naramparambath's picture

As far as I know Assembly involves positioning and orienting the models you made in 3d space. That requires transformations, rotations and alignments to be done by the user.
This is what is done in CAD applications. Additionally there is constraining of the models with respect to either datums or other models to maintain positional relations. For interference checking in assemblies you may have to implement your own functionality.
Constraint solvers also may be required.
There is no direct packaged functions for Assembly in OCCT.

Hope this was helpful.

N. Sharjith

Marco Matt's picture

OpenCASCADE offers OCAF to manage assembly and part (along with their transformations).
OCAF doesn't handle constraining of the models with respect to either datums or other models. You have to implement your own functionality.

Svetlozar Kostadinov's picture

There is one russian constraint solver in 2d and 3d versions. Its samples are built over OCC, but the solver itself is not free. You can visit

Stephane Routelous's picture

FYI, a long time ago (in 1997) I integrated D-Cubed DCM2d with OpenCASCADE.


Artem Chernetzov's picture

Thanks very much for answers, but in simple words, can OCC make something like assemblies in Solid Works, where user design every single part, and then connect them in one big assembly... For example like this:, is it possible to make this parts, and then connect them in engine, only with OCC functions? Are the parts of engine in OCC terminology - solids, and engine - compound solid?...

Rob Bachrach's picture

Simply said, yes. OCC lets you create compounds and compound solids. You can include multiple instances of a part, each with a different transformation (in OCC, location). It is up to you to describe the transformations of all the parts needed to orient them in space.