Backing Datastore

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Posts: 5
Joined: Wed May 02, 2018 12:58 pm

Backing Datastore

Postby nohspamjose » Wed Jul 10, 2019 10:06 pm

I am curious to know how CAD programs and FreeCAD in particular stores data?
Is it a relational DB, an object store, NoSQL, a structured file format or something else?
The reason I'm asking is that I've been exploring Graph Databases recently and there are some really useful features. They contain vertices (nodes or objects) and edges (links or relationships). I was just speculating whether CAD objects could benefit from this model. The architecture can manage mind boggling numbers of vertices and edges (into the billions), with little impact on the inherently speedy performance.

I was thinking the directed graph relationship model is a superset of hierarchical graphs and can deliver really sophisticated and fast query responses, so slicing and dicing the CAD model to show subsets or perspectives for any number of interesting dimensions, such as: functional, organisational, business, owner, manager, drafter, version, attribute, metadata, etc.

Just a thought. Is this something that's been explored already and if so, what were the conclusions?

One graph DB implementation is


Posts: 31986
Joined: Tue Mar 17, 2015 9:14 am

Re: Backing Datastore

Postby chrisb » Wed Jul 10, 2019 11:05 pm

FreeCAD files are zip containers. Inside you find XML files.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Posts: 2251
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Backing Datastore

Postby Jee-Bee » Thu Jul 11, 2019 5:26 am

and .brep files