Esempio n. 1
0
def createPolycone(part,solid,material,px,py,pz,rot,displayMode) :
    from GDMLObjects import GDMLPolycone, GDMLzplane, \
            ViewProvider, ViewProviderExtension
    GDMLShared.trace("Create Polycone : ")
    GDMLShared.trace(solid.attrib)
    startphi = GDMLShared.getVal(solid,'startphi')
    deltaphi = GDMLShared.getVal(solid,'deltaphi')
    aunit = getText(solid,'aunit','rad')
    lunit = getText(solid,'lunit',"mm")
    #mypolycone=volObj.newObject("Part::FeaturePython","GDMLPolycone:"+getName(solid))
    mypolycone=part.newObject("Part::FeaturePython","GDMLPolycone:"+getName(solid))
    mypolycone.addExtension("App::OriginGroupExtensionPython", None)
    GDMLPolycone(mypolycone,startphi,deltaphi,aunit,lunit,material)
    ViewProviderExtension(mypolycone.ViewObject)

    #mypolycone.ViewObject.DisplayMode = "Shaded"
    GDMLShared.trace(solid.findall('zplane'))
    for zplane in solid.findall('zplane') : 
        GDMLShared.trace(zplane)
        rmin = GDMLShared.getVal(zplane,'rmin')
        rmax = GDMLShared.getVal(zplane,'rmax')
        z = GDMLShared.getVal(zplane,'z')
        myzplane=FreeCAD.ActiveDocument.addObject('App::FeaturePython','zplane') 
        mypolycone.addObject(myzplane)
        #myzplane=mypolycone.newObject('App::FeaturePython','zplane') 
        GDMLzplane(myzplane,rmin,rmax,z)
        ViewProvider(myzplane)

    GDMLShared.trace("Position : "+str(px)+','+str(py)+','+str(pz))
    base = FreeCAD.Vector(0,0,0)
    mypolycone.Placement = GDMLShared.processPlacement(base,rot)
    GDMLShared.trace(mypolycone.Placement.Rotation)
    # set ViewProvider before setDisplay
    setDisplayMode(mypolycone,displayMode)
    return mypolycone
Esempio n. 2
0
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
Esempio n. 3
0
def createCone(part, solid, material, px, py, pz, rot, displayMode):
    from GDMLObjects import GDMLCone, ViewProvider
    GDMLShared.trace("CreateCone : ")
    GDMLShared.trace(solid.attrib)
    rmin1 = GDMLShared.getVal(solid, 'rmin1')
    rmax1 = GDMLShared.getVal(solid, 'rmax1')
    rmin2 = GDMLShared.getVal(solid, 'rmin2')
    rmax2 = GDMLShared.getVal(solid, 'rmax2')
    z = GDMLShared.getVal(solid, 'z')
    startphi = GDMLShared.getVal(solid, 'startphi')
    deltaphi = GDMLShared.getVal(solid, 'deltaphi')
    aunit = getText(solid, 'aunit', 'rad')
    lunit = getText(solid, 'lunit', "mm")
    mycone = part.newObject("Part::FeaturePython",
                            "GDMLCone:" + getName(solid))
    GDMLCone(mycone,rmin1,rmax1,rmin2,rmax2,z, \
             startphi,deltaphi,aunit,lunit,material)
    GDMLShared.trace("CreateCone : ")
    GDMLShared.trace("Position : " + str(px) + ',' + str(py) + ',' + str(pz))
    base = FreeCAD.Vector(px, py, pz)
    mycone.Placement = GDMLShared.processPlacement(base, rot)
    GDMLShared.trace(mycone.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(mycone.ViewObject)
    setDisplayMode(mycone, displayMode)
    return (mycone)
Esempio n. 4
0
def createTube(part,solid,material,px,py,pz,rot,displayMode) :
    from GDMLObjects import GDMLTube, ViewProvider
    GDMLShared.trace("CreateTube : ")
    GDMLShared.trace(solid.attrib)
    rmin = GDMLShared.getVal(solid,'rmin')
    rmax = GDMLShared.getVal(solid,'rmax')
    z = GDMLShared.getVal(solid,'z')
    startphi = GDMLShared.getVal(solid,'startphi')
    deltaphi = GDMLShared.getVal(solid,'deltaphi')
    aunit = getText(solid,'aunit','rad')
    lunit = getText(solid,'lunit',"mm")
    GDMLShared.trace(rmin)
    GDMLShared.trace(rmax)
    GDMLShared.trace(z)
    #mytube=volObj.newObject("Part::FeaturePython","GDMLTube:"+getName(solid))
    mytube=part.newObject("Part::FeaturePython","GDMLTube:"+getName(solid))
    GDMLTube(mytube,rmin,rmax,z,startphi,deltaphi,aunit,lunit,material)
    GDMLShared.trace("Position : "+str(px)+','+str(py)+','+str(pz))
    base = FreeCAD.Vector(0,0,0)
    #base = FreeCAD.Vector(px,py,pz)
    mytube.Placement = GDMLShared.processPlacement(base,rot)
    GDMLShared.trace(mytube.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(mytube.ViewObject)
    setDisplayMode(mytube,displayMode)
    return mytube
Esempio n. 5
0
def createXtru(part, solid, material, px, py, pz, rot, displayMode):
    from GDMLObjects import GDMLXtru, GDML2dVertex, GDMLSection, \
             ViewProvider, ViewProviderExtension
    GDMLShared.trace("CreateXtru : ")
    #print(solid)
    #print(getName(solid))
    myXtru = part.newObject("Part::FeaturePython",
                            "GDMLXtru-" + getName(solid))
    #myXtru.addExtension("App::OriginGroupExtensionPython", None)
    lunit = getText(solid, 'lunit', "mm")
    GDMLXtru(myXtru, lunit, material)
    ViewProviderExtension(myXtru.ViewObject)
    for vert2d in solid.findall('twoDimVertex'):
        x = GDMLShared.getVal(vert2d, 'x')
        y = GDMLShared.getVal(vert2d, 'y')
        my2dVert = FreeCAD.ActiveDocument.addObject('App::FeaturePython',
                                                    'GDML2DVertex')
        #myzplane=mypolycone.newObject('App::FeaturePython','zplane')
        GDML2dVertex(my2dVert, x, y)
        myXtru.addObject(my2dVert)
        ViewProvider(my2dVert)
    for section in solid.findall('section'):
        zOrder = GDMLShared.getVal(section, 'zOrder', 2)  # Get Int
        zPosition = GDMLShared.getVal(section, 'zPosition', 2)  # Get Int
        xOffset = GDMLShared.getVal(section, 'xOffset')
        yOffset = GDMLShared.getVal(section, 'yOffset')
        scalingFactor = GDMLShared.getVal(section, 'scalingFactor')
        mysection = FreeCAD.ActiveDocument.addObject('App::FeaturePython',
                                                     'GDMLSection')
        GDMLSection(mysection, zOrder, zPosition, xOffset, yOffset,
                    scalingFactor)
        myXtru.addObject(mysection)
        ViewProvider(mysection)

    GDMLShared.trace("Position : " + str(px) + ',' + str(py) + ',' + str(pz))
    base = FreeCAD.Vector(0, 0, 0)
    #base = FreeCAD.Vector(px,py,pz)
    myXtru.Placement = GDMLShared.processPlacement(base, rot)
    GDMLShared.trace(myXtru.Placement.Rotation)
    # Shape is still Null at this point
    #print("Xtru Shape : ")
    #print("Is Null : "+str(myXtru.Shape.isNull()))
    return (myXtru)
Esempio n. 6
0
def createGDMLBox(volref, solid, material):
    from GDMLObjects import GDMLBox, ViewProvider
    print "CreateBox : "
    mybox = FreeCAD.ActiveDocument.addObject("Part::FeaturePython", "GDMLBox")
    x = solid.GetXHalfLength() * 2
    y = solid.GetYHalfLength() * 2
    z = solid.GetZHalfLength() * 2
    GDMLBox(mybox, x, y, z, "mm", material)
    ViewProvider(mybox.ViewObject)
    return mybox
Esempio n. 7
0
 def Activated(self):
     from GDMLObjects import GDMLBox, ViewProvider
     a = FreeCAD.ActiveDocument.addObject("Part::FeaturePython", "GDMLBox")
     print("GDMLBox Object - added")
     # obj, x, y, z, lunits, material
     GDMLBox(a, 10.0, 10.0, 10.0, "mm", "SSteel")
     print("GDMLBox initiated")
     ViewProvider(a.ViewObject)
     print("GDMLBox ViewProvided - added")
     FreeCAD.ActiveDocument.recompute()
     FreeCADGui.SendMsgToActiveView("ViewFit")
Esempio n. 8
0
 def Activated(self):
     from GDMLObjects import GDMLCone, ViewProvider
     a = FreeCAD.ActiveDocument.addObject("Part::FeaturePython", "GDMLCone")
     print("GDMLCone Object - added")
     #  obj,rmin1,rmax1,rmin2,rmax2,z,startphi,deltaphi,aunit,lunits,material
     GDMLCone(a, 1, 3, 4, 7, 10.0, 0, 2, "rads", "mm", "SSteal")
     print("GDMLCone initiated")
     ViewProvider(a.ViewObject)
     print("GDMLCone ViewProvided - added")
     FreeCAD.ActiveDocument.recompute()
     FreeCADGui.SendMsgToActiveView("ViewFit")
Esempio n. 9
0
 def Activated(self):
     from GDMLObjects import GDMLTube, ViewProvider
     a = FreeCAD.ActiveDocument.addObject("Part::FeaturePython", "GDMLTube")
     print("GDMLTube Object - added")
     # obj, rmin, rmax, z, startphi, deltaphi, aunit, lunits, material
     GDMLTube(a, 5.0, 8.0, 10.0, 0.52, 1.57, "rad", "mm", "SSteel")
     print("GDMLTube initiated")
     ViewProvider(a.ViewObject)
     print("GDMLTube ViewProvided - added")
     FreeCAD.ActiveDocument.recompute()
     FreeCADGui.SendMsgToActiveView("ViewFit")
Esempio n. 10
0
def createTessellated(part, solid, material, px, py, pz, rot, displayMode):
    from GDMLObjects import GDMLTessellated, GDMLTriangular, \
            GDMLQuadrangular,  ViewProvider, ViewProviderExtension
    GDMLShared.trace("CreateTessellated : ")
    GDMLShared.trace(solid.attrib)
    myTess = part.newObject("Part::FeaturePython",
                            "GDMLTessellated:" + getName(solid))
    #myTess.addExtension("App::OriginGroupExtensionPython", None)
    GDMLTessellated(myTess, material)
    ViewProviderExtension(myTess.ViewObject)
    ViewProvider(myTess.ViewObject)
    for elem in solid.getchildren():
        print(elem)
        v1 = elem.attrib['vertex1']
        v2 = elem.attrib['vertex2']
        v3 = elem.attrib['vertex3']
        vType = elem.attrib['type']
        if elem.tag == 'triangular':
            myTri = FreeCAD.ActiveDocument.addObject('App::FeaturePython',
                                                     'GDMLTriangle')
            GDMLTriangular(myTri, v1, v2, v3, vType)
            myTess.addObject(myTri)
            ViewProvider(myTri)

        if elem.tag == 'quadrangular':
            v4 = elem.attrib['vertex4']
            myQuad = FreeCAD.ActiveDocument.addObject('App::FeaturePython',
                                                      'GDMLQuadrangular')
            GDMLQuadrangular(myQuad, v1, v2, v3, v4, vType)
            myTess.addObject(myQuad)
            ViewProvider(myQuad)

    GDMLShared.trace("Position : " + str(px) + ',' + str(py) + ',' + str(pz))
    #base = FreeCAD.Vector(px,py,pz)
    base = FreeCAD.Vector(0, 0, 0)
    myTess.Placement = GDMLShared.processPlacement(base, rot)
    GDMLShared.trace(myTess.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(myTess.ViewObject)
    setDisplayMode(myTess, displayMode)
    return myTess
Esempio n. 11
0
 def Activated(self):
     from GDMLObjects import GDMLElTube, ViewProvider
     a=FreeCAD.ActiveDocument.addObject("Part::FeaturePython", \
               "GDMLElTube")
     print("GDMLElTube Object - added")
     #  obj,dx, dy, dz, lunit, material
     GDMLElTube(a,10,20,30,"mm",0)
     print("GDMLElTube initiated")
     ViewProvider(a.ViewObject)
     print("GDMLElTube ViewProvided - added")
     FreeCAD.ActiveDocument.recompute()
     FreeCADGui.SendMsgToActiveView("ViewFit")
Esempio n. 12
0
 def Activated(self):
     from GDMLObjects import GDMLEllipsoid, ViewProvider
     a=FreeCAD.ActiveDocument.addObject("Part::FeaturePython", \
               "GDMLEllipsoid")
     print("GDMLEllipsoid Object - added")
     #  obj,ax, by, cz, zcut1, zcut2, lunit,material
     GDMLEllipsoid(a,10,20,30,0,0,"mm",0)
     print("GDMLEllipsoid initiated")
     ViewProvider(a.ViewObject)
     print("GDMLEllipsoid ViewProvided - added")
     FreeCAD.ActiveDocument.recompute()
     FreeCADGui.SendMsgToActiveView("ViewFit")
Esempio n. 13
0
 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")
Esempio n. 14
0
 def Activated(self):
     from GDMLObjects import GDMLSphere, ViewProvider
     a=FreeCAD.ActiveDocument.addObject("Part::FeaturePython","GDMLSphere")
     print("GDMLSphere Object - added")
     # obj, rmin, rmax, startphi, deltaphi, starttheta, deltatheta,
     #       aunit, lunits, material
     GDMLSphere(a,10.0, 20.0, 0.0, 2.02, 0.0, 2.02,"rad","mm",0)
     print("GDMLSphere initiated")
     ViewProvider(a.ViewObject)
     print("GDMLSphere ViewProvided - added")
     FreeCAD.ActiveDocument.recompute()
     FreeCADGui.SendMsgToActiveView("ViewFit")
Esempio n. 15
0
def createGDMLTube(volref, solid, material):
    from GDMLObjects import GDMLTube, ViewProvider
    print "CreateTube : "
    mytube = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",
                                              "GDMLTube")
    rmin = solid.GetInnerRadius()
    rmax = solid.GetOuterRadius()
    z = solid.GetZHalfLength() * 2
    startphi = solid.GetStartPhiAngle()
    deltaphi = solid.GetDeltaPhiAngle()
    GDMLTube(mytube,rmin,rmax,z,startphi,deltaphi, \
            "rad","mm",material)
    print("GDMLTube initiated")
    ViewProvider(mytube.ViewObject)
    print("GDMLTube ViewProvided - added")
    return (mytube)
Esempio n. 16
0
def createGDMLSphere(volref, solid, material):
    from GDMLObjects import GDMLSphere, ViewProvider
    print "CreateSphere : "
    mysphere = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",
                                                "GDMLSphere")
    rmin = solid.GetInsideRadius()
    rmax = solid.GetOuterRadius()
    startphi = solid.GetStartPhiAngle()
    deltaphi = solid.GetDeltaPhiAngle()
    starttheta = solid.GetStartThetaAngle()
    deltatheta = solid.GetDeltaThetaAngle()
    GDMLSphere(mysphere,rmin,rmax,startphi,deltaphi, \
               starttheta, deltatheta,"rad","mm",material)
    print("GDMLSphere initiated")
    ViewProvider(mysphere.ViewObject)
    print("GDMLSphere ViewProvided - added")
    return (mysphere)
Esempio n. 17
0
def createGDMLCone(volref, solid, material):
    from GDMLObjects import GDMLCone, ViewProvider
    print "CreateCone : "
    mycone = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",
                                              "GDMLCone")
    rmin1 = solid.GetInnerRadiusMinusZ()
    rmax1 = solid.GetInnerRadiusPlusZ()
    rmin2 = solid.GetOuterRadiusMinusZ()
    rmax2 = solid.GetOuterRadiusPlusZ()
    z = solid.GetZHalfLength() * 2
    startphi = solid.GetStartPhiAngle()
    deltaphi = solid.GetDeltaPhiAngle()
    GDMLCone(mycone,rmin1,rmax1,rmin2,rmax2,z,startphi,deltaphi, \
            "rad","mm",material)
    print("GDMLCone initiated")
    ViewProvider(mycone.ViewObject)
    print("GDMLCone ViewProvided - added")
    return (mycone)
Esempio n. 18
0
def createBox(part, solid, material, px, py, pz, rot, displayMode):
    from GDMLObjects import GDMLBox, ViewProvider
    GDMLShared.trace("CreateBox : ")
    GDMLShared.trace(solid.attrib)
    mycube = part.newObject("Part::FeaturePython", "GDMLBox:" + getName(solid))
    x = GDMLShared.getVal(solid, 'x')
    y = GDMLShared.getVal(solid, 'y')
    z = GDMLShared.getVal(solid, 'z')
    lunit = getText(solid, 'lunit', "mm")
    GDMLBox(mycube, x, y, z, lunit, material)
    GDMLShared.trace("Logical Position : " + str(px) + ',' + str(py) + ',' +
                     str(pz))
    base = FreeCAD.Vector(0, 0, 0)
    mycube.Placement = GDMLShared.processPlacement(base, rot)
    GDMLShared.trace(mycube.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(mycube.ViewObject)
    setDisplayMode(mycube, displayMode)
    #myCube.Shape = translate(mycube.Shape,base)
    return mycube
Esempio n. 19
0
def createEltube(part,solid,material,px,py,pz,rot,displayMode) :
    from GDMLObjects import GDMLElTube, ViewProvider
    GDMLShared.trace("CreateElTube : ")
    GDMLShared.trace(solid.attrib)
    dx = GDMLShared.getVal(solid,'dx')
    dy = GDMLShared.getVal(solid,'dy')
    dz = GDMLShared.getVal(solid,'dz')
    lunit = getText(solid,'lunit',"mm")
    #myeltube=volObj.newObject("Part::FeaturePython","GDMLElTube:"+getName(solid))
    myeltube=part.newObject("Part::FeaturePython","GDMLElTube:"+getName(solid))
    GDMLElTube(myeltube,dx, dy, dz,lunit,material)
    GDMLShared.trace("CreateElTube : ")
    GDMLShared.trace("Position : "+str(px)+','+str(py)+','+str(pz))
    base = FreeCAD.Vector(0,0,0)
    myeltube.Placement = GDMLShared.processPlacement(base,rot)
    GDMLShared.trace(myeltube.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(myeltube.ViewObject)
    setDisplayMode(myeltube,displayMode)
    return myeltube
Esempio n. 20
0
def createElcone(part, solid, material, px, py, pz, rot, displayMode):
    from GDMLObjects import GDMLElCone, ViewProvider
    GDMLShared.trace("CreateElCone : ")
    dx = GDMLShared.getVal(solid, 'dx')
    dy = GDMLShared.getVal(solid, 'dy')
    zmax = GDMLShared.getVal(solid, 'zmax')
    zcut = GDMLShared.getVal(solid, 'zcut')
    lunit = getText(solid, 'lunit', "mm")
    myelcone = part.newObject("Part::FeaturePython",
                              "GDMLElCone:" + getName(solid))
    GDMLElCone(myelcone, dx, dy, zmax, zcut, lunit, material)
    GDMLShared.trace("CreateElCone : ")
    GDMLShared.trace("Position : " + str(px) + ',' + str(py) + ',' + str(pz))
    base = FreeCAD.Vector(px, py, pz - zmax / 2)
    myelcone.Placement = GDMLShared.processPlacement(base, rot)
    GDMLShared.trace(myelcone.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(myelcone.ViewObject)
    setDisplayMode(myelcone, displayMode)
    return (myelcone)
Esempio n. 21
0
def createTrd(part, solid, material, px, py, pz, rot, displayMode):
    from GDMLObjects import GDMLTrd, ViewProvider
    GDMLShared.trace("CreateTrd : ")
    GDMLShared.trace(solid.attrib)
    z = GDMLShared.getVal(solid, 'z')
    x1 = GDMLShared.getVal(solid, 'x1')
    x2 = GDMLShared.getVal(solid, 'x2')
    y1 = GDMLShared.getVal(solid, 'y1')
    y2 = GDMLShared.getVal(solid, 'y2')
    lunit = getText(solid, 'lunit', "mm")
    #print z
    mytrd = part.newObject("Part::FeaturePython", "GDMLTrd:" + getName(solid))
    GDMLTrd(mytrd, z, x1, x2, y1, y2, lunit, material)
    GDMLShared.trace("Position : " + str(px) + ',' + str(py) + ',' + str(pz))
    base = FreeCAD.Vector(px, py, pz)
    mytrd.Placement = GDMLShared.processPlacement(base, rot)
    GDMLShared.trace(mytrd.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(mytrd.ViewObject)
    setDisplayMode(mytrd, displayMode)
    return mytrd
def createCutTube(part, solid, material, px, py, pz, rot, displayMode):
    from GDMLObjects import GDMLcutTube, ViewProvider
    GDMLShared.trace("CreateCutTube : ")
    GDMLShared.trace(solid.attrib)
    rmin = GDMLShared.getVal(solid, 'rmin')
    rmax = GDMLShared.getVal(solid, 'rmax')
    z = GDMLShared.getVal(solid, 'z')
    startphi = GDMLShared.getVal(solid, 'startphi')
    deltaphi = GDMLShared.getVal(solid, 'deltaphi')
    aunit = getText(solid, 'aunit', 'rad')
    print("aunit : " + aunit)
    lowX = GDMLShared.getVal(solid, 'lowX')
    lowY = GDMLShared.getVal(solid, 'lowY')
    lowZ = GDMLShared.getVal(solid, 'lowZ')
    highX = GDMLShared.getVal(solid, 'highX')
    highY = GDMLShared.getVal(solid, 'highY')
    highZ = GDMLShared.getVal(solid, 'highZ')
    lunit = getText(solid, 'lunit', "mm")
    GDMLShared.trace(rmin)
    GDMLShared.trace(rmax)
    GDMLShared.trace(z)
    GDMLShared.trace(lowX)
    GDMLShared.trace(lowY)
    GDMLShared.trace(lowZ)
    GDMLShared.trace(highX)
    GDMLShared.trace(highY)
    GDMLShared.trace(highZ)
    mycuttube = part.newObject("Part::FeaturePython",
                               "GDMLcutTube:" + getName(solid))
    GDMLcutTube(mycuttube,rmin,rmax,z,startphi,deltaphi,aunit, \
                lowX, lowY, lowZ, highX, highY, highZ, lunit, material)
    GDMLShared.trace("Position : " + str(px) + ',' + str(py) + ',' + str(pz))
    #base = FreeCAD.Vector(0,0,0)
    base = FreeCAD.Vector(px, py, pz)
    mycuttube.Placement = GDMLShared.processPlacement(base, rot)
    GDMLShared.trace(mycuttube.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(mycuttube.ViewObject)
    setDisplayMode(mycuttube, displayMode)
    return mycuttube
Esempio n. 23
0
def createEllipsoid(part,solid,material,px,py,pz,rot,displayMode) :
    from GDMLObjects import GDMLEllipsoid, ViewProvider
    GDMLShared.trace("CreateElTube : ")
    GDMLShared.trace(solid.attrib)
    ax = GDMLShared.getVal(solid,'ax')
    by = GDMLShared.getVal(solid,'by')
    cz = GDMLShared.getVal(solid,'cz')
    zcut1 = GDMLShared.getVal(solid,'zcut1')
    zcut2 = GDMLShared.getVal(solid,'zcut2')
    lunit = getText(solid,'lunit',"mm")
    #myelli=volObj.newObject("Part::FeaturePython","GDMLEllipsoid:"+getName(solid))
    myelli=part.newObject("Part::FeaturePython","GDMLEllipsoid:"+getName(solid))
    # cuts 0 for now
    GDMLEllipsoid(myelli,ax, by, cz,zcut1,zcut2,lunit,material)
    GDMLShared.trace("CreateEllipsoid : ")
    GDMLShared.trace("Position : "+str(px)+','+str(py)+','+str(pz))
    base = FreeCAD.Vector(px,py,pz)
    myelli.Placement = GDMLShared.processPlacement(base,rot)
    GDMLShared.trace(myelli.Placement.Rotation)
    # set ViewProvider before setDisplay
    ViewProvider(myelli.ViewObject)
    setDisplayMode(myelli,displayMode)
    return myelli