Development of a root-compatible GDML module for FreeCAD


I would like to know if someone around here would be interested in the development of the GDML module for FreeCAD, and if so, is willing to support this endeavor some way. I have been working on the geometry for the LS2 ALICE upgrade and realized that this feature would be beneficial not only to this project, but other users of ROOT.

There is this initial work by Emmanuel Delage who ported basic GDML import and export on FreeCAD followed by a recent port of his work on the latest version of FreeCAD by Keith Sloan. There is some refinement to do, such as increasing the supported primitives and implementing boolean operations.

I wonder if those interested in getting GDML input and output on FreeCAD would join an organized effort to put the module on a working condition. I would like to hear some thoughts.

Best regards,


Hi Rafael,

In ROOT we support TGeo <-> GDML interface, but there is also a TGeo -> STEP converter. I know that people are interested a lot in CAD->ROOT conversions, so I’m sure the ROOT users would benefit from such development. If there was such FreeCAD GDML extension, ROOT would benefit from it out of the box. I cannot join myself an effort on this module, but I would support any changes needed on TGeoManager side for compatibility purpose.


Hi Agheata,

Thanks for your reply. For my application, that is processing large amounts of data from LHC acquired by the ALICE detector, it seems that root already has what is needed. I have successfully imported a simple GDML file into the detector. On the other hand, I’ve read some demands to have tesselated solids implemented into ROOT’s TGeo, so that ROOT would be able to import STEP files.

However my understanding is that tesselated solid description downgrades calculation performance thus making it unsuitable for high throughput applications. Does it proceed?



I installed FreeCAD with GDML module from here ( and now I have a button “write GDML file”. But when pressing it, module tries to open some file. What file it tries to open and how i can create GDML file from opened STEP file?