[Artwork] / [QisMLib] / [Programmer's Corner]
QisMLib LicensingQisMLib Licensing (API)QisMExploder LicensingQisMDraw Licensing QisMRaster Licensing (API)QisMRaster Licensing (Script)QisMmTool Licensing (API)QisMmTool Licensing (Script)QisMPatterns Licensing (API)QisMPatterns Licensing (Script)QisMLOA Licensing (API)QisMLOA Licensing (Script)QisMCorrX Licensing (API)QisMCorrX Licensing (Script)QisMOdbPS Licensing (API)QisMOdbPS Licensing (Script)QisMGbrPS Licensing (API)QisMGbrPS Licensing (Script)QisMSnPUnion Licensing (API)QisMSnPUtil Licensing (Script)QisMHExtract Licensing (API)QisMHExtract Licensing (SCRIPT)QisMRTCR Licensing (API)QisMRTCR Licensing (SCRIPT)QisMMRtcr Licensing (API)QisMMRtcr Licensing (Script)QisMLayerSynth Licensing (API)QisMLayerSynth Licensing (Script)QisMBoolFiles Licensing (API)QisMBoolFiles Licensing (SCRIPT)QisMClipExtract Licensing (API)QisMClipExtract Licensing (SCRIPT)QisMCmd (.NET Standard 2.0) LicensingQisMcadWriter API LicensingQisMcadWriter Script LicensingQisMWinQ LicensingQisMWindowProbe LicensingQisMClipper Licensing (API)QisMBool Licensing
| COUNT | CODE | OPERATION | NOTES |
|---|---|---|---|
| +1 | 11003 | QisMLib_initialize_once | ONCE per process |
| -1 | 11003 | QisMLib_close_once | ONCE per process |
| COUNT | CODE | OPERATION | NOTES |
|---|---|---|---|
| +1 | 11027 | QisMFile::Create_exploder | ONCE per call |
| -1 | 11027 | QisMFile::Destroy_exploder | ONCE per call |
| +1 | 11027 | file.create_exploder | ONCE per call |
| -1 | 11027 | file.destroy_exploder | ONCE per call |
| COUNT | CODE | OPERATION | NOTES |
|---|---|---|---|
| +1 | 11057 | C++ QisMDraw::Open_draw() | ONCE per call |
| -1 | 11057 | C++ QisMDraw::Close_draw() | ONCE per call |
| +/-1 | 11057 | Script draw.image | ONCE per call |
Product name : QisMRaster License code :
14827
The following operations require ONE license of QisMRaster per call that is held until a corresponding END operation
The following operations require ONE or MORE licenses of QisMRaster that is held only while the operation is in progress. The no. licenses required depends on the CONTROL PARAM supplied to the operation
| OPERATION | CONTROL PARAM |
|---|---|
Rasterize_win_queue_mt | n_processors |
Rasterize_win_queue_mt_paint_scratch_v2 | n_processors |
Rasterize_win_queue_mt_ext | n_processors |
Rasterize_large_disk_image | RLDI_THRNUM |
Rasterize_large_disk_image_paint_scratch_v2 | RLDI_THRNUM |
Rasterize_window_synthesized requires ONE license of QisMLayerSynth and is held while the operation is in progress
Product name :
QisMRasterLicense code :14827
The following operations require ONE license of QisMRaster per call that is held until a corresponding END operation
The following operations require ONE or MORE licenses of QisMRaster that is held only while the operation is in progress. The no. licenses required depends on the CONTROL PARAM supplied to the operation
| OPERATION | CONTROL PARAM |
|---|---|
| raster.queue_mt | thrnum_win |
| raster.large_disk_image | thrnum |
raster.synthesized requires ONE license of QisMLayerSynth and is held while the operation is in progress
| Feature | License | Operation |
|---|---|---|
| N threads | N x QISMMTOOL | QisMmTool::Create_proc() |
| Explode | (included)* | |
| Layer Synthesis | + N x QISMLAYERSYNTH | QisMmTool::First_lsynth() |
| Transform | (included) | |
| Unionize | + N x QISMBOOL | QisMmTool::Then_unionize() |
| Correct | + N x QISMCORRX | QisMmTool::Then_correct() |
| Semi-flat | (included) | |
| GDSII/OASIS output | (included) | |
| Image output | (included) | |
| Polygon output | (included) | |
| DB output | (included) |
N is the no. tile threads
* clipping polygons to tile extents requires N x QISMBOOL licenses
| Feature | License | Operation |
|---|---|---|
| N threads | N x QISMMTOOL | mtool.create_proc |
| Explode | (included)* | |
| Layer Synthesis | + N x QISMLAYERSYNTH | mtoolproc.first_lsynth |
| Transform | (included) | |
| Unionize | + N x QISMBOOL | mtoolproc.then_unionize |
| Correct | + N x QISMCORRX | mtoolproc.then_correct |
| Semi-flat | (included) | |
| GDSII/OASIS output | (included) | |
| Image output | (included) | |
| Polygon output | (included) | |
| DB output | (included) |
Code : 11131
Acquire : QisMPatterns::Create_patternizer
Release : QisMPatterns::Destroy_patternizer
Policy : One license per pattern db held from creation until destroyed
Code : 11131
Acquire : patterns.create_from_bstore, patterns.create_from_view
Release : patterns.destroy
Policy : One license per active pattern db held until destroyed
Product name :
QisMLOALicense code :4250
The following commands require ONE license of QisMLOA per call that is held until the corresponding END command
Product name :
QisMLOALicense code :4250
The following commands require ONE license of QisMLOA per call that is held until the corresponding END command
Product name :
QisMCorrXLicense code :11093
The following operations require ONE license of QisMCorrX that is held until the corresponding END function is called
Product name :
QisMCorrXLicense code :11093
The following commands require ONE license of QisMCorrX per call that is held until the corresponding END command
Product name :
QisMOdbPSLicense code :11502
Acquire : QisMOdbPS::Load_odb - one per call
Release : QisMOdbPS::Unload_odb - one per call
Policy : One license per ODB++ based database, held so long as the database persists
Product name :
QisMOdbPSLicense code :11501
Acquire : odbps.load - one per call
Release : odbps.unload - one per call
Policy : One license per ODB++ based database, held so long as the database persists. Actual license acquisition/release performed by the underlying QisMOdbPS C++ API
Product name :
QisMGbrPSLicense code :11501
Acquire : QisMGbrPS::Load_gbr
Release : QisMGbrPS::Unload_gbr
Policy : One per call
Product name :
QisMGbrPSLicense code :11501
Acquire : gbrps.load
Release : gbrps.unload
Policy : One per call
Product name :
QisMSnPUnionLicense code :11527
Create_exploder requires ONE license of 11527 which is held until that object is destroyed
Unionize_to_file requires N licenses of 11527 where N is the number of partitions to process in parallel. All the held licenses are released at the end of that operation
Product name :
QisMSnPUtilLicense code :11527
snputil.create_exploder requires ONE license of 11527 which is held until that object is destroyed
snputil.unionize_to_file requires N licenses of 11527 where N is the number of partitions to process in parallel. All the held licenses are released at the end of that operation
Product name:
QisMHExtractLicense code:11083
The following operations require ONE license of QisMHExtract acquired during BEGIN and held until END
The following operations require ONE license of QisMHExtract that is held only while the operation is in progress
| OPERATION |
|---|
| Create_db |
Product name:
QisMHExtractLicense code:11083
The following operations require ONE license of QisMHExtract acquired during BEGIN and held until END
The following operations require ONE license of QisMHExtract that is held only while the operation is in progress
| OPERATION |
|---|
| hextract.create_db |
Product name :
QisMRTCRLicense code :1303
| Operation | License Code | Policy |
|---|---|---|
| Setup_job | QisMRTCR | Check-out ONE license per call |
| End_job | QisMRTCR | Check-in ONE license per call |
| Create_rasterizer | QisMRaster | Check-out ONE license per call |
| Create_corrx_rasterizer | QisMRaster,QisMCorrX | Check-out ONE license of each per call |
| Destroy_rasterizer | QisMRaster,QisMCorrX | Check-in ONE license (of each) per call |
Product name :
QisMRTCRLicense code :1303
| Operation | License Code | Policy |
|---|---|---|
| rtcr.setup_job | QisMRTCR | Check-out ONE license per call |
| rtcr.end_job | QisMRTCR | Check-in ONE license per call |
| rtcrjob.create_rasterizer | QisMRaster,QisMCorrX | Check-out ONE license of each per call |
| rtcrjob.destroy_rasterizer | QisMRaster,QisMCorrX | Check-in ONE license (of each) per call |
Product name : QisMMRtcr
License code : 11303
Acquire : During New_image depending on the no. of threads requested (QisMMRtcrOpts::OPT_THRNUM)
Release : During Delete_image, all the licenses that were held are released at once
Policy : Depending on QisMMRtcrOpts::OPT_ANY_LIC, either all of the requested licenses MUST be available to proceed or any number of available licenses can be used
Product name : QisMMRtcr
License code : 11303
Acquire : During mrtcr.new_image depending on the no. of threads requested (thrnum={n})
Release : During mrtcr.delete_image, all the licenses that were held are released at once
Policy : Depending on anylic option, either all of the requested licenses MUST be available to proceed or any number of available licenses can be used
Product name:
QisMLayerSynthLicense code:11069
The following operations require ONE license of QisMLayerSynth, acquired during BEGIN and released during END
Product name:
QisMLayerSynthLicense code:11069
The following operations require ONE license of QisMLayerSynth, acquired during BEGIN and released during END
Product name:
QisMBoolFilesLicense code:11071
| Operation | No. Licenses | Notes |
|---|---|---|
| Booleanize_two_files | Get_window_threads (via options) | license is held only for the duration of the operation |
Product name:
QisMBoolFilesLicense code:11071
| Operation | No. Licenses | Notes |
|---|---|---|
| twofiles.xor | {ntiles} (via thrnum parameter) | license is held only for the duration of the operation |
Product name:
QisMClipExtractLicense code:31209
The following operations require license(s) held while the operation is in progress
| Code | Operation | No. Licences |
|---|---|---|
31209 | Extract_image | nThreadsE : no. clips to extract in parallel |
31209 | Extract_polygons | nThreadsE : no. clips to extract in parallel |
31209 | Extract_synthesized_polygons | nThreadsE : no. clips to extract in parallel |
Product name:
QisMClipExtractLicense code:31209
The following operations require license(s) held while the operation is in progress
| Code | Operation | No. Licences |
|---|---|---|
31209 | clip.extract_images | {n_window_threads} : no. clips to extract in parallel |
31209 | clip.extract_polygons | {n_window_threads} : no. clips to extract in parallel |
31209 | clip.extract_lsynth | {n_window_threads} : no. clips to extract in parallel |
Product name :
QisMLibLicense code :11003
Requires ONE license of QisMLib that will be held from initlialization until closing
Inidividual commands MAY require their own licenses
See qismlib webpage for detailed reference
Product name:
QisMcadWriterProduct code:16001(GDSII),16007(OASIS)
| Operation | Policy |
|---|---|
QisMcadWriterAPI::Open_CAD - GDSII | Acquire one license of 16001 per call |
QisMcadWriterAPI::Open_CAD - OASIS | Acquire one license of 16007 per call |
QisMcadWriterAPI::Close_writer | Release 16001 or 16007 depending on the format |
Product name:
QisMcadWriterProduct code:16001(GDSII),16007(OASIS)
| Operation | Policy |
|---|---|
cadwriter.open - format=GDSII | Acquire one license of 16001 per call |
cadwriter.open - format=OASIS | Acquire one license of 16007 per call |
cadwriter.close | Release 16001 or 16007 depending on the format |
| COUNT | CODE | OPERATION | NOTES |
|---|---|---|---|
| +/-1 | 11117 | C++ QisMWinQ::Run_st() | ONCE per call |
| +/-N | 11117 | C++ QisMWinQ::Run() | N per call, N = no. processors |
| +/-N | 11117 | C++ QisMWinQ::Run_hungry() | N per call, N = no. processors |
| COUNT | CODE | OPERATION | NOTES |
|---|---|---|---|
| +1 | 11113 | C++ QisMWindowProbe::Create_probe() | ONCE per call |
| -1 | 11113 | C++ QisMWindowProbe::Destroy_probe() | ONCE per call |
| +/-1 | 11113 | Script probe.window | ONCE per call |
| COUNT | CODE | OPERATION | NOTES |
|---|---|---|---|
| +1 | 11047 | C++ QisMClipper::Create_poly_instance() | ONCE per call |
| +1 | 11047 | C++ QisMClipper::Create_box_instance() | ONCE per call |
| -1 | 11047 | C++ QisMClipper::Destroy_instance() | ONCE per call |
| COUNT | CODE | OPERATION | NOTES |
|---|---|---|---|
| +1 | 11047 | C++ QisMBool::Create_instance() | ONCE per call |
| -1 | 11047 | C++ QisMBool::Destroy_instance() | ONCE per call |
| +1 | 11047 | Script bool.create_instance | ONCE per call |
| -1 | 11047 | Script bool.destroy_instance | ONCE per call |
| +/-N | 11047 | C++ QisMBoolV3::Unionize_queue_mt | N per call, N = no. processors |
Last Updated -- Tue Feb 10 18:58:03 UTC 2026