Ejemplo n.º 1
0
 def __init__(self,node,converter,node_name,netCode='0',noTranspose=False):
     self.vertexs = node.findall('vertex')
     self.width = converter.convertUnit(node.get('width'))
     self.layer = getLayerId(node.get('layer'))
     
     isolate=node.get('isolate')
     if isolate is not None:
         self.isolate = converter.convertUnit(isolate)
     else:
         self.isolate=0
         
     self.corners = len(self.vertexs)
     self.cornerstr = ""
     self.name = node_name
     
     for _i in range(len(self.vertexs)):
         x=self.vertexs[_i].get('x')
         y=self.vertexs[_i].get('y')
         x,y=converter.convertCoordinate(x,y,noTranspose)
         string = "ZCorner " + str(x) + " " + str(y);
         if _i == self.corners-1:
             string += " 1\n"
         else:
             string += " 0\n"
         self.cornerstr+=string
     self.netCode=netCode
     if netCode=='0':
         print("Warning: track with netCode 0")
Ejemplo n.º 2
0
    def __init__(self,
                 node,
                 converter,
                 node_name,
                 netCode='0',
                 noTranspose=False):
        self.vertexs = node.findall('vertex')
        self.width = converter.convertUnit(node.get('width'))
        self.layer = getLayerId(node.get('layer'))

        isolate = node.get('isolate')
        if isolate is not None:
            self.isolate = converter.convertUnit(isolate)
        else:
            self.isolate = 0

        self.corners = len(self.vertexs)
        self.cornerstr = ""
        self.name = node_name

        for _i in range(len(self.vertexs)):
            x = self.vertexs[_i].get('x')
            y = self.vertexs[_i].get('y')
            x, y = converter.convertCoordinate(x, y, noTranspose)
            string = "ZCorner " + str(x) + " " + str(y)
            if _i == self.corners - 1:
                string += " 1\n"
            else:
                string += " 0\n"
            self.cornerstr += string
        self.netCode = netCode
        if netCode == '0':
            print("Warning: track with netCode 0")
Ejemplo n.º 3
0
    def getWireInfo(self, wire, converter, noTranspose, offset):
        """
        Converts a wire dictionary node from Eagle to a usable form for kicad
        It then returns the dictionary of the wires info
        
        Params:
            wire:    the wire's node from myDict
            noTranspose: if true, coordinates will not be transposed
                            to screens center
        Returns:
            dict:    the wires info in a kicad usable dictionary form
                    Keys = x1,x2,y1,y2,layer,curve,width
            
        """

        x1, y1 = converter.convertCoordinate(wire.get('x1'), wire.get('y1'),
                                             noTranspose)
        x2, y2 = converter.convertCoordinate(wire.get('x2'), wire.get('y2'),
                                             noTranspose)
        curve = wire.get('curve')

        width = converter.convertUnit(wire.get('width'))
        layer = getLayerId(wire.get('layer'))

        if curve == None:
            cX = (x1 + x2) // 2
            cY = (y1 + y2) // 2
            radius = 0
            sAngle = 0
            eAngle = 0
        else:
            cX, cY, curve, radius, sAngle, eAngle = self.getWireArcInfo(
                wire, converter, noTranspose)

        if offset != None:
            dX, dY = converter.convertCoordinate(offset[0], offset[1],
                                                 noTranspose)
            x1 += dX
            y1 += dY
            x2 += dX
            y2 += dY
            cX += dX
            cY += dY

        self.x1 = str(x1)
        self.y1 = str(y1)
        self.x2 = str(x2)
        self.y2 = str(y2)
        self.cX = str(cX)
        self.cY = str(cY)
        self.width = str(width)
        self.layer = str(layer)
        self.curve = str(curve)
        self.radius = str(radius)
        self.sAngle = str(sAngle)
        self.eAngle = str(eAngle)
Ejemplo n.º 4
0
 def getWireInfo(self,wire,converter,noTranspose, offset):
     """
     Converts a wire dictionary node from Eagle to a usable form for kicad
     It then returns the dictionary of the wires info
     
     Params:
         wire:    the wire's node from myDict
         noTranspose: if true, coordinates will not be transposed
                         to screens center
     Returns:
         dict:    the wires info in a kicad usable dictionary form
                 Keys = x1,x2,y1,y2,layer,curve,width
         
     """
         
     x1,y1=converter.convertCoordinate(wire.get('x1'),wire.get('y1'),noTranspose)
     x2,y2=converter.convertCoordinate(wire.get('x2'),wire.get('y2'),noTranspose)
     curve=wire.get('curve')
     
     width=converter.convertUnit(wire.get('width'))
     layer=getLayerId(wire.get('layer'))
     
     
     if curve==None:
         cX=(x1+x2)//2
         cY=(y1+y2)//2
         radius = 0
         sAngle = 0
         eAngle = 0
     else:
         cX,cY,curve,radius,sAngle,eAngle=self.getWireArcInfo(wire,converter,noTranspose)
     
     if offset != None:
         dX, dY = converter.convertCoordinate(offset[0], offset[1], noTranspose)
         x1 += dX
         y1 += dY
         x2 += dX
         y2 += dY
         cX += dX
         cY += dY
         
     self.x1=        str(x1)
     self.y1=        str(y1)
     self.x2=        str(x2)
     self.y2=        str(y2)
     self.cX=        str(cX)
     self.cY=        str(cY)
     self.width=     str(width)
     self.layer=     str(layer)
     self.curve=     str(curve)
     self.radius=    str(radius)
     self.sAngle=    str(sAngle)
     self.eAngle=    str(eAngle)
Ejemplo n.º 5
0
 def __init__(self,node,converter,noTranspose=False, offset=None):    
     
     self.val=node.text
     self.style='Normal'
     layer=getLayerId(node.get('layer'))
     x,y = converter.convertCoordinate(node.get('x'), node.get('y'), noTranspose)
     if offset != None:
         dX, dY =   converter.convertCoordinate(offset[0], offset[1], noTranspose)
         x += dX
         y += dY
         
     self.x=str(x)
     self.y=str(y)
     self.layer=str(layer)
     
     self.getSize(node,converter)
     self.getOrientation(node,converter)
Ejemplo n.º 6
0
    def __init__(self, node, converter, noTranspose=False, offset=None):

        self.val = node.text
        self.style = 'Normal'
        layer = getLayerId(node.get('layer'))
        x, y = converter.convertCoordinate(node.get('x'), node.get('y'),
                                           noTranspose)
        if offset != None:
            dX, dY = converter.convertCoordinate(offset[0], offset[1],
                                                 noTranspose)
            x += dX
            y += dY

        self.x = str(x)
        self.y = str(y)
        self.layer = str(layer)

        self.getSize(node, converter)
        self.getOrientation(node, converter)
Ejemplo n.º 7
0
    def __init__(self,node,converter,noTranspose=False, offset=None):
        radius=converter.convertUnit(node.get('radius'))
        cX,cY=converter.convertCoordinate(node.get('x'),node.get('y'),noTranspose)
        
        if offset != None:
            dX, dY = converter.convertCoordinate(offset[0], offset[1], noTranspose)
            cX += dX
            cY += dY

        
        width=converter.convertUnit(node.get('width'))
        layer=getLayerId((node.get('layer')))
        pX=int(cX)+int(radius)
        pY=cY
        self.cX=str(cX)
        self.cY=str(cY)
        self.pX=str(pX)
        self.pY=str(pY)
        self.layer=layer
        self.width=str(width)
        self.radius=str(radius)
Ejemplo n.º 8
0
    def __init__(self, node, converter, noTranspose=False, offset=None):
        radius = converter.convertUnit(node.get('radius'))
        cX, cY = converter.convertCoordinate(node.get('x'), node.get('y'),
                                             noTranspose)

        if offset != None:
            dX, dY = converter.convertCoordinate(offset[0], offset[1],
                                                 noTranspose)
            cX += dX
            cY += dY

        width = converter.convertUnit(node.get('width'))
        layer = getLayerId((node.get('layer')))
        pX = int(cX) + int(radius)
        pY = cY
        self.cX = str(cX)
        self.cY = str(cY)
        self.pX = str(pX)
        self.pY = str(pY)
        self.layer = layer
        self.width = str(width)
        self.radius = str(radius)