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")
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")
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)
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)
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)
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)
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)
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)