demisjohn / ASML_JobCreator

Generate ASCII Job files for an ASML PAS 5500 Stepper Lithography system, by the UCSB Nanofabrication Facility.
16 stars 4 forks source link

Remove `Job.add_images()/add_Layers()` from user workflow #5

Closed demisjohn closed 4 years ago

demisjohn commented 4 years ago

should eliminate the need for Job.add_Images and Job.add_Layers. Image and Layer should call this function themselves when Image is distributed, or Layer is exposed, and automatically avoid duplications.

   // MyJob.add_Layers(Layer1, Layer2…)
   --> convert to Layer using it's own Layer.parent object to add itself to the Job.

Instead, when user calls:

   MetalLyr = MyJob.Layer("whatever", size, shift)
   MetalLyr.distribute( cellCR=[0,0] )

layer.distribute() finishes by calling

self.parent.add_Layers(self)``

So user doesn't have to do it.

Job.add_Layers needs to also detect duplicates, eg.

   Job.add_layers(NewLayer)
      LryDuplicate = False
      for L in self.LayerList:
         if L == NewLayer: LyrDuplicate = True
      if not LyrDuplicate: self.LayerList.append( NewLayer )

or use some smarter numpy search function, like numpy.isin()

demisjohn commented 4 years ago

If add a Layer, it should also check whether Image exists by running add_Images()

demisjohn commented 4 years ago

fixed in 28cd7a4c36b4de83dd05a9e7dc3d13a06f0aec86 - does NOT check for duplicates. Gets added to Job as soon as it's created, so no issue there I think.