This page is really outdated, and here just for legacy.
The GEMC project will be using CADMesh, from GitHub , which looks really good, but I haven't tried it yet.
The old page at CERN (CAD and GEANT4) has not been updated since 1995.
It seems that the direct way to convert a CAD file (through some intermediate format) to GEANT4 is to use a tesselated geometry in GEANT4. This is OK for parts of the detector that do not see a lot of particles. It will lead to a very slow simulation for those parts of the detector that do see a lot of particles or particle showers, see also CAD-GDML document.
Methods I found:
inline G4LogicalVolume* ParseST(const G4String& name,
G4Material* medium,
G4Material* solid);
//
// Imports a tessellated geometry stored as STEP-Tools files
// 'name.geom' and 'name.tree'. It returns a pointer of a generated
// mother volume with 'medium' material associated, including the
// imported tessellated geometry with 'solid' material associated.
Until 2012, I had not come across any package that will go the other way, or some package that reads a GDML file and converts it to CAD. This would be useful for verifying a GEANT4 model build from GEANT4 primitives, which can then be checked in a CAD program and perhaps expanded using the tessellated solids. A new effort at IN2P3 in France is trying to accomplish this, see their website: CAD-GDML (http://cad-gdml.in2p3.fr) They are developing exactly what would be the most useful for everyone, a GDML module for FreeCad. I haven't had a chance to test this yet, but it looks very promising.
My old comment: "Anyone really good with AutoLisp should be able to create this? Or perhaps create a GDML input/output module for FreeCad?" is no longer needed!