├── Mod ├── .gitignore ├── GDML.qrc ├── GDMLCommands.py ├── GDMLObjects.py ├── GDMLResources.py ├── GDMLShared.py ├── Init.py ├── InitGui.py ├── Resources │ ├── Default.gdml │ ├── GDML.qrc │ ├── compQRC.sh │ ├── icons │ │ ├── GDMLBoxFeature.svg │ │ ├── GDMLConeFeature.svg │ │ ├── GDMLElTubeFeature.svg │ │ ├── GDMLEllipsoidFeature.svg │ │ ├── GDMLSphereFeature.svg │ │ ├── GDMLTrapFeature.svg │ │ ├── GDMLTubeFeature.svg │ │ ├── GDMLWorkbench.svg │ │ ├── GDML_Compound.svg │ │ ├── GDML_Cycle.svg │ │ ├── GDML_Expand.svg │ │ ├── GDML_ExpandVol.svg │ │ ├── OpenSCAD_RefineShapeFeature.svg │ │ └── preferences-gdml.svg │ └── ui │ │ ├── GDML-base.backup │ │ ├── GDML-base.ui │ │ └── gdml-preferences │ │ ├── .gitignore │ │ ├── gdml-preferences.pro │ │ ├── main.cpp │ │ ├── main.qml │ │ └── qml.qrc ├── exportGDML.py ├── exportGDML.save ├── importGDML.py └── listBranches ├── README.md ├── SampleFiles ├── CERN │ ├── Alice │ │ ├── alice.gdml │ │ ├── l3doorR.gdml │ │ └── tpcDrift.gdml │ └── lhcbvelo.gdml ├── GDMLXtru_refLogicSol_50002.brep ├── GDMLXtru_refSol_50002.brep ├── GDMLXtru_reflectorSol_50002.brep ├── GDML_Booleans │ ├── intersection.gdml │ ├── subtraction.gdml │ └── union.gdml ├── GDML_Solids │ ├── ExportCone.gdml │ ├── ExportElTube.amf │ ├── ExportEllipsoid.gdml │ ├── exportElTube.gdml │ ├── exportTrap.gdml │ ├── g4box.gdml │ ├── g4cons.gdml │ ├── g4ellipsoid.gdml │ ├── g4ellipticalcone.gdml │ ├── g4ellipticaltube.gdml │ ├── g4hype.gdml │ ├── g4orb.gdml │ ├── g4para.gdml │ ├── g4polycone.gdml │ ├── g4polyhedra.gdml │ ├── g4sphere.gdml │ ├── g4tet.gdml │ ├── g4torus.gdml │ ├── g4trap.gdml │ ├── g4trd.gdml │ ├── g4tubs.gdml │ ├── g4twistedbox.gdml │ ├── g4twistedtrap.gdml │ ├── g4twistedtrd.gdml │ └── g4twistedtubs.gdml ├── PIPS2.gdml ├── annotated.gdml ├── assembly.gdml ├── cone.gdml ├── polycone.gdml ├── polycones.gdml ├── polyhedra.gdml ├── polyhedra2.gdml ├── polyhedra3.gdml ├── refLogicSol_50002.gdml ├── refSolSkin_50002.gdml ├── refSol_50002 ├── refSol_50002.gdml ├── tess2.gdml ├── tessellated.gdml ├── testA.FCStd ├── testStep2.gdml ├── xtru.gdml ├── xtru2.gdml ├── xtru3.gdml ├── xtru4.gdml ├── xtru5.gdml └── xtru6.gdml ├── Source_Icon_Designs ├── GDML_Box_mauve_blackline.svg ├── GDML_Compound.svg ├── GDML_Cut_Tube_mauve_blackline.svg ├── GDML_Cycle.svg ├── GDML_Ellipsoid_Mauve_blackline.svg ├── GDML_EllipticalTube_Mauve_blackline.svg ├── GDML_Expand.svg ├── GDML_ExpandVol.svg ├── GDML_Generic_Trapezoid_mauve_blackline.svg ├── GDML_Parallelepiped_Mauve_blackline.svg ├── GDML_Polycone_Mauve_blackline.svg ├── GDML_Polyhedra_Mauve_blackline.svg ├── GDML_Sphere_mauve.svg ├── GDML_Tetrahedra_Mauve_blackline.svg ├── GDML_Trapezoid_Mauve_blackline.svg ├── GDML_Tube_mauve_blackline.svg └── Note ├── cpysvg ├── notes └── note1.txt ├── softLinks ├── softLinksMac └── softLinksMac2 /Mod/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /Mod/GDML.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | ui/openscadprefs-base.ui 4 | ui/GDML-base.ui 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Mod/GDMLShared.py: -------------------------------------------------------------------------------- 1 | # Shared file 2 | # single access to globals 3 | # anything requiring access to globals needs to call a function in this file 4 | # anything needing to call eval needs to be in this file 5 | 6 | from math import * 7 | import FreeCAD, Part 8 | 9 | printverbose = False 10 | 11 | global define 12 | 13 | def trace(s): 14 | if printverbose == True : print(s) 15 | 16 | def setDefine(val) : 17 | print("Set Define") 18 | global define 19 | define = val 20 | 21 | def processConstants(doc): 22 | # all of math must be imported at global level 23 | trace("Process Constants") 24 | constantGrp = doc.addObject("App::DocumentObjectGroupPython","Constants") 25 | from GDMLObjects import GDMLconstant 26 | for cdefine in define.findall('constant') : 27 | #print cdefine.attrib 28 | name = str(cdefine.attrib.get('name')) 29 | print('name : '+name) 30 | value = cdefine.attrib.get('value') 31 | print('value : '+ value) 32 | #constDict[name] = value 33 | print(name) 34 | #print(dir(name)) 35 | globals()[name] = eval(value) 36 | constObj = constantGrp.newObject("App::DocumentObjectGroupPython", \ 37 | name) 38 | GDMLconstant(constObj,name,value) 39 | #print("Globals") 40 | #print(globals()) 41 | 42 | def getVal(ptr,var,vtype = 1) : 43 | # vtype 1 - float vtype 2 int 44 | # get value for var variable var 45 | # all of math must be imported at global level 46 | #print ptr.attrib 47 | # is the variable defined in passed attribute 48 | if var in ptr.attrib : 49 | # if yes get its value 50 | vval = ptr.attrib.get(var) 51 | print("vval : "+str(vval)) 52 | if vval[0] == '&' : # Is this refering to an HTML entity constant 53 | chkval = vval[1:] 54 | else : 55 | chkval = vval 56 | # check if defined as a constant 57 | #if vval in constDict : 58 | # c = constDict.get(vval) 59 | # #print c 60 | # return(eval(c)) 61 | # 62 | #else : 63 | print("chkval : "+str(chkval)) 64 | if vtype == 1 : 65 | ret = float(eval(chkval)) 66 | else : 67 | ret = int(eval(chkval)) 68 | print('return value : '+str(ret)) 69 | return(ret) 70 | else : 71 | if vtype == 1 : 72 | return (0.0) 73 | else : 74 | return(0) 75 | 76 | # get ref e.g name world, solidref, materialref 77 | def getRef(ptr, name) : 78 | wrk = ptr.find(name) 79 | if wrk != None : 80 | ref = wrk.get('ref') 81 | trace(name + ' : ' + ref) 82 | return ref 83 | return wrk 84 | 85 | 86 | def processPlacement(base,rot) : 87 | # Different Objects will have adjusted base GDML-FreeCAD 88 | # rot is rotation or None if default 89 | # set angle & axis in case not set by rotation attribute 90 | #axis = FreeCAD.Vector(1,0,0) 91 | #angle = 0 92 | Xangle = Yangle = Zangle = 0.0 93 | if rot != None : 94 | trace("Rotation : ") 95 | trace(rot.attrib) 96 | if 'y' in rot.attrib : 97 | #axis = FreeCAD.Vector(0,1,0) 98 | Yangle = float(eval(rot.attrib['y'])) 99 | if 'x' in rot.attrib : 100 | #axis = FreeCAD.Vector(1,0,0) 101 | Xangle = float(eval(rot.attrib['x'])) 102 | if 'z' in rot.attrib : 103 | #axis = FreeCAD.Vector(0,0,1) 104 | Zangle = float(eval(rot.attrib['z'])) 105 | rot = FreeCAD.Rotation(Zangle,Yangle,Xangle) 106 | else : 107 | rot = FreeCAD.Rotation(0,0,0) 108 | place = FreeCAD.Placement(base,rot) 109 | return place 110 | 111 | # Return a FreeCAD placement for positionref & rotateref 112 | def getPlacementFromRefs(ptr) : 113 | trace("getPlacementFromRef") 114 | pos = define.find("position[@name='%s']" % getRef(ptr,'positionref')) 115 | trace(pos) 116 | base = FreeCAD.Vector(0.0,0.0,0.0) 117 | if pos != None : 118 | trace(pos.attrib) 119 | x = getVal(pos,'x') 120 | trace(x) 121 | y = getVal(pos,'y') 122 | z = getVal(pos,'z') 123 | base = FreeCAD.Vector(x,y,z) 124 | rot = define.find("rotation[@name='%s']" % getRef(ptr,'rotationref')) 125 | return(processPlacement(base,rot)) 126 | 127 | 128 | def getVertex(v): 129 | print("Vertex") 130 | #print(dir(v)) 131 | pos = define.find("position[@name='%s']" % v) 132 | #print("Position") 133 | #print(dir(pos)) 134 | x = getVal(pos,'x') 135 | print('x : '+str(x)) 136 | y = getVal(pos,'y') 137 | print('y : '+str(y)) 138 | z = getVal(pos,'z') 139 | print('z : '+str(z)) 140 | return(FreeCAD.Vector(x,y,z)) 141 | 142 | def triangle(v1,v2,v3) : 143 | # passsed vertex return face 144 | fc1 = getVertex(v1) 145 | fc2 = getVertex(v2) 146 | fc3 = getVertex(v3) 147 | w1 = Part.makePolygon([fc1,fc2,fc3,fc1]) 148 | f1 = Part.Face(w1) 149 | return(f1) 150 | 151 | def quad(v1,v2,v3,v4) : 152 | # passsed vertex return face 153 | fc1 = getVertex(v1) 154 | fc2 = getVertex(v2) 155 | fc3 = getVertex(v3) 156 | fc4 = getVertex(v4) 157 | w1 = Part.makePolygon([fc1,fc2,fc3,fc4,fc1]) 158 | f1 = Part.Face(w1) 159 | return(f1) 160 | 161 | -------------------------------------------------------------------------------- /Mod/Init.py: -------------------------------------------------------------------------------- 1 | FreeCAD.addImportType("GDML (*.gdml)","importGDML") 2 | FreeCAD.addExportType("GDML (*.gdml)","exportGDML") 3 | FreeCAD.addExportType("GDML (*.GDML)","exportGDML") 4 | -------------------------------------------------------------------------------- /Mod/InitGui.py: -------------------------------------------------------------------------------- 1 | # GDML wrkbench gui init module 2 | # 3 | # Gathering all the information to start FreeCAD 4 | # This is the second one of three init scripts, the third one 5 | # runs when the gui is up 6 | 7 | #*************************************************************************** 8 | #* (c) Juergen Riegel (juergen.riegel@web.de) 2002 * 9 | #* * 10 | #* This file is part of the FreeCAD CAx development system. * 11 | #* * 12 | #* This program is free software; you can redistribute it and/or modify * 13 | #* it under the terms of the GNU Lesser General Public License (LGPL) * 14 | #* as published by the Free Software Foundation; either version 2 of * 15 | #* the License, or (at your option) any later version. * 16 | #* for detail see the LICENCE text file. * 17 | #* * 18 | #* FreeCAD is distributed in the hope that it will be useful, * 19 | #* but WITHOUT ANY WARRANTY; without even the implied warranty of * 20 | #* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 21 | #* GNU Lesser General Public License for more details. * 22 | #* * 23 | #* You should have received a copy of the GNU Library General Public * 24 | #* License along with FreeCAD; if not, write to the Free Software * 25 | #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * 26 | #* USA * 27 | #* * 28 | #* Juergen Riegel 2002 * 29 | #* * 30 | #* Also copyright Keith Sloan * 31 | #***************************************************************************/ 32 | 33 | #import FreeCAD 34 | from FreeCAD import * 35 | import PartGui 36 | import GDMLCommands, GDMLResources 37 | 38 | def processDefault(doc) : 39 | from importGDML import processGDML 40 | processGDML(doc,FreeCAD.getResourceDir() + \ 41 | "Mod/GDML/Resources/Default.gdml",False) 42 | 43 | class GDML_Workbench ( Workbench ): 44 | 45 | class MyObserver(): 46 | def __init__(self): 47 | self.signal = [] 48 | 49 | def slotCreatedDocument(self, doc): 50 | from importGDML import processGDML 51 | processGDML(doc,FreeCAD.getResourceDir() + \ 52 | "Mod/GDML/Resources/Default.gdml",False) 53 | 54 | "GDML workbench object" 55 | def __init__(self): 56 | self.__class__.Icon = FreeCAD.getResourceDir() + "Mod/GDML/Resources/icons/GDMLWorkbench.svg" 57 | self.__class__.MenuText = "GDML" 58 | self.__class__.ToolTip = "GDML workbench" 59 | 60 | def Initialize(self): 61 | def QT_TRANSLATE_NOOP(scope, text): 62 | return text 63 | 64 | #import GDMLCommands, GDMLResources 65 | commands=['CycleCommand','ExpandCommand', \ 66 | 'BoxCommand','ConeCommand','ElTubeCommand', \ 67 | 'EllipsoidCommand','SphereCommand', \ 68 | 'TrapCommand','TubeCommand','AddCompound'] 69 | toolbarcommands=['CycleCommand','ExpandCommand', \ 70 | 'BoxCommand','ConeCommand', \ 71 | 'ElTubeCommand', 'EllipsoidCommand','SphereCommand', \ 72 | 'TrapCommand','TubeCommand','AddCompound'] 73 | 74 | parttoolbarcommands = ['Part_Cut','Part_Fuse','Part_Common'] 75 | 76 | self.appendToolbar(QT_TRANSLATE_NOOP('Workbench','GDMLTools'),toolbarcommands) 77 | self.appendMenu('GDML',commands) 78 | self.appendToolbar(QT_TRANSLATE_NOOP('Workbech','GDML Part tools'),parttoolbarcommands) 79 | ResourcePath = FreeCAD.getHomePath() + "Mod/GDML/Resources/" 80 | print("Resource Path : "+ResourcePath) 81 | #FreeCADGui.addIconPath(FreeCAD.getResourceDir() + \ 82 | #FreeCADGui.addIconPath(":/icons") 83 | FreeCADGui.addIconPath(ResourcePath + "icons") 84 | #FreeCADGui.addLanguagePath(":/translations") 85 | FreeCADGui.addLanguagePath(ResourcePath + "/translations") 86 | FreeCADGui.addPreferencePage(ResourcePath + "/ui/GDML-base.ui","GDML") 87 | 88 | def Activated(self): 89 | "This function is executed when the workbench is activated" 90 | print ("Activated") 91 | self.obs = self.MyObserver() 92 | App.addDocumentObserver(self.obs) 93 | doc = FreeCAD.activeDocument() 94 | if doc != None : 95 | #print(dir(doc)) 96 | if len(doc.Objects) > 0 : 97 | if doc.Objects[0].Name != "Constants" : 98 | #self.processDefault(doc) 99 | #processDefault(doc) 100 | self.MyObserver.slotCreatedDocument(self,doc) 101 | else : 102 | self.MyObserver.slotCreatedDocument(self,doc) 103 | return 104 | 105 | def Deactivated(self): 106 | "This function is executed when the workbench is deactivated" 107 | App.removeDocumentObserver(self.obs) 108 | return 109 | 110 | def GetClassName(self): 111 | return "Gui::PythonWorkbench" 112 | 113 | Gui.addWorkbench(GDML_Workbench()) 114 | 115 | -------------------------------------------------------------------------------- /Mod/Resources/Default.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /Mod/Resources/GDML.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | icons/preferences-gdml.svg 4 | ui/openscadprefs-base.ui 5 | ui/GDML-base.ui 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Mod/Resources/compQRC.sh: -------------------------------------------------------------------------------- 1 | pyside-rcc -py3 -o ../GDMLResources.py GDML.qrc 2 | 3 | -------------------------------------------------------------------------------- /Mod/Resources/icons/GDML_Compound.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 86 | C 96 | -------------------------------------------------------------------------------- /Mod/Resources/icons/GDML_Cycle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 12 | 14 | 16 | 25 | 32 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /Mod/Resources/icons/GDML_Expand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 86 | E 100 | -------------------------------------------------------------------------------- /Mod/Resources/icons/GDML_ExpandVol.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 86 | E 100 | -------------------------------------------------------------------------------- /Mod/Resources/ui/GDML-base.backup: -------------------------------------------------------------------------------- 1 |  2 | 3 | Gui::Dialog::DlgSettingsGDML 4 | 5 | 6 | 7 | 0 8 | 0 9 | 575 10 | 629 11 | 12 | 13 | 14 | General settings 15 | 16 | 17 | 18 | 6 19 | 20 | 21 | 9 22 | 23 | 24 | 25 | 26 | General GDML Settings 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | Print debug information in the Console 35 | 36 | 37 | printVerbose 38 | 39 | 40 | Mod/GDML 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Mod/Resources/ui/GDML-base.ui: -------------------------------------------------------------------------------- 1 |  2 | 3 | Gui::Dialog::DlgSettingsGDML 4 | 5 | 6 | 7 | 0 8 | 0 9 | 575 10 | 629 11 | 12 | 13 | 14 | General settings 15 | 16 | 17 | 18 | 6 19 | 20 | 21 | 9 22 | 23 | 24 | 25 | 26 | General GDML Settings 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | Print debug information in the Console 35 | 36 | 37 | printVerbose 38 | 39 | 40 | Mod/GDML 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Mod/Resources/ui/gdml-preferences/.gitignore: -------------------------------------------------------------------------------- 1 | # This file is used to ignore files which are generated 2 | # ---------------------------------------------------------------------------- 3 | 4 | *~ 5 | *.autosave 6 | *.a 7 | *.core 8 | *.moc 9 | *.o 10 | *.obj 11 | *.orig 12 | *.rej 13 | *.so 14 | *.so.* 15 | *_pch.h.cpp 16 | *_resource.rc 17 | *.qm 18 | .#* 19 | *.*# 20 | core 21 | !core/ 22 | tags 23 | .DS_Store 24 | .directory 25 | *.debug 26 | Makefile* 27 | *.prl 28 | *.app 29 | moc_*.cpp 30 | ui_*.h 31 | qrc_*.cpp 32 | Thumbs.db 33 | *.res 34 | *.rc 35 | /.qmake.cache 36 | /.qmake.stash 37 | 38 | # qtcreator generated files 39 | *.pro.user* 40 | 41 | # xemacs temporary files 42 | *.flc 43 | 44 | # Vim temporary files 45 | .*.swp 46 | 47 | # Visual Studio generated files 48 | *.ib_pdb_index 49 | *.idb 50 | *.ilk 51 | *.pdb 52 | *.sln 53 | *.suo 54 | *.vcproj 55 | *vcproj.*.*.user 56 | *.ncb 57 | *.sdf 58 | *.opensdf 59 | *.vcxproj 60 | *vcxproj.* 61 | 62 | # MinGW generated files 63 | *.Debug 64 | *.Release 65 | 66 | # Python byte code 67 | *.pyc 68 | 69 | # Binaries 70 | # -------- 71 | *.dll 72 | *.exe 73 | 74 | -------------------------------------------------------------------------------- /Mod/Resources/ui/gdml-preferences/gdml-preferences.pro: -------------------------------------------------------------------------------- 1 | QT += quick 2 | CONFIG += c++11 3 | 4 | # The following define makes your compiler emit warnings if you use 5 | # any feature of Qt which as been marked deprecated (the exact warnings 6 | # depend on your compiler). Please consult the documentation of the 7 | # deprecated API in order to know how to port your code away from it. 8 | DEFINES += QT_DEPRECATED_WARNINGS 9 | 10 | # You can also make your code fail to compile if you use deprecated APIs. 11 | # In order to do so, uncomment the following line. 12 | # You can also select to disable deprecated APIs only up to a certain version of Qt. 13 | #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 14 | 15 | SOURCES += main.cpp 16 | 17 | RESOURCES += qml.qrc 18 | 19 | # Additional import path used to resolve QML modules in Qt Creator's code model 20 | QML_IMPORT_PATH = 21 | 22 | # Additional import path used to resolve QML modules just for Qt Quick Designer 23 | QML_DESIGNER_IMPORT_PATH = 24 | 25 | # Default rules for deployment. 26 | qnx: target.path = /tmp/$${TARGET}/bin 27 | else: unix:!android: target.path = /opt/$${TARGET}/bin 28 | !isEmpty(target.path): INSTALLS += target 29 | -------------------------------------------------------------------------------- /Mod/Resources/ui/gdml-preferences/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(int argc, char *argv[]) 5 | { 6 | QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 7 | 8 | QGuiApplication app(argc, argv); 9 | 10 | QQmlApplicationEngine engine; 11 | engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); 12 | if (engine.rootObjects().isEmpty()) 13 | return -1; 14 | 15 | return app.exec(); 16 | } 17 | -------------------------------------------------------------------------------- /Mod/Resources/ui/gdml-preferences/main.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 2.9 2 | import QtQuick.Window 2.2 3 | 4 | Window { 5 | visible: true 6 | width: 640 7 | height: 480 8 | title: qsTr("Hello World") 9 | } 10 | -------------------------------------------------------------------------------- /Mod/Resources/ui/gdml-preferences/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | main.qml 4 | 5 | 6 | -------------------------------------------------------------------------------- /Mod/listBranches: -------------------------------------------------------------------------------- 1 | eval "$( 2 | git for-each-ref --shell --format \ 3 | "git --no-pager log -1 --date=iso --format='%%ad '%(align:left,25)%(refname:short)%(end)' %%h %%s' \$(git merge-base %(refname:short) master);" \ 4 | refs/heads 5 | )" | sort 6 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Booleans/intersection.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 76 | 77 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Booleans/subtraction.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 76 | 77 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Booleans/union.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 76 | 77 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/ExportCone.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 |

126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/ExportElTube.amf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KeithSloan/FreeCAD_Python_GDML/288d740824182604f7663981edfe9461a41da0bf/SampleFiles/GDML_Solids/ExportElTube.amf -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/ExportEllipsoid.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 |

126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/exportElTube.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 |

126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/exportTrap.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 |

126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4box.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4cons.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4ellipsoid.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4ellipticalcone.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4ellipticaltube.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4hype.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4orb.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4para.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4polycone.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4polyhedra.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4sphere.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4tet.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4torus.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4trap.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4trd.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4tubs.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4twistedbox.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4twistedtrap.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4twistedtrd.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/GDML_Solids/g4twistedtubs.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /SampleFiles/PIPS2.gdml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 72 | 74 | 76 | 78 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | -------------------------------------------------------------------------------- /SampleFiles/annotated.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 76 | 77 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | -------------------------------------------------------------------------------- /SampleFiles/assembly.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /SampleFiles/cone.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /SampleFiles/polycone.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /SampleFiles/polycones.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /SampleFiles/polyhedra.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /SampleFiles/polyhedra2.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /SampleFiles/polyhedra3.gdml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /SampleFiles/testA.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KeithSloan/FreeCAD_Python_GDML/288d740824182604f7663981edfe9461a41da0bf/SampleFiles/testA.FCStd -------------------------------------------------------------------------------- /Source_Icon_Designs/GDML_Compound.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 86 | C 96 | -------------------------------------------------------------------------------- /Source_Icon_Designs/GDML_Cycle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 12 | 14 | 16 | 25 | 32 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /Source_Icon_Designs/GDML_Expand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 86 | E 100 | -------------------------------------------------------------------------------- /Source_Icon_Designs/GDML_ExpandVol.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 86 | E 100 | -------------------------------------------------------------------------------- /Source_Icon_Designs/Note: -------------------------------------------------------------------------------- 1 | Original icon designs by Jim Austin 2 | Only changes for FreeCAD_GDML are filenames 3 | -------------------------------------------------------------------------------- /cpysvg: -------------------------------------------------------------------------------- 1 | src=$(pwd)/Source_Icon_Designs 2 | trg=$(pwd)/Mod/Resources/icons 3 | #cp $src/GDML_Box_mauve_blackline.svg $trg/GDMLBoxFeature.svg 4 | #cp $src/GDML_Polycone_Mauve_blackline.svg $trg/GDMLConeFeature.svg 5 | #cp $src/GDML_Ellipsoid_Mauve_blackline.svg $trg/GDMLEllipsoidFeature.svg 6 | #cp $src/GDML_EllipticalTube_Mauve_blackline.svg $trg/GDMLElTubeFeature.svg 7 | #cp $src/GDML_Sphere_mauve.svg $trg/GDMLSphereFeature.svg 8 | #cp $src/GDML_Generic_Trapezoid_mauve_blackline.svg $trg/GDMLTrapFeature.svg 9 | #cp $src/GDML_Cut_Tube_mauve_blackline.svg $trg/GDMLTubeFeature.svg 10 | cp $src/GDML_Compound.svg $trg/GDML_Compound.svg 11 | cp $src/GDML_ExpandVol.svg $trg/GDML_ExpandVol.svg 12 | -------------------------------------------------------------------------------- /notes/note1.txt: -------------------------------------------------------------------------------- 1 | GDML NodeIDMap exceeds largest available size limit 2 | Geometry, Fields and Transportation 3 | swissco67 4 | 6d 5 | 6 | I am using FastRad to export the model geometry as GDML. 7 | I load the model geometry in GEANT4 using parser.Read(gdml_file_name). 8 | 9 | I am getting the error below that I can resolve by removing a large number of smaller size 10 | objects (screws, washers, etc.) in the model and slimming the file size down. 11 | 12 | I’m concerned to remove too many objects and am getting less shielding than expected. 13 | Is there any option to increase this max. size limitation? 14 | 15 | G4GDML: VALIDATION ERROR! NodeIDMap exceeds largest available size at line: 1968809 16 | Segmentation fault (core dumped) 17 | 18 | created 19 | 6d 20 | last reply 21 | 5d 22 | 3 23 | replies 24 | 26 25 | views 26 | 2 27 | users 28 | 29 | evc 30 | 6d 31 | 32 | To fix the issue it is required to modify one line of code in the official XercesC DOM parser to extend the size of the attributes table which is used for loading the structure. 33 | 34 | In the file: 35 | 36 | xerces-c/src/xercesc/dom/impl/DOMNodeIDMap.cpp 37 | 38 | replace line #33 with this: 39 | 40 | static const XMLSize_t gPrimes[] = {997, 9973, 99991, 999983, 9999991, 99999989, 0 }; // To do - add a few more. 41 | 42 | Then re-compile and re-install XercesC in your system. 43 | swissco67 44 | 5d 45 | 46 | I tried this and it helped somewhat. 47 | I created slimmed down versions of my model in 5 stages. 48 | The default xerces compile only worked with the smallest (most objects removed) version 5. 49 | The updated xerces compile worked with version 5 and 4 but when trying with version 3, the run started ok and didn’t report the VALIDATION ERROR but then after a short time the run just stopped with the following message 50 | ... G4GDML: Reading definitions... G4GDML: Reading definitions... Killed 51 | 52 | no idea if that is another problem - maybe running out of memory on my virtual machine? 53 | evc 54 | 5d 55 | 56 | No idea, never seen it before… possibly it is corrupted gdml structure. 57 | 58 | -------------------------------------------------------------------------------- /softLinks: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Need to make excutable chmod +x softLinks 3 | src=$(pwd) 4 | tgt1="/usr/lib/freecad" 5 | res1="/usr/share/freecad" 6 | 7 | tgt2="/usr/lib/freecad-daily" 8 | sudo rm -rf $tgt1/Mod/GDML 9 | sudo rm -rf $res1/Mod/GDML 10 | sudo ln -s $src/Mod $tgt1/Mod/GDML 11 | sudo ln -s $src/Mod $res1/Mod/GDML 12 | sudo rm -rf $tgt2/Mod/GDML 13 | sudo ln -s $src/Mod $tgt2/Mod/GDML 14 | -------------------------------------------------------------------------------- /softLinksMac: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Need to make excutable chmod +x softLinks 3 | src1=$(pwd) 4 | src2="/usr/local/lib/python3.6/site-packages" 5 | tgt1="/Applications/FreeCAD.app/Contents/Resources" 6 | tgt2="/Applications/FreeCAD.app/Contents/Resources/lib/python3.6/site-packages" 7 | sudo rm -rf $tgt1/Mod/GDML 8 | sudo ln -s $src1/Mod $tgt1/Mod/GDML 9 | echo sudo ln -s $src/Mod $tgt1/Mod/GDML 10 | sudo rm -rf $tgt2/lxml 11 | sudo ln -s $src2/lxml $tgt2/lxml 12 | echo sudo ln -s $src2/lxml $tgt2/lxml 13 | 14 | -------------------------------------------------------------------------------- /softLinksMac2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Need to make excutable chmod +x softLinks 3 | src=$(pwd) 4 | #src2="/usr/local/lib/python3.7/site-packages" 5 | src2="/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages" 6 | tgt1="/Applications/FreeCAD.app/Contents/Resources" 7 | tgt2="/Applications/FreeCAD.app/Contents/Resources/lib/python3.6/site-packages" 8 | sudo rm -rf $tgt1/Mod/GDML 9 | sudo ln -s $src/Mod $tgt1/Mod/GDML 10 | echo sudo ln -s $src/Mod $tgt1/Mod/GDML 11 | echo sudo ln -s $src2/lxml $tgt2/lxml 12 | sudo rm -rf $tgt2/lxml 13 | sudo ln -s $src2/lxml $tgt2/lxml 14 | --------------------------------------------------------------------------------