Connect Open CASCADE with a DBMS.

Hi everybody

Anyone have any idea how to connect Open Cascade to an existing Database? Storing of OpenCASCADE objects in a DBMS?
Please help me out.

Thanks in advance.

Patrik Mueller's picture


depending on your needs you could store the objects in BLOBS. Or just store a reference to a BREP inside a string. There are more than enough possibilities but you have to define your needs more precise.



abhishek.ojha's picture

Thanks for reply...
I want to design an online connection of OpenCASCADE with a (possibly object oriented) database.
I want to do the following:
to Define a data structure and a concept for storing OpenCASCADE objects in a DBMS.
Which (available) DBMS are suited for an online connection with OpenCASCADE ?
What is the time behavior between CAD tool (OpenCASCADE) and DBMS?


Peter Dolbey's picture

Partrik's right about this - you need to define or specify why you want this behaviour. But to help, I think you first need to define your data model. The simplest way to do this is to define an XML schema that represents the vertex, wire, face, solid model behind a Topo_DS shape. If you want to then serialise this to a database then the best of doing this will depend on RDBMS you use. We use a third party work management application under Oracle that uses a key, blob type of table to store the XML payload. However, if you use MS SQL Server 2005, you can use an XML table type directly against which you can submit Xpath queries. Performance of database access will again depend on the application solution you take, both in terms of software design and physical architectures. If you want to interactively store model data to the database during construction, then the both the user interface and database transactional behaviour will suffer. I can see why you might need this type of application, in situations where you want to implement collaborative working. A simple model is to use you application as a cache, reading from and writing to the backend using File-Open/Save type commands. In this design, you should be able to design a database schema that gives little performance overhead over a using flat file. You could then use a Check-in/Check-out model to manage collaborations. Depends what you want really.