コード例 #1
0
ファイル: modfile.py プロジェクト: JonasNorling/footprinter
 def parse_line(self, package, line):
     t = line.split()
     if t[0] == "Po":
         return
     elif t[0] == "Li":
         return
     elif t[0] == "Cd":
         return
     elif t[0] == "Sc":
         return
     elif t[0] == "AR":
         return
     elif t[0] == "Op":
         return
     elif t[0][:1] == "T":
         return
     elif t[0] == "DS":
         t = line.split()
         start = (self.dim(t[1]), self.dim(t[2]))
         end = (self.dim(t[3]), self.dim(t[4]))
         package.data.append(Line( start, end, self.dim(t[5]) ))
         package.expand_bbox(start)
         package.expand_bbox(end)
         #line.layer = t[6]
     elif t[0] == "$PAD":
         pad = Pad()
         package.data.append(pad)
         
         for line in self.f:
             t = line.split()
             if t[0] == "Sh":
                 pad.xsize = self.dim(t[3])
                 pad.ysize = self.dim(t[4])
                 pad.rotation = float(t[7]) / 10.0
             elif t[0] == "Dr":
                 pass
             elif t[0] == "At":
                 pass
             elif t[0] == "Ne":
                 pass
             elif t[0] == "Po":
                 pad.x = self.dim(t[1])
                 pad.y = self.dim(t[2])
             elif t[0] == "$EndPAD":
                 maxdim = max(pad.xsize, pad.ysize) / 2.0
                 package.expand_bbox((pad.x - maxdim, pad.y - maxdim))
                 package.expand_bbox((pad.x + maxdim, pad.y + maxdim))
                 return
     else:
         return