Introduction¶
This document describes the usage and technical reference of the python program TXLWizard written by Esteban Marin (estebanmarin@gmx.ch).
What does it do?¶
The TXLWizard provides routines for generating TXL files (.txl) for the preparation of E-Beam lithography masks using python code. The TXL files can be processed with BEAMER. See the following links:
- http://genisys-gmbh.com/web/products/beamer.html
- http://cad035.psi.ch/LB_index.html
- http://cad035.psi.ch/LBDoc/BEAMER_Manual.pdf
The TXLWizard currently implements version 4.8 of the TextLIB (TXL) standard.
The generated TXL files are also converted to HTML / SVG for presentation in any modern browser or vector graphics application and allow rapid mask development.
Moreover, a command line interface TXLConverter provides conversion of existing TXL files to HTML / SVG (See Section TXLConverter).
Why should I use it?¶
TXL File Format:
- Text-based file format
- Can be generated with any scripting language (Python / Matlab / etc.)
- Easy to use
- Optimized E-Beam Performance due to References to objects and array of replicated objects (SREF, AREF)
TXLWizard:
- Create masks with well-structured scripts
- Flexible Python Scripting
- Mask-Code easy to read and reusable
- Automated label generation
Installation¶
The TXLWizard is written in python and will run in Python version 2.7+ and 3.1+.
In order to use it, the TXLWizard package must be available as
a python package, i.e. either it must be copied to
Path_to_my_python_installation/site-packages/
or to the path where your script is located.
Alternatively, you can also prepend the following command to your python script:
import sys
sys.path.append('path_to_the_folder_containing_TXLWizard')
Please note that this must be the parent folder containing the TXLWizard.
Structure / Pattern / Attribute¶
The following terms are used throughout this manual:
Structure¶
Refers to an object containing one or more Pattern objects. A Structure corresponds to the STRUCT command in TXL files.
Pattern¶
Refers to a pattern such as a circle, a polygon, an ellipse, a path, etc. The following patterns with the corresponding TXL command in brackets are supported:
- Circle (C)
- Ellipse (ELP)
- Polygon (B)
- Polyline (P)
- Reference (SREF)
- Array (AREF)
For more information, supported parameters, etc., see Section Patterns.
Attribute¶
Refers to an property of a Pattern determining the visual appearance of the Pattern. The following attributes with the corresponding TXL command in brackets are supported:
- Layer (LAYER)
- DataType (DATATYPE)
- RotationAngle (ANGLE)
- StrokeWidth (WIDTH)
- ScaleFactor (MAG)
Please note that the TXLWizard strictly implements the specification of the TXL format. This implies some peculiarities, such as
- Attribute commands preceed the corresponding Pattern in a Structure and are valid for all patterns that follow unless the attribute value is changed. Therefore, when adding a Pattern to a Structure with certain attributes, the attributes are valid for any subsequently added pattern, unless a different attribute value is specified.
- Attribute commands are valid for all patterns, except for Reference (SREF) and Array (AREF). Therefore the attributes of a pattern can only be specified in the structure where the pattern is added / defined.
- The RotationAngle attribute applies to each Pattern individually and rotates about each Pattern‘s individual origin.
How to start?¶
Have a look at the examples in Section TXLWizard Examples and consult the Python Module Reference. Happy scripting!