Pattern Generation

The task of pattern generation is to “guide” the beam along a path such, that the beam generates an imprint of the desired shape in the e-beam resist. Ideally the geometry of the imprint should perfectly match the original shape.

Especially for small or “fragile” structures, the way how the surface is filled, is important. Therefore, smile2 offers several strategies, how surfaces can be filled (this task is called “pattern generation”. Tn smile2 the unit/node that is responsible for this task is called “pattern generator”). If one of the built-in strategies is not enough, users have the posipiltiy build thier own strategies (integrated in smile2).

The general data flow in the pattern generation process is depicted in the following figure:

_images/pattern_gen.png

Pattern generation process in smile2. In contrast to other systems, everything until the analog output voltage generation, happens in software.

Built-in Pattern Generators

Pattern generators in smile2 depend on the shape type. Eg. it makes no sense, to “fill” a line the same way like a polygon.

Meander

The following animated gifs illustrate how surfaces are filled by the meander pattern generator:

Meander pattern generator with different settings.
_images/pg_meander1.gif

Bin fractured, Vertical

_images/pg_meander2.gif

Bin fractured, Horizontal

_images/pg_meander3.gif

Explicit monotone fractured, Vertical

_images/pg_meander4.gif

Explicit monotone fractured, Horizontal

The meander filling method is the most efficient (by means of quality-versus-time) and produces usually good results. However, with the meander strategy, only monotone shapes (with respect to the “scan” direction), can be filled without interruption.

The built-in meander pattern generator for polygons, offers two modes to divide (fracture) non monotone shapes:

Implicit
This is the default method (since version 1.9.9rc8). On each bifurcation, the direction of the larger overlap is taken. This method has the advantages, that seams are always parallel to the slow scan direction. It also produces (intrinsically) the “best” segmentation (ie. the smallest amount of pieces) in respect to the scan direction.
Explicit
This can be used only for polygon-based shapes. Within this method, polygons are fractured explicitly into monotone polygons.

Note

For polygon-based shapes, the MeanderPatternGen node is used (and is the default pattern generator for polygons). For procedural nodes, the ProceduralPatternGen node is used.

Scan-Line

The following animated gif illustrates how surfaces are filled by the scan-line pattern generator:

_images/pg_scanline1.gif

Example for a Scan-line generated pattern

In some situations, the quality of this pattern generator might be better (compared to meander). However, one should keep in mind, that the beam performs a “jump” after each line (and waits until the beam has stabilized, according to the beam settling time). Especially for big fill rates, this can dramatically increase the overall exposure time (and can possibly lead to artifacts due to drift).

Note

This pattern generator works currently only with polygon-based objects.

Concentric

Fills a surface with shrinking (or growing) concentric “rings”.

As an additional input it can take a “profile curve” that contains dwell time scale factors. In this way, “symmetric” profiles, like Fresnel lenses, can be produced very easy and with high accuracy.

In contrast to the pattern generators discussed above, this is not (yet) a general purpose fill strategy for arbitrary shapes. Currently only polygons without holes are handled correctly by this pattern generator. A node reference can be found in the ConcentricPatternGen reference.

Line Stripes

The line stripes pattern generator fills polygons with line stripes. The distance between two stripes and the direction of the stripe lines can be adjusted.

Warning

This node has not been ported to the new API introduced in smile2 rc1. Therefore, this pattern generator is not yet available in the current version of smile2.

Point Array

Fills polygons with points located on grid. The distance between points can be adjusted.

Warning

This node has not been ported to the new API introduced in smile2 rc1. Therefore, this pattern generator is not yet available in the current version of smile2.

Lines

For lines, there is not much freedom left on how to realize it, but “point after point”. This task is performed by the LinePatternGen node.

Points

Patterns for single points (simply a single point) are handled by the PointPatternGen node.

Using pattern generators in smile2

In smile2, a pattern generator node can be attached, to each individual shape. If no node is attached, the default pattern generator is used.

Modifying the default pattern generator

Each class of shape-types has it’s own generator. Currently the differnet shape types are:

  • Polygon based shapes
  • Procedural shapes
  • Lines
  • Points

To edit the properties of the default pattern generator for one of these types, do the following:

  1. Select a shape (in edit mode).
  2. In the shape settings sheet of the attribute editor, click the follow up icon on the right side of the Pattern Generator property.
  3. The properties for the default pattern generator are displayed and can be adjusted.

The following image illustrates these steps:

_images/edit_pg.png

To change the default pattern generator for one of these types, do the following:

  1. Select a shape (in edit mode).
  2. In the shape settings sheet of the attribute editor, click the edit icon on the outer right side of the Pattern Generator property.
  3. Choose “Set New Default” from the context menu.
  4. A dialog appears. Choose the desired pattern generator type and press OK. Now the follow up icon can be used to edit the newly created node.

Setting a custom pattern generator

To set an individual pattern generator to a shape, either

  • Use the node editor, or

  • Choose Create New or from one of the Set <name> entries, located in context menu triggered with a click on the edit icon in the Pattern Generator property (found in the Shape property sheet under the attribute editor):

    _images/set_pg.png