def createTrap(part,solid,material,px,py,pz,rot,displayMode) : from GDMLObjects import GDMLTrap, ViewProvider GDMLShared.trace("CreateTrap : ") GDMLShared.trace(solid.attrib) z = GDMLShared.getVal(solid,'z') x1 = GDMLShared.getVal(solid,'x1') x2 = GDMLShared.getVal(solid,'x2') x3 = GDMLShared.getVal(solid,'x3') x4 = GDMLShared.getVal(solid,'x4') y1 = GDMLShared.getVal(solid,'y1') y2 = GDMLShared.getVal(solid,'y2') theta = GDMLShared.getVal(solid,'theta') phi = GDMLShared.getVal(solid,'phi') alpha = GDMLShared.getVal(solid,'alpah1') aunit = getText(solid,'aunit','rad') lunit = getText(solid,'lunit',"mm") #print z #mytrap=volObj.newObject("Part::FeaturePython","GDMLTrap:"+getName(solid)) mytrap=part.newObject("Part::FeaturePython","GDMLTrap:"+getName(solid)) GDMLTrap(mytrap,z,theta,phi,x1,x2,x3,x4,y1,y2,alpha,aunit,lunit,material) GDMLShared.trace("Position : "+str(px)+','+str(py)+','+str(pz)) base = FreeCAD.Vector(0,0,0) mytrap.Placement = GDMLShared.processPlacement(base,rot) GDMLShared.trace(mytrap.Placement.Rotation) # set ViewProvider before setDisplay ViewProvider(mytrap.ViewObject) setDisplayMode(mytrap,displayMode) return mytrap
def Activated(self): from GDMLObjects import GDMLTrap, ViewProvider a=FreeCAD.ActiveDocument.addObject("Part::FeaturePython","GDMLTrap") print("GDMLTrap Object - added") # obj z, theta, phi, x1, x2, x3, x4, y1, y2, # pAlp2, aunits, lunits, material GDMLTrap(a,10.0,0.0,0.0,6.0,6.0,6.0,6.0,7.0,7.0,0.0,"rad","mm",0) print("GDMLTrap initiated") ViewProvider(a.ViewObject) print("GDMLTrap ViewProvided - added") FreeCAD.ActiveDocument.recompute() FreeCADGui.SendMsgToActiveView("ViewFit")