[Artwork] / [QisMLib] / [Programmer's Corner]
Version HistoryQisMLib Version Historyqismlib dll/so v3.43 (2026-01)qismlib dll/so v3.42.3 (2026-01)qismlib dll/so v3.42.2 (2025-12)qismlib dll/so v3.42.1 (2025-11)qismlib dll/so v3.42 (2025-11)qismlib dll/so v3.41 (2025-08)qismlib dll/so v3.40 (2025-07)qismlib dll/so v3.39.1 (2025-05)qismlib dll/so v3.39 (2025-05)qismlib dll/so v3.38 (2024-10)qismlib dll/so v3.37 (2024-08)qismlib dll/so v3.36 (2024-04)qismlib dll/so v3.35.2 (2024-01)qismlib dll/so v3.35.1 (2023-11)qismlib dll/so v3.35 (2023-11)qismlib dll/so v3.34.2 (2023-06)qismlib dll/so v3.34.1 (2023-05)qismlib dll/so v3.34 (2023-05)qismlib dll/so v3.33 (2022-08)qismlib dll/so v3.32 (2022-03)qismlib dll/so v3.31 (2022-03)qismlib dll/so v3.30 (2021-08)qismlib dll/so v3.29.1 (2021-02)qismlib dll/so v3.29 (2020-07)qismlib dll/so v3.28 (2020-07)qismlib dll/so v3.27.1 (2020-06)qismlib dll/so v3.27 (2020-02)qismlib dll/so v3.26.3 (2020-01)qismlib dll/so v3.26.2 (2020-01)qismlib dll/so v3.26.1 (2019-12)qismlib dll/so v3.26 (2019-12)qismlib dll/so v3.25.2 (2019-11)qismlib dll/so v3.25.1 (2019-11)qismlib dll/so v3.25 (2019-11)qismlib dll/so v3.24.4 (2019-10)qismlib dll/so v3.24.3 (2019-08)qismlib dll/so v3.24.2 (2019-08)qismlib dll/so v3.24.1 (2019-07)qismlib dll/so v3.24 (2019-07)qismlib dll/so v3.23.1 (2019-06)qismlib dll/so v3.23 (2019-04)qismlib dll/so v3.22.1 (2019-03)qismlib dll/so v3.22 (2018-07)qismlib dll/so v3.21 (2018-07)qismlib dll/so v3.20 (2018-06)qismlib dll/so v3.12, v3.12.1 (2018-04)qismlib dll/so v3.11 (2018-03)qismlib dll/so v3.10 (2018-02)qismlib dll/so v3.9 (2017-11)qismlib dll/so v3.8 (2017-10)qismlib dll/so v3.7 (2017-10)qismlib dll/so v3.6 (2017-07)qismlib dll/so v3.5.1 (2017-05)qismlib dll/so v3.5 (2017-05)qismlib dll/so v3.4 (2017-02)qismlib dll/so v3.3 (2017-01)qismlib dll/so v3.2 (2016-12)qismlib dll/so v3.1 (2016-12)qismlib dll/so v3.0 (2016-10)QisMRaster Version Historyqismraster dl/so v1.25 01-2026qismraster dl/so v1.24 08-2025qismraster dl/so v1.23.6 05-2025qismraster dl/so v1.23.5 03-2025qismraster dl/so v1.23.4 05-2024qismraster dl/so v1.23.3 01-2024qismraster dl/so v1.23.2 01-2024qismraster dl/so v1.23.1 12-2023qismraster dl/so v1.23 10-2023qismraster dl/so v1.22 10-2023qismraster dl/so v1.21 08-2023qismraster dl/so v1.20 04-2023qismraster dl/so v1.18 05-2022qismraster dl/so v1.17 03-2022qismraster dl/so v1.16.1 09-2021qismraster dl/so v1.15 08-2021qismraster dl/so v1.14 03-2021qismraster dl/so v1.13 09-2020qismraster dl/so v1.12 07-2020qismraster dl/so v1.11 06-2020qismraster dl/so v1.10 02-2020qismraster dl/so v1.9 12-2019qismraster dl/so v1.8 12-2019qismraster dl/so v1.7 09-2019qismraster dl/so v1.6 05-2019qismraster dl/so v1.5 02-2019qismraster dl/so v1.4 01-2019qismraster dl/so v1.3 11-2018qismraster dl/so v1.2 10-2018qismraster dl/so v1.1 06-2018QisMmTool Version History qismmtool dll/so v1.0 2024/02/13QisMPatterns Version History qismpatterns dl/so v1.0 2024-02-15QisMLOA Version Historyqismloa dll/so v1.4 2025-07-16qismloa dll/so v1.3 2023-11-27qismloa dll/so v1.2 2023-05-04qismloa dll/so v1.1 2022-07-22qismloa dll/so v1.0 2022-06-08QisMCorrX Version Historyqismcorrx dll/so v1.4 04-2023qismcorrx dll/so v1.3 02-2020qismcorrx dll/so v1.2 12-2019qismcorrx dll/so v1.1 10-2019qismcorrx dll/so v1.0 01-2019QisMOdbPS Version History qismodbps dll/so v1.3.1 06-2025qismodbps dll/so v1.3 09-2024qismodbps dll/so v1.2 11-2023qismodbps dll/so v1.1 05-2023qismodbps dll/so v1.0 02-2023QisMGbrPS Version Historyqismgbrps dll/so v1.6 11-2025qismgbrps dll/so v1.5.1 04-2025qismgbrps dll/so v1.5 04-2025qismgbrps dll/so v1.4 05-2024qismgbrps dll/so v1.3 06-2023qismgbrps dll/so v1.2.1 05-2023qismgbrps dll/so v1.2 03-2022qismgbrps dll/so v1.1 12-2021qismgbrps dll/so v1.0 06-2021QisMSnpUtil Version Historyqismsnputil dll 1.4.1 06-2025qismsnputil dll 1.4 19-05-2025qismsnputil dll 1.3 24-07-2024qismsnputil dll 1.2 11-2022qismsnputil dll 1.1 03-2022QisMHExtract Version Historyqismhextract dll/so v1.7.2 10-2024qismhextract dll/so v1.7.1 10-2024qismhextract dll/so v1.7 04-2023qismhextract dll/so v1.6.1 05-2020qismhextract dll/so v1.6 02-2020qismhextract dll/so v1.5 01-2020qismhextract dll/so v1.4 06-2019qismhextract dll/so v1.3 03-2019qismhextract dll/so v1.2 06-2018qismhextract dll/so v1.1 04-2018qismhextract dll/so v1.0 03-2018QisMRTCR Version Historyqismrtcr dll v1.6 04-2023qismrtcr dll v1.5 05-2022qismrtcr dll v1.4, v1.4.1 05-2020qismrtcr dll v1.3 12-2019qismrtcr dll v1.2 10-2019qismrtcr dll v1.1 08-2019qismrtcr dll v1.0 07-2019QisMMRtcr Version History qismmrtcr dll/so v1.0 04-2023QisMLayerSynth Version Historyqismlayersynth dll/so v2.7 06-2020qismlayersynth dll/so v2.6 08-2019qismlayersynth dll/so v2.5 06-2018qismlayersynth dll/so v2.4 02-2018qismlayersynth dll/so v2.3 11-2017qismlayersynth dll/so v2.1 08-2017qismlayersynth dll/so v2.0 07-2017qismlayersynth dll/so v1.0 03-2017QisMBoolFiles Version Historyqismboolfiles dll/so v1.4 08-2022qismboolfiles dll/so v1.3 02-2020qismboolfiles dll/so v1.2 07-2019qismboolfiles dll/so v1.1 06-2018qismboolfiles dll/so v1.0 02-2018QisMClipExtract Version Historyqismclipextract dll 1.13 11-2023qismclipextract dll 1.12.1 09-2021qismclipextract dll 1.11 09-2020qismclipextract dll 1.10 06-2020qismclipextract dll 1.9 02-2020qismclipextract dll 1.8 12-2019qismclipextract dll 1.7 12-2019qismclipextract dll 1.6 09-2019qismclipextract dll 1.5, 1.5.1 10-2018qismclipextract dll 1.4 06-2018qismclipextract dll 1.3 11-2017qismclipextract dll 1.2 03-2017qismclipextract dll 1.1 12-2016qismclipextract dll 1.0 12-2016QisMOasUtil Version History qismoasutil dll/so v1.5 02-2026qismoasutil dll/so v1.4 03-2025qismoasutil dll/so v1.3 02-2025qismoasutil dll/so v1.2 01-2025qismoasutil dll/so v1.1.1 10-2024qismoasutil dll/so v1.1 09-2024qismoasutil dll/so v1.0 06-2024QisMCmd (.NET Standard 2.0) Version Historyqismcmd_cs_s20 dll v1.1 03-2025qismcmd_cs_s20 dll v1.0 03-2024
New pre-processors QisMLoadProcOAS and QisMLoadProcHEXT based on QisMOasUtil and QisMHExtract respectively
New API QisMLogV4 to generate a vector log (GDSII)
Bug fix - Tile overlap during sizing in the Pre-processor
New command script.capture
Load pre-processor supports trusted/oem licensing
New API and command to pre-process a GDSII/OASIS/DBLOAD design before loading (QisMFileLoadCtrlV2)
New API and commands -- QisMBoundariesAPI
New API functions and commands QisMBoolInstV3 to import/export settings based on a text file
Bug Fix -- Clipping and window intersection check for round paths
New commands script.file_size and script.phys_mem_size
New commands file.copy_to and explcounter.count
Uses FlexNet Licensing v11.19.8.0
QisMBool API auto-partitioning supports polygon intersection calculation
Config. file system changed to allow for parameters to be passed to extensions during load (no such parameters exist at the moment)
draw.image has new color options
New script options expand={uu} for script.new_window_set, explcounter.break_window_by_crossing and explcounter.break_window_by_vertnum
script.window_set_to_file can now write the windows to Text, GDSII or OASIS
explcounter.break_window_by_crossing has two new options, thrnum= and minvert=
qismwinq.h has new capability to generate performance reports
file.print_cell_tree can write to file and suppress printing the tree
new exported function QisMCmd_set_error(..)
Bug-fix: Merging GDSII blocks in QisMcadWriter
New functions in qismcmd.h for working with handles (object pointers)
Certain double script variables have more precision (12 decimal places)
Log messages are explicitly flushed
New API QisMExploderV4
New commands exploder.get_cellref_boundaries and exploder.make_cellref_semiflat
New command bool.unionize_to_file
Display warnings from a GDSII/OASIS/Memmaps load using scripting
Updated CQisLib 5.19 with a fix for occasional error creating DBLOAD maps
New C++ API QisMcadWriterAPI to write GDSII/OASIS files
cadwriter script commands now make use of the new API
New built-in script string variable ((PLATFORM)) = WIN64 | LNX64
Bug fix: CMD_ABORT in script.procedure did not abort
New option extension={name} in script.if that is true only if the specified extension is loaded
Script Error/Abort routine. Add a script.procedure called CLEANUP to define anything that needs to be done if the script terminates abruptly
One can also use script.call CLEANUP to explicitly cleanup at the end of a normal script run
The procedure CLEANUP will only be called for QisMScript::Run_command_file(). If the application is running individual commands directly, it's the application's/user's responsibility to cleanup appropriately
Support for DOS-like regular-expressions in script.if
Support for implementing flows (qismflow.h)
Bug fix: Path to boundary conversion for round paths was not multi-thread safe
Modified file.print_cell_tree command to receive the tree as a string
New extern C API QisMCmd that provides a command-interface for .NET etc.
commands usage.required usage.option and usage.info (handled by qismscript64.exe) are treated as comments
new command script.ifset that set's a key to a new value only if it's defined (opposite of script.setif)
new options for script.if -- {key}~!{value} (key does not contain value}, {key}|{key}..|{key} (OR operation), {key}&{key}..&{key} (AND operation)
New API QisMScriptRunnerV2
Now script.foreach can also run a for loop between two numbers
Windows only --
License failure during library operation will cause the process to be terminated
Application that makes use of the new QisMLibV4 api will have the opportunity to close matters before this exit
New command script.convert for converting various values from one unit to another
Faster GDS writing on Windows
Support for generating C++ code from script commands (BETA)
QisMBool settings file name includes object index
QisMBndryWriter supports TIF8 format for images
New error tags (QisMError) in qismbase.h
New API QisMLogChannels for channel specific verbose logging
New script commands script.file_name, exploder.print_vectors
Misc. bug fixes and improvements in qismbool and scripting
script.foreach can read tokens from a text file
GDS BOX will now be converted into boundary during explosion (previously ignored)
bug fix - in the past, aref element vectors could be received without a preceding aref vector
new advanced controls for boolean settings
Ability to evaluate arithmetic expressions enclosed by [[..]] in script commands
Ability to pass a list of parameters to script.call command
New logging API QisMLogV2 with extended logging control
New utility script commands script.substr, script.tokenize , script.window_set_to_string
Misc. API changes in QisMBool, QisMFile, QisMExploder etc.
Support for trusted licensing
Support for compressed GDSII (.gz and .Z) on Windows (was available on linux from the start)
Much improved explcounter.break_window_by_crossing (QisMExplCounterV4::Break_window_by_vertcross) with a nearly constant memory footprint and multi-threaded operation
Relaxation of checks that prevented data grid from being too fine
Ability to define and execute procedures in QisMScript
New command script.if for conditional execution of commands
New command explcounter.break_window_by_crossing for generating a density map and corresponding C++ api QisMExplCounterV4
New API QisMLibV3 with support to make use of .load memory maps when loading a GDSII file and a corresponding script command lib.load_gds_with_mmaps
The EXTENSION entries in the config. file can now contain relative paths or no directories at all in which case the location of those entries is implied to be relative to the location of the QisMLib dll/so
New set of script command bool.* for performing boolean operations on polygons sets using the QisMBool API
New script command cadwriter.circle
New set of script commands cadwriter.* for composing a GDSII/OASIS file
New command script.window_set_to_file
lib.load_file script command defines two new string variables {filedb_id}.grid which represents the file grid in meters and {filedb_id}.units which defines the file units in meters
New script commands script.set and script.setif to define string variables
New API QisMWinQ to run a multi-threaded window queue with any window processing operation defined by the client
Bug fix: Spatial queries failed for designed with large data extents because of an integer overflow in the construction of the spatial db
New QisMScript command draw.image to render a view of the database to an image file on disk
New API QisMBoolXV2 for computing embedding levels for boundaries in a leonov data set
New API QisMExploderV3 to compute a density map (in form of tiles) based on the no. vertices contained within. This can be useful for efficient load sharing in multi-threaded queue operations
Also provides a corresponding QisMScript command explcounter.break_window_by_vertnum
Bug fix: QisMExploder Get_vector_data thread resources were not being freed on Linux resulting in rise in the memory footprint
New API QisMWindowProbe and corresponding script command probe.window
Misc. bug fixes
Misc. additions to QisMBoolSettings (qismbool.h)
New QisMScript commands for branching and loops
New QisMBool API (QisMBoolSettingV2 -- qismbool.h) with many more controls to flavor the results of boolean operations
QisMBStore (qismbstore.h) extended with some utility functions
New script commands for QisMFile, QisMExploder and QisMBStore
QisMScript. Built-in support for defining and executing script commands. Script commands can be executed by any application using QisMLib. Any code attached to the QisM system can also add commands. qismscript64.exe is a console app that can be used to run scripts
QisMExplCounter (qismexplcounter.h) has a new extension QisMExplCounterV2 to compute vertex counts up to the specified nesting level
New API : QisMFileOut (qismfileout.h). A unified interface to write boundaries to disk as GDSII/OASIS (vector) or TIFF/BMP/RAW (images)
Bug fix: QisMExplCounter::Get_counts_hierarchical crashed if the specified cell did not exist
New API : QisMLibV2::Set_working_dir to change the current working directory for the process using QisMLib
QisMLibV2 is an extension to the QisMLib class. It can be obtained as follows QisMLibV2* v2 = (QisMLibV2*)(qismlib->QisMLib_cast(2)); If (NULL == v2) { //error: New API QisMLibV2 not supported }
QisMDrawFlag::IFF_BITMAP8 on Windows generates BMP data (previously DIB). BMP = DIB + BITMAPFILEHEADER so that the image data can be processed by one of the many .bmp processing functions
Break in backwards compatibility. All applications built with earlier versions of QisMLib MUST be re-built
Method overloading removed from all classes because of incompatibilities with non-MSVC compilers on Windows
To prevent accidental use with older QisMLib, QisMLib_initialize_once fn has been replaced by QisMLib_initialize_once_ext so that the run-time will fail immediately. The application does not have to call QisMLib_initialize_once_ext. They can continue to call QisMLib_initialize_once exactly as before. QisMLib_initialize_once is now a macro that redirects to QisMLib_initialize_once_ext
Internal limit on the number of active files/exploders removed. These are not only contrained by the system resources (or licenses in case of exploders)
New licensed API QisMClipper (qismclipper.h) for computing interaction of boundaries and paths with a set of windows/regions
New API QisMLog (qismlog.h) for system-wide logging in QisMLib
Some QisMLib_initialize_once options can be delivered by environment vars
Break in the API compatibility. All apps/libs using QisMLib 3.9 and it's extensions MUST be re-built using the new header files
The temp. heade file qismlib_extras.h is no longer available. It's two 'C" functions have been incorporated into QisMFileLoadCtrl class (qismfile.h)
Bug-fix: QisMBool boolean functions returned error if set A was empty. This has been fixed. Set A can be empty
Extension to QisMExploder to explode boundaries and cell references
Bug Fix: Unloading files did not decrement the file index resulting in QisMLib reaching the max. number of files open
OASIS code is now optimized for multi-threaded use
New function QisMFileLoadCtrl_ignore_text_scale and to force text scale to 0.0 upon load in order to avoid using text extents in the computation of cell extents just like OASIS
New function QisMFileLoadCtrl_load_empty_refs to control if the empty refs are loaded. If ignore-text-scale is ON, the load-empty-refs becomes necessary for cells containing only texts since those cell's extents will become 0,0,0,0
Support for loading multiple files enables. API remains the same. Previously, QisMLib::Load_file unloaded the previously file automatically before loading a new file. Now, each call to QisMLib::Load_file creates a new QisMFile handle
New QisMExplCounter function that uses hierarchical explosion to get counts much faster then the other method
Build error: Undefined symbol SystemInfo::Get_num_processors()
New extension api QisMBoolX
Bug Fix: Multi-threaded access issues affecting QisMDraw::Redraw_image for XPM format
Improvement: All methods accepting string parameters (lists) are immune to presence of spaces
New extension api QisMExplCounter
Bug fix: Error message for license failure
Bug-fix : Get_vector_data (qismexploder.h) was returning true even if the client interrupted execution via callback return code
New QisMLib_initialize_once arg (-qismcfg) to specify a config file other than qismlib.cfg or to not load any config at all
Bug-fix: QisMLib::Load_file crashed if QisMLib::Unload_file was used to close the previous file
Bug-fix: Undefined reference error for QisMDrawObject::Get_display_vector_data
Support for creating memory maps (qismfile.h - QisMFileMemoryMaps)
API to get exploded counts for a cell+layer (QisMFile::Get_cell_layer_exploded_vertices)
Bug-fix : Exploders were not being freed correctly leading to an error after 512 calls to QisMFile::Create_exploder
Buf-fix : GDSII/OASIS/Dbload errors were not handled correctly
First cut with the QisMDraw extension
Bug fix: File was not loaded to memory inspite of the setting being ON because of improper order of execution of the SetLoadMemory setting
First cut
Support for a new path rasterizer (OrthoPath)
Bug fix - OemDither
New command raster.compute_px_sz
New command raster.get_buffer_info
Rasterization commands that generate a single image also register a handle of type unsigned char* with the same name as the rasterizer
New command oemdither.4x4 (reserved for internal use)
New API QisMRasterizerV11
Bug fix: Joints of paths with segments at highly obtuse angles were being rasterized improperly
New API QisMRasterizerV10 with some more options for overlaying data
New API QisMFormatterV4
New script commands raster.overlay_path and raster.format_image
Refresh callbacks during rasterization that also doubles as a mechanism to terminate it
Circle rasterization for paint&scratch is now multi-threaded
New support for rasterizing ellipses and paths natively
New API QisMRasterParamsV5 that provides generic Set/Get methods
New ON/OFF control to rasterize PATHs natively
New API QisMRasterizerV8 overlaying ellipses and paths on an existing image
New API QisMRasterNotifyV2 to get access to the thread-local rasterizer objects when using the *queue* based rasterization methods
New API QisMRasterPolygonSetV4 to add polygons to a polygon set
New API QisMRasterizerV7 for overlaying single polygons, creating a new blank image for subsequent overlays etc.
New API QisMRasterSharedBuf and QisMRasterV7 for having multiple rasterizers work together on a single shared image buffer
Support for 2x2 subsampling
New API QisMRasterPolygonSetV3 to allow third party polygon sets to feed data to the rasterizer
New API QisMFormatterV3 for writing big tiff format
Improved rasterization where single pixel aberrations have been fixed
Raster buffer is only re-allocated if the new image size greater than old or less than 2/3rd of the old
Multi-threaded TIF/TIF8 formatting for large disk images
New API and script for rasterizing paint & scratch data
New API and script for rasterizing very large images straight to disk (because there is not enough system memory to hold the image)
Limited support for trusted licensing
New API QisMRasterizerV4::Rasterize_px_window and script command raster.px_window to rasterize an exact window (without adjustments)
New API QisMRasterizerV3::Rasterize_window_paint_scratch and equivalent qismscript command raster.window_paint_scratch to rasterize a set of layers representing paint and scratch polygons
Fix for a bug in the window adjustment computation that could potentially introduce 1 pixel gaps between contiguous windows.
bug-fix: raster queue API resource&license leak
New image format QisMRasterFlags::IFF_VBMP for a bottom-top BMP image where only the header (biHeight) value is changed
New parameter option format=VBMP for the commands raster.create_params
bug fix: top row of a raster image was blank
New API QisMRasterV3 to rasterize a queue of windows using multiple window threads
New script commands raster.queue_mt, raster.get_pixelsize, raster.get_dpi, raster.compute_buf_sz, raster.compute_tile_sz
Improvement - Rasterization of vertical manhattan polygons (stripes) was significantly slower than comparable horizontal stripes
New rasterization parameter to generate bottom-up image (reverse-y)
Support for scripting using QisMScript
Bug-fix: Raster compare two files crashed when cell names were different
New API: QisMRasterWriter and QisMRasterV2 for creating an image writer that can write one or more polygons at a time
Support for comparing two files (QisMRstrCmp2Files)
Linux Build change -- the optimization flag in use -O1 was found to cause slower performance. -O3 fixes that issue
New API extension QisMRasterPolygonSetV2 to import polygons from QisMBStore
New API extension QisMRasterizerV2 with functions to generate multiple raster images from a preset cell, layers and overlay polygons on an existing raster image as well as enabling overlay via multiple rasterization calls
Bug fix: Significant jump in memory footprint if the raster window crosses polygon(s) that are significantly taller (along Y) relative to the window of interest
Compatible with QisMLib v3.20 (API break)
This extension will not load with earlier versions of QisMLib
First cut
First cut
New API/command to merge annotations with a paint&scratch DB to create a paint&scratch file
New API/command to merge annotations and load the output to a new DB
Bug fix - Crash when New_annotation_set was called repeatedly a certain number of times
Text strings can containing commas now
New command create_ann_set_from_file that reads the annotation text file format
Bug fix - single pixel at the very end of a row was dropped
Improved TTF font support
First cut
Bug fix - QisMCorrXObj::Get_corrected_extents
New API QisMAffineX to apply affine transformations
New script command corrxobj.correct_window_extents
Support for scripting with QisMScript
QisMCorrXObj extended to V3 to retrieve the underlying QisMFile db
New feature (QisMCorrXObjV2) with the ability to compute corrections for arbitrary list of points and use an existing rasterizer (QisMRasterizer) (using the QisMRaster extension) to generate raster image from the corrected polygons
First cut
Fix to disable console popup during cleanup
Improved progress updates and ability to interrupt the load
Support for basic transformations (rotate, mirror, scale)
Suppresses console window of the translator
First cut
New API and script commands to query dcodes in a region-of-interest
Fix to avoid console popup during cleanup
gbrpsfile.print_meta can be used to retrive values for image polarity and ignore layers
Default behavior w.r.t path data has changed. Now, by default paths are present in the newly created DB. This can be overriden using a new option
Sizing will force the conversion of paths to boundaries
Ability to support files with large SR counts
Bug fix - If only arcres was specified, it was reset to 0.0 causing issues in the underlying engine
Support for sizing
Bug fix - Loading failed if QisMLib was initialized without logging (QisMLog)
First cut
Misc. fixes and improvements
New QisMSnPExploder
New API and script commands to unionize to file and booleanize two files using a multi-threaded Queue
Breaking change in the qismsnpunion.h API
Speed improvement by not having to merge partition lines for scratch data in Pre_process_to_file
New APIs QisMSnPExploder, QisMSnPUnion to get paint & scratch data as well as generate a unionized (positive-only) file on disk
bug fix - crash during initialization when QisMLog was not enabled by the application
Fix to suppress console popup during Create_db/Destroy_db
hextract script commands use the new QisMcadWriterAPI
Bug-fix : OASIS files with Arrays
BREAKING CHANGE in the API. v1.7 is not compatible with older clients. All clients MUST be re-compiled with the new header file.
New script command hextract.select_dbu and new options to enable extraction to an output with a different grid, units
New API QisMHExtractV2 to create a database from an extraction of the source database
New scripting commands hextract.create_db, hextract.destroy_db and hextractfile.save_as
Support for clipping and extracting zero width paths
Support for scripting with QisMScript
QisMHExtractOpts extended to V2 to set layer offset for output
QisMHExtractor extended to V2 to get human readable extraction report
Compatible with QisMLib 3.20 (API break)
This extension will not load with earlier versions of QisMLib
API to receive progress updates during extraction (QisMHExtractUpdate)
Bug-fix: Loading the qismhextract64.so caused a crash because of invalid use of dynamic_cast
First cut
Support for TIF8 in script commands
Support for 2x2 subsampling
VS 2015 port
Bug fix - adding annotations
bug fix: top row of a raster image was blank
New API QisMRTCRJobV3::Get_raster_image_opts as an alternative to QisMRTCRJob::Get_raster_image for specifying additional image options
Script command rtcrjob.get_raster_image has a new option bottom_to_top
QisMScript command rtcr.create_rasterizer has been updated to support second level corrections
New feature (QisMRTCRJobV2) to create a rasterizer object with the ability to apply second level corrections to every image generated by it
Misc. bug fixes
First cut
First cut
misc. bug fixes & memory leaks
New API QisMLayerSynthObjectV2 to facilitate advanced control of the results by specifying the QisMBoolSettingsV2 object
Support for scripting via QisMScript
Compatible with QisMLib 3.20 (API break)
This extension will not load with earlier versions of QisMLib
New LSynthNotify extension to check with the client if the layer synthesis is to be terminated
Compatible with QisMLib v3.9 (API break)
New feature LSynthSpec::Remove_partitions to remove thread partitions or not after boolean operations
Bug fix: Rounding error during conversion of double to int
Support for a new post-fix layer synthesis expressions which is both compact and more efficient. This should be the best way to use layer synthesizer
First cut
Improved script command twofiles.xor with new options margin and xorinput
Support for scripting with QisMScript
New advanced arg ARGT_QISMBOOLOPTS for Booleanize_two_files so that the client can flavor the output of the boolean operations beyond what is permitted by the API
Compatible with QisMLib 3.20 (API break)
This extension will not load with earlier versions of QisMLib
First cut
Uses the most recent rasterizer
Misc. bug fixes
Improved rasterization where single pixel aberrations have been fixed
Raster buffer is only re-allocated if the new image size greater than old or less than 2/3rd of the old
Ability to terminate clip extract during layer synthesis
misc. bug fixes & memory leaks
New image format QisMClipExtractFlags::VBMP for a bottom-top BMP image where only the header (biHeight) value is changed
New parameter option format=VBMP for the command clip.extract_images
bug fix: top row of a raster image was blank
Improvement - Rasterization of vertical manhattan polygons (stripes) was significantly slower than comparable horizontal stripes
Support for bottom-to-top rasterization (reverseY)
Support for scripting (with QisMScript)
Misc. bug fixes
Major bug fix in the rasterizer that caused a steep rise in the memory footprint for polygons/paths that are extremely long along Y relative to the window/pixelsize in question
Compatible with QisMLib v3.20 (API break)
This extension will not load with earlier versions of QisMLib
Compatible with QisMLib v3.9 (API break)
New api QisMClipExtractV2 to extract clips of synthesized data using QisMLayerSynth
Bug Fix: File was not being loaded to memory
Bug Fix: Initialization of boolean inside a thread was causing a crash
First cut
Bug fix: GDS writer for multiple XY records
Bug fix: Installation path with spaces caused failure
Bug fix: Returning a non-zero code from OasUtilNotify did not terminate the processing
Bug fix: Inconsistent progress updates. Some messages were being written to stderr
Bug fix: Processing TRAPEZOIDs
New options workdir, dbg for oas2dbload command
C++ API for QisMOasUtil
Ability to map layers, drop texts and drop cells by names/regular expressions
Ability to generate .gds.gz
Ability to create a filedb (QisMFile*) from OASIS
Script command to create dbload memory maps from OASIS file
First Cut
New API functions to get access to object handles and setting error message
First cut
Last Updated -- Tue Feb 10 18:58:06 UTC 2026