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 = LayerIds.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 getWireInfo(self,wire,converter,noTranspose=False):
     """
     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)
     width=converter.convertUnit(wire.get('width'))
     layer=LayerIds.getLayerId(wire.get('layer'))
     curve=wire.get('curve')
     if curve==None:
         cX=(x1+x2)//2
         cY=(y1+y2)//2
     else:
         cX,cY,curve=self.getWireArcInfo(wire,converter,noTranspose)
             
     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)
Ejemplo n.º 3
0
 def __init__(self,node,converter,noTranspose=False):    
     
     self.val=node.text
     self.style='Normal'
     layer=LayerIds.getLayerId(node.get('layer'))
     x,y=converter.convertCoordinate(node.get('x'),node.get('y'),noTranspose)
     self.x=str(x)
     self.y=str(y)
     self.layer=str(layer)
     
     self.getSize(node,converter)
     self.getOrientation(node,converter)
Ejemplo n.º 4
0
 def __init__(self,node,converter,noTranspose=False):
     radius=converter.convertUnit(node.get('radius'))
     cX,cY=converter.convertCoordinate(node.get('x'),node.get('y'),noTranspose)
     width=converter.convertUnit(node.get('width'))
     layer=LayerIds.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.º 5
0
 def __init__(self,node,converter,netCode='0',noTranspose=False):
     x,y=node.get("x"),node.get("y")
     x,y=converter.convertCoordinate(x,y,noTranspose)
     drill=converter.convertUnit(node.get("drill"))
     extent=node.get("extent")
     
     diameter=node.get("diameter") #unused
     shape=node.get("shape")       #unused
     
     self.x=str(x)
     self.y=str(y)
     self.drill=str(drill)
     self.diameter=str(diameter)
     self.extent=LayerIds.makeViaMask(extent)
     self.shape=str(shape)
     self.netCode=str(netCode)
     
     if netCode=='0':
         print("Warning: via with netCode 0")
     if self.extent!='F0' and self.extent!='0F':
         print("Warning: blind or buried via")