Esempio n. 1
0
 def plot_JDF(cls):
     xmin = minx([])
     xmax = maxx([])
     ymin = miny([])
     ymax = maxy([])
     cls.jdf.get_member("xy_offsets").reset(cls.jdf)
     xy_off = cls.jdf.xy_offsets
     log_debug(2)
     for p in cls.jdf.patterns:
         a = cls.agent_dict[p.name]
         reset_properties(a)  #fix updating of properties
         reset_property(a, "polylist")
         log_debug(a)
         verts = []
         for chip in xy_off.get(p.name, []):
             sPoly(a,
                   x_off=chip[0] * 1.0e-6,
                   y_off=chip[1] * 1.0e-6,
                   vs=verts)
         log_debug(a)
         cls.plot.set_data(a.name, verts, a.color)
         log_debug(a)
         xmin = min([minx(verts), xmin])
         xmax = max([maxx(verts), xmax])
         ymin = min([miny(verts), ymin])
         ymax = max([maxy(verts), ymax])
     log_debug(1)
     cls.plot.set_xlim(xmin, xmax)
     cls.plot.set_ylim(ymin, ymax)
     cls.plot.draw()
Esempio n. 2
0
 def plot_JDF(cls):
     xmin=minx([])
     xmax=maxx([])
     ymin=miny([])
     ymax=maxy([])
     cls.jdf.get_member("xy_offsets").reset(cls.jdf)
     xy_off=cls.jdf.xy_offsets
     log_debug(2)
     for p in cls.jdf.patterns:
         a=cls.agent_dict[p.name]
         reset_properties(a) #fix updating of properties
         reset_property(a, "polylist")
         log_debug(a)
         verts=[]
         for chip in xy_off.get(p.name, []):
             sPoly(a, x_off=chip[0]*1.0e-6, y_off=chip[1]*1.0e-6, vs=verts)
         log_debug(a)
         pf=cls.plot.plot_dict.get(a.name+"_plot", None)
         if pf is None:
             cls.plot.polygon(verts, color=a.color, plot_name=a.name+"_plot")
         else:
             pf.alter_xy(verts, color=a.color)
         log_debug(a)
         xmin=min([minx(verts), xmin])
         xmax=max([maxx(verts), xmax])
         ymin=min([miny(verts), ymin])
         ymax=max([maxy(verts), ymax])
     log_debug(1)
     cls.plot.set_xlim(xmin, xmax)
     cls.plot.set_ylim(ymin, ymax)
     cls.plot.draw()
Esempio n. 3
0
 def save_JDF_DXF(self):
     self.jdf.get_member("xy_offsets").reset(self.jdf)
     xy_off=self.jdf.xy_offsets
     verts=[]
     for p in self.jdf.patterns:
         a=self.agent_dict[p.name] #[agent for agent in self.agents if agent.name==p.name][0]
         for chip in xy_off.get(p.name, []):
             sPoly(a, x_off=chip[0]*1.0e-6, y_off=chip[1]*1.0e-6, vs=verts)
     save_dxf(verts, color="green", layer="PADS", file_path="marialasertest.dxf", write_mode="w")
Esempio n. 4
0
 def save_JDF_DXF(cls):
     cls.jdf.get_member("xy_offsets").reset(cls.jdf)
     xy_off = cls.jdf.xy_offsets
     verts = []
     for p in cls.jdf.patterns:
         a = cls.agent_dict[
             p.
             name]  #[agent for agent in self.agents if agent.name==p.name][0]
         for chip in xy_off.get(p.name, []):
             sPoly(a,
                   x_off=chip[0] * 1.0e-6,
                   y_off=chip[1] * 1.0e-6,
                   vs=verts)
     save_dxf(verts,
              color="green",
              layer="PADS",
              file_path="marialasertest.dxf",
              write_mode="w")
Esempio n. 5
0
 def plot_JDF(self):
     xmin=minx([])
     xmax=maxx([])
     ymin=miny([])
     ymax=maxy([])
     self.jdf.get_member("xy_offsets").reset(self.jdf)
     xy_off=self.jdf.xy_offsets
     for p in self.jdf.patterns:
         a=self.agent_dict[p.name]
         verts=[]
         for chip in xy_off.get(p.name, []):
             sPoly(a, x_off=chip[0]*1.0e-6, y_off=chip[1]*1.0e-6, vs=verts)
         self.plot.set_data(a.name, verts, a.color)
         xmin=min([minx(verts), xmin])
         xmax=max([maxx(verts), xmax])
         ymin=min([miny(verts), ymin])
         ymax=max([maxy(verts), ymax])
     self.plot.set_xlim(xmin, xmax)
     self.plot.set_ylim(ymin, ymax)
     self.plot.draw()
Esempio n. 6
0
 def plot_JDF(self):
     xmin = minx([])
     xmax = maxx([])
     ymin = miny([])
     ymax = maxy([])
     self.jdf.get_member("xy_offsets").reset(self.jdf)
     xy_off = self.jdf.xy_offsets
     for p in self.jdf.patterns:
         a = self.agent_dict[p.name]
         verts = []
         for chip in xy_off.get(p.name, []):
             sPoly(a,
                   x_off=chip[0] * 1.0e-6,
                   y_off=chip[1] * 1.0e-6,
                   vs=verts)
         self.plot.set_data(a.name, verts, a.color)
         xmin = min([minx(verts), xmin])
         xmax = max([maxx(verts), xmax])
         ymin = min([miny(verts), ymin])
         ymax = max([maxy(verts), ymax])
     self.plot.set_xlim(xmin, xmax)
     self.plot.set_ylim(ymin, ymax)
     self.plot.draw()
Esempio n. 7
0
 def _s_wafer_aligner(self):
     vs=sP([(-self.flat_length/2.0, self.linewidth/2.0),
            (-self.flat_length/2.0, 3.0*self.linewidth/2.0),
            (self.flat_length/2.0, 3.0*self.linewidth/2.0),
            (self.flat_length/2.0, self.linewidth/2.0)])
     sP([(-self.flat_length/2.0, -self.linewidth/2.0),
            (-self.flat_length/2.0, -3.0*self.linewidth/2.0),
            (self.flat_length/2.0, -3.0*self.linewidth/2.0),
            (self.flat_length/2.0, -self.linewidth/2.0)], vs=vs)
     reset_property(self, "_s_marker")
     for n in range(self.num_marker):
         sTransform(self._s_marker, (n-self.num_marker/2)*self.flat_length/self.num_marker, vs=vs)
     sTransform(self._s_marker, -self.flat_length/2.0-self.linewidth/2.0, theta=90.0, vs=vs)
     sTransform(self._s_marker, self.flat_length/2.0+self.linewidth/2.0, theta=90.0, vs=vs)
     sP([(-self.flat_length/2.0-4.0*self.linewidth, -3.0*self.linewidth/2.0),
         (-self.flat_length/2.0-4.0*self.linewidth, 3.0*self.linewidth/2.0),
         (-self.flat_length/2.0-self.linewidth, 3.0*self.linewidth/2.0),
         (-self.flat_length/2.0-self.linewidth, -3.0*self.linewidth/2.0)], vs=vs)
     sP([(self.flat_length/2.0+4.0*self.linewidth, -3.0*self.linewidth/2.0),
         (self.flat_length/2.0+4.0*self.linewidth, 3.0*self.linewidth/2.0),
         (self.flat_length/2.0+self.linewidth, 3.0*self.linewidth/2.0),
         (self.flat_length/2.0+self.linewidth, -3.0*self.linewidth/2.0)], vs=vs)
     sPoly(self.width_checker, y_off=3.0*self.linewidth/2.0+self.width_checker.height/2.0, vs=vs)
     return sPoly(self.width_checker, y_off=-3.0*self.linewidth/2.0-self.width_checker.height/2.0, vs=vs)
Esempio n. 8
0
 def Poly(self, obj, x_off=0.0, y_off=0.0, theta=0.0, orient="TL"):
     """adds polygons to verts using an EBL_Polygons object as the source"""
     sPoly(obj, x_off, y_off, theta, orient, vs=self.verts)
Esempio n. 9
0
 def Poly(self, obj, x_off=0.0, y_off=0.0, theta=0.0, orient="TL"):
     """adds polygons to verts using an EBL_Polygons object as the source"""
     sPoly(obj, x_off, y_off, theta, orient, vs=self.verts)