QisMScript - Scripting Language for QisMLib
A user who wants to test out a flow using QisMLib and its extensions can create and execute a sequence of commands that closely mimic the QisMLib API. The console application called qismscript64.exe interprets the script and converts the commands into the appropriate API calls. This makes it very easy to prototype a data flow, verify it and then implement it.
A Simple Scanning Script
Loading and scanning a GDSII or OASIS file is almost always the very first step in any processing flow. Here is a sample script implemented in a few lines.
lib.load_file &filedb=FDB input=C:/data/demo5.gds
Loads/Scan the GDSII file
file.print_cells $filedb=FDB extents
Prints list of cells and their extents
file.print_top_cells $filedb=FDB
Prints the top level cell(s)
file.print_layers $filedb=FDB
prints a list of layers with data
file.print_cell_tree $filedb=FDB
prints a hierarchy tree
lib.unload_file $filedb=FDB
unloads the file (releases memory
Now to execute the script use qismscript64.exe.
qismscript64.exe +script:sample.script -log:sample.log
Applicability Across All Extension Libraries
- Any QisMLib based application can easily hook up the scripting system. Imagine a complex GUI app allowing a user to define `workflows` i.e scripts for the most common actions and execute them with just one click. The scripting system is built into QisMLib.
- Each QisMLib extension (QisMCLipExtract, QisMHExtract, QisMRaster etc.) can support their own commands. Those commands will be available to the scripting app if the extension is available. Each extension library follows the same model as the QisMLib API.
- The licensing is linked to corresponding API. If a certain function requires a license, the corresponding script command will require that license too. The script command is nothing but a transfer of control from the script to it's corresponding API function.
For information on running the QisMScript conole application go to the link QisMScript Console Application
For a complete list of the scripting command go to the link QisMScript Commands