A console program to execute various commands supported by the scripting sub-system of QisMLib called QisMScript. This provides an alternate way of exploring and executing the various functions provided by QisMLib and it's extensions
QisMScript console applicationCommand line referenceREQUIRED+script:{script_file_path}~script:{script_file_name}+script:USEROPTIONS[-help:commands][-cfg:{cfg_file_path} | ~cfg:{cfg_file_name}][{key_name}={value} | {-|+}{key_name}:{value} | -set:{key_name}={value}]*[-display] (LINUX only)[-acsv:{vendor_string} & -acsp:{oem_key_file}][-acsvp:{key_file}][-reservelic:{code},{count}{,{code},{count}}*][-locale:{locale_string}][-log:{log_path}] | [-log+:{log_path}][-silent][-h | -help | -usage]Version Historyqismscript exe v1.10 2025-12qismscript exe v1.9 2025-03qismscript exe v1.8 2025-03qismscript exe v1.7 2024-07qismscript exe v1.6 2024-01qismscript exe v1.5 2023-11qismscript exe v1.4 2023-04qismscript exe v1.3 2021-04qismscript exe v1.2 2020-01qismscript exe v1.1 2019-12qismscript exe v1.0 2019-07
x# Windows%install_dir%\artwork\qismscript64.exe {REQUIRED} [{OPTIONS}]# Linux$install_dir/artwork/qismscript64 {REQUIRED} [{OPTIONS}]
Where install_dir is the location of QisMLib installation
Uses the QisMScript API of QisMLib to execute available commands
Uses qismscript.cfg as the configuration file for QisMLib. All necessary extensions must be listed in this file
See here for a listing of all available commands
xxxxxxxxxx+script:{script_file_path} | +script:USER | ~script:{script_file_name}
+script:{script_file_path}Execute commands specified in a text file, one line per command
The script file can be located anywhere it's accessible to the application. {script_file_path} can be relative or absolute.
Lines starting with a # are treated as comments and ignored
The execution continued until either:
The exit command is encountered
A fatal error occurs
There are no more commands to execute in the script
~script:{script_file_name}Same as +script: except {script_file_name} is just the file name and it's location MUST be in the same directory as qismscript64.exe
+script:USERRun qismscript console in interactive mode
The user will be prompted to enter a command which will be then executed. The interactive session will continue until either:
The user enters the command exit
The specified command results in a fatal error
[-help:commands]Print a list of available commands and exit
[-cfg:{cfg_file_path} | ~cfg:{cfg_file_name}]Specify a config. file to use. Default config. file in qismscript.cfg located alongside qismscript64.exe
The config. file determines what extensions are loaded and therefore which commands will be available for use
{cfg_file_path} is the absolute or relative path of the config. file which can be located anywhere accesible to the application
{cfg_file_name} is the name of the config. file and it MUST be located alongside qismscript64.exe
[{key_name}={value} | {-|+}{key_name}:{value} | -set:{key_name}={value}]*Pass one or more variables to the script at the command line
These variables can be referenced in the script as ((key_name)) and substituted by {value} before the command is executed
e.g. INPUT=C:\tmp\test.gds will cause all occurrences of ((INPUT)) to be replaced by C:\tmp\test.gds
e.g. -set:INPUT=C:\tmp\test.gds will cause all occurrences of ((INPUT)) to be replaced by C:\tmp\test.gds
e.g. +input:C:\tmp\test.gds will cause all occurrences of ((+input)) to be replaced by C:\tmp\test.gds
This works even in interactive mode
References to variables that have not been set at command-line or within a preceding command will be substituted by an empty string
[-display] (LINUX only)Enable graphics display for relevant commands (e.g draw.image)
[-acsv:{vendor_string} & -acsp:{oem_key_file}]Enable licensing via Artwork's trusted (OEM) licensing model as instructed by Artwork
[-acsvp:{key_file}]Enable licensing via Artwork's trusted (OEM) licensing model as instructed by Artwork
[-reservelic:{code},{count}{,{code},{count}}*]Pre-acquire a set of licenses at the beginning to avoid license-related disruptions during execution
Each license MUST be specified in pairs of two numbers -- {code} is the product number and {count} is the no. of licenses required (and no. licenses from 1 to {count} will be acquired based on availability)
{code} CANNOT be 11003 (QisMLib)
The specified licenses will be held until the end of the application
If a command requires a license that was not reserved, QisMLib will revert to standard licensing to attempt acquisition of the said license(s)
[-locale:{locale_string}]Set a locale using a locale-string (e.g -locale:de_DE.UTF-8)
Default: -locale:C
[-log:{log_path}] | [-log+:{log_path}]Enable creation of a log file at the specified path
For -log+ the file if it exists, will be opened in append mode. Otherwise, a new log file will be created at the specified path
[-silent]Run the application without printing to stdout/stderr
NOT to be used in interactive mode
[-h | -help | -usage]Print the application usage
If the script file has been specified, this option will also print the usage of the script IF the script makes use of the usage.* commands
system command output appears in the log
New parameter -locale:{string} to set a specific locale
New parameter -acsvp:{key_file} to unlock licensing for select scripts
New command-line option -reservelic:<pnum>,<count>[,<pnum>,<count>]* to reserve licenses upfront
In USER mode, commands returning ABORT or ERROR do not exit the app. User MUST exit explicitly
Support for displaying usage information from a script just like a classic command-line application. Use qismscript64.exe +script:{path} -h to invoke the script's usage
Support for adding key value pairs in the form -key:value or +key:value
Support for adding flags as is. E.g qismscript64.exe +script:test.script invert will create a key-value pair invert=invert that can be referenced in the script as ((invert))
New command assert as an alternative to script.required
New option -cfg:{config_path} to use another config.
Supports the critical failure callback mechanism of QisMLib 3.35. On such an event, prints a message to console/log
Support for C++ code generation from a script (DEPRECATED as of v1.6)
Support for trusted licensing
new commands sleep and askif
Alternate way to define string variables at command-line {var_name}={value} instead of -set:{var_name}={value}
First cut