[Artwork] / [QisMLib] / [Programmer's Corner]
Version History
2022-jun
qismlib package win64 1.21
qismloa dll 1.0
loaclient exe 1.0
2022-may
qismlib package win64 1.20.2
qismrtcrclient exe 3.2
- Support for 2x2 sub-sampling
- Support for BigTIFF format (for files larger than 4GB)
- VS 2015 port
qismrtcrextn dll 1.5
- Support for 2x2 subsampling
- VS 2015 port
qismraster dll 1.18
- Support for 2x2 subsampling
2022-apr
qismlib package win64 1.20.1
qismlib package lnx64 1.20.1
qismgbrps dll 1.1
qismgbrip exe 1.1
2022-mar
qismsnputil dll 1.1
- bug fix - crash during initialization when
QisMLog
was not enabled by the application
qismlib dll 3.32
script.foreach
can read tokens from a text file- GDS
BOX
will now be converted into boundary during explosion (previously ignored)
qismlib package win64 1.20
qismlib package lnx64 1.20
qismlib dll 3.31
- bug fix - in the past, aref element vectors could be received without a preceding aref vector
- new advanced controls for boolean settings
qismraster dll 1.17
- New API
QisMRasterPolygonSetV3
to allow third party polygon sets to feed data to the rasterizer - New API
QisMFormatterV3
for writing big tiff format
2021-dec
qismlib package win64 1.19
qismlib package lnx64 1.19
- API support for QisMGbrip
qismgbrps dll 1.1 (beta)
- bug fix - load failed if QisMLib was initialized without logging (QisMLog not found)
2021-sept
qismlib package win64 1.18
qismlib package lnx64 1.18
qismgbrps dll 1.0 (beta)
- First release of the Gerber (RS274X) import extension
qismgbrip exe 1.0 (beta)
- First release of the console application to rasterize Gerber (RS274X) data
qismclipextract dll 1.12.1
- 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
qismraster dll 1.16.1
- 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
2021-aug
qismlib dll 3.30
- Ability to evaluate arithmetic expressions enclosed by
[[..]]
in script commands - Ability to pass a list of parameters to
script.call
command
qismraster dll 1.15
- Multi-threaded TIF/TIF8 formatting for large disk images
2021-apr
qismscript exe 1.3
- Support for trusted licensing
2021-mar
qismraster dll 1.14
- 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
2021-feb
qismlib dll 3.29.1
- 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
2020-sep
qismraster dll 1.13
- New API
QisMRasterizerV4::Rasterize_px_window
and script command raster.px_window
to rasterize an exact window (without adjustments)
qismclipextract dll 1.11
- Ability to terminate clip extract during layer synthesis
2020-aug
qismlib package win64 1.15
qismlib package lnx64 1.15
2020-jul
qismxor2files exe 1.3.2
- Fixed a bug that caused an error if the layers to be compared do not contain geometries
qismlib dll 3.29
- Support for compressed GDSII (.gz and .Z) on Windows (was available on linux from the start)
qismraster dll 1.12
- 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.
qismlib dll 3.28
- Much improved
explcounter.break_window_by_crossing
(QisMExplCounterV4::Break_window_by_vertcross
) with a nearly constant memory footprint and multi-threaded operation
2020-jun
qismntrcapp exe 1.5
- Output GDSII file writes each net in it's own cell --
NET{number}
qismlib package win64 1.14
qismlib package lnx64 1.14
qismlib dll 3.27.1
- Relaxation of checks that prevented data grid from being too fine
qismraster dll 1.11
- bug-fix: raster queue API resource&license leak
qismlayersynth dll 2.7
- misc. bug fixes & memory leaks
qismclipextract dll 1.10
- misc. bug fixes & memory leaks
2020-may
qismhextract dll 1.6.1
- New script command
hextract.select_dbu
and new options to enable extraction to an output with a different grid, units
qismrtcr dll 1.4, 1.4.1
- Bug fix - adding annotations
2020-apr
qismlib package win64 1.13
qismlib package lnx64 1.13
2020-mar
qismgerber dll 1.1
- Mechanism to interrupt the loading of a Gerber file
2020-feb
qismboolfiles dll 1.3
- Support for scripting with QisMScript
qismhextract dll 1.6
- 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
qismlib dll 3.27
- 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
qismcorrx dll 1.3
- New script command
corrxobj.correct_window_extents
qismlib package lnx64 1.12
qismlib package win64 1.12
qismrip exe 2.3
- New parameter option
-format:VBMP
for a bottom-top BMP image where only the header (biHeight
) value is changed
qismraster dll 1.10
- 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
clipextract exe 2.10
- New parameter option
+format:VBMP
for a bottom-top BMP image where only the header (BiHeight
) value is changed
qismclipextract dll 1.9
- 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
2020-jan
qismlib package win64 1.11
qismhextract dll 1.5
- Support for scripting with QisMScript
qismscript exe 1.2
- new commands
sleep
and askif
qismoasfilt dll 1.0
- First cut. Has QisMScript support
qismlib dll 3.26.3
- New set of script command
bool.*
for performing boolean operations on polygons sets using the QisMBool
API - New script command
cadwriter.circle
qismlib package win64 1.10
qismgerber dll 1.0
qismlib dll 3.26.2
- New set of script commands
cadwriter.*
for composing a GDSII/OASIS file
2019-dec
qismlib package lnx64 1.09
qismlib package win64 1.09
qismrtcr dll 1.3
- 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
qismraster dll 1.9
qismclipextract dll 1.8
- bug fix: top row of a raster image was blank
qismlib dll 3.26.1
- New command
script.window_set_to_file
qismlib package win64 1.08
qismlib package lnx64 1.08
qismcorrx dll 1.2
- Support for scripting with QisMScript
- QisMCorrXObj extended to V3 to retrieve the underlying QisMFile db
qismraster dll 1.8
- 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
qismclipextract dll 1.7
- Improvement - Rasterization of vertical manhattan polygons (stripes) was significantly slower than comparable horizontal stripes
qismscript exe 1.1
- Alternate way to define string variables at command-line
{var_name}={value}
instead of -set:{var_name}={value}
qismlib dll 3.26
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
2019-nov
qismlib package win64 1.07
qismlib package lnx64 1.07
qismlib dll 3.25.2
- 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
qismlib dll 3.25.1
- New API QisMBoolXV2 for computing embedding levels for boundaries in a leonov data set
qismlib dll 3.25
- 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
2019-oct
qismlib package win64 1.06
qismrtcr dll 1.2
- 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
qismcorrx dll 1.1
- 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
qismlib dll 3.24.4
- Bug fix: QisMExploder Get_vector_data thread resources were not being freed on Linux resulting in rise in the memory footprint
2019-sep
qismlib package win64 1.05.1
qismlib package lnx64 1.05.1
qismrip exe 2.2
- New option -bottom-to-top to control direction of rasterization along Y
qismraster dll 1.7
- New rasterization parameter to generate bottom-up image (reverse-y)
- Support for scripting using QisMScript
clipextract exe 2.9
- Support for bottom-to-top rasterization (reverseY)
- Misc. bug fixes
qismclipextract dll 1.6
- Support for bottom-to-top rasterization (reverseY)
- Support for scripting (with QisMScript)
- Misc. bug fixes
2019-aug
qismrtcr dll 1.1
qismlib dll 3.24.3
- New API QisMWindowProbe and corresponding script command
probe.window
- Misc. bug fixes
qismlib dll 3.24.2
- Misc. additions to QisMBoolSettings (qismbool.h)
- New QisMScript commands for branching and loops
2019-jul
qismrtcrclient exe 3.1
- Uses the QisMRTCR extension API
qismrtcr dll 1.0
hextractor exe 4.2
- New option -layermap: to re-map/filter input layers
qismboolfiles dll 1.2
- 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
qismlayersynth dll 2.6
- New API QisMLayerSynthObjectV2 to facilitate advanced control of the results by specifying the QisMBoolSettingsV2 object
- Support for scripting via QisMScript
qismlib dll 3.24.1
- 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 exe 1.0
qismlib dll 3.24
- 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
2019-jun
qismhextract dll 1.4
- QisMHExtractOpts extended to V2 to set layer offset for output
qismlib dll 3.23.1
- QisMExplCounter (qismexplcounter.h) has a new extension QisMExplCounterV2 to compute vertex counts up to the specified nesting level
2019-may
qismlib package win64 1.04
qismlib package lnx64 1.04
qismxor2files exe 1.3.1
- Fix: misleading error message when the execution was aborted (when the number of differences exceeded the specified limit)
qismrstrcmp2files exe 1.1
- Bug-fix: Raster compare two files crashed when cell names were different
qismraster dll 1.6
- 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
2019-apr
qismlib package win64 1.03
qismlib package lnx64 1.03
qismxor2files exe 1.3
- New options -layermapA: and -layermapB: to re-map layers in the two files so that the layers being compared have the same layer:datatype numbers
qismlib dll 3.23
- New API : QisMFileOut (qismfileout.h). A unified interface to write boundaries to disk as GDSII/OASIS (vector) or TIFF/BMP/RAW (images)
2019-mar
qismhextract 1.3
- QisMHExtractor extended to V2 to get human readable extraction report
qismlib dll 3.22.1
- Bug fix: QisMExplCounter::Get_counts_hierarchical crashed if the specified cell did not exist
2019-feb
qismlib package win64 1.02
qismlib package lnx64 1.02.1
qismrstrcmp2files exe 1.0
qismraster dll 1.5
- 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
2019-jan
qismcorrections exe 1.0
qismcorrx dll 1.0
qismraster dll 1.4
- New API extension QisMRasterPolygonSetV2 to import polygons from QisMBStore
2018-dec
qismrtcrclient exe 3.0
2018-nov
qismraster dll 1.3
- 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
2018-oct
qismlib package win64 1.01.1
qismlib package lnx64 1.01.1
qismraster dll 1.2
- 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
qismlib package win64 1.01
qismlib package lnx64 1.01
clipextract exe 2.7
qismclipextract dll 1.5, 1.5.1
- 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
2018-sep
qismlib package win64 1.00
qismlib package lnx64 1.00
2018-jul
qismntrcapp exe 1.4.1
qismntrc dll 1.7, 1.7.1
- Compatible with QisMLib 3.20 (API break)
- This extension will not load with older versions of QisMLib
- QisMNtrcObject base class has been removed, New_object and Delete_object methods changed
qismlib dll 3.22
- 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 }
qismlib dll 3.21
- 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
2018-jun
hextractor exe 4.1
- Compatible with QisMLib 3.20 (API break)
qismhextract dll 1.2
- 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)
qismxor2files exe 1.2
qismboolfiles exe 1.2
- Compatible with QisMLib 3.20 (API break)
qismboolfiles dll 1.1
- Compatible with QisMLib 3.20 (API break)
- This extension will not load with earlier versions of QisMLib
qismrip exe 2.1
- Compatible with QisMLib v3.20 (API break)
qismraster dll 1.1
- Compatible with QisMLib v3.20 (API break)
- This extension will not load with earlier versions of QisMLib
clipextract exe 2.6
- Compatible with QisMLib 3.20 (API break)
qismclipextract dll 1.4
- Compatible with QisMLib v3.20 (API break)
- This extension will not load with earlier versions of QisMLib
layersynthapp exe 2.3
- Compatible with QisMLib 3.20 (API break)
qismlayersynth dll 2.5
- Compatible with QisMLib 3.20 (API break)
- This extension will not load with earlier versions of QisMLib
gds2dbload exe 1.6.4
- compatible with QisMLib 3.20 (breaking change)
dbload2gds exe 1.6.4
- compatible with QisMLib 3.20 (breaking change)
gds2dbload exe 1.6.3
- Fixed a minor memory leak
dbload2gds exe 1.6.3
- Fixed a minor memory leak
qismlib dll 3.20
- 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
2018-apr
qismhextract dll 1.1
- Bug-fix: Loading the qismhextract64.so caused a crash because of invalid use of dynamic_cast
qismlib dll 3.12, 3.12.1
- 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)
2018-mar
hextractor exe 4.0
qismhextract dll 1.0
qismntrc dll 1.6
- Bug-fix: In defining the stackup, it's OK to use a layer:dttp multiple times within the same order/expression. Previously, this caused an error. It's not OK to use layer:dttp across multiple order/expressions though
qismlib dll 3.11
- New licensed API QisMClipper (qismclipper.h) for computing interaction of boundaries and paths with a set of windows/regions
2018-feb
qismxor2files exe 1.1
qismboolfiles exe 1.1
- Enables QisMLib system-wide logging (QISM_ARG_LOGFP)
qismntrc dll 1.5
- Net_refresh_mt callbacks are sent even as nets are being computed. Previously, they originated only at the beginning of processing a tile
clipextract exe 2.5
- Enables QisMLib system-wide log (QISM_ARG_LOGFP)
layersynthapp exe 2.2
- Enables QisMLib system-wide logging (QISM_ARG_LOGFP)
qismlayersynth dll 2.4
- New LSynthNotify extension to check with the client if the layer synthesis is to be terminated
gds2dbload exe 1.6.2
- Enables QisMLib system wide logging (QISM_ARG_LOGFP)
dbload2gds exe 1.6.2
- Enables QisMLib system wide logging (QISM_ARG_LOGFP)
qismlib dll 3.10
- New API QisMLog (qismlog.h) for system-wide logging in QisMLib
- Some QisMLib_initialize_once options can be delivered by environment vars
2017-nov
qismxor2files exe 1.0
qismboolfiles exe 1.0
qismboolfiles dll 1.0
qismntrc dll 1.4
- API Breaking change. Compatible with QisMLib 3.9
clipextract exe 2.4
- Compatible with QisMLib v3.9 (API break)
qismclipextract dll 1.3
- Compatible with QisMLib v3.9 (API break)
layersynthapp exe 2.1
- Compatible with QisMLib v3.9 (API break)
qismlayersynth dll 2.3
- Compatible with QisMLib v3.9 (API break)
- New feature LSynthSpec::Remove_partitions to remove thread partitions or not after boolean operations
qismlib dll 3.9
- 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
2017-oct
qismlib dll 3.8
- Bug Fix: Unloading files did not decrement the file index resulting in QisMLib reaching the max. number of files open
qismlib dll 3.7
- 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
2017-aug
qismntrc dll 1.3
- Bug fix: Possibility of a deadlock in the trace thread if the trace is interrupted
qismlayersynth dll 2.1
- Bug fix: Rounding error during conversion of double to int
2017-jul
qismntrc dll 1.2
- New API to define driver related METAL/CONTACT/DIFF in the stackup
- New API to enable/diable driver detection for any trace
- New API function to pre-compute optimal tiling parameters for a given file/stackup/cell
- New API to control when the net polygons are sent to the client - during trace (live, multiple threads) or after trace (default, single thread)
qismntrc dll 1.1
- New API to define a stackup
- Redesigned data processor resulting in 2x speed up
- Using a faster and more precise vertex counter for improved auto-tiling
- In point trace, if the seed layer is 65535, all metal layers containing the seed point are treated as seeds for tracing nets (Open point trace) potentially resulting in multiple nets
layersynthapp exe 2.0
- 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
qismlayersynth dll 2.0
- 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
qismlib dll 3.6
- 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
2017-may
qismntrc dll 1.0
qismlib dll 3.5.1
- Build error: Undefined symbol SystemInfo::Get_num_processors()
qismlib dll 3.5
- 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
2017-mar
clipextract exe 2.3
- New: Support for layer synthesis via new commandline -lsynth: and making use of the extension qismlayersynth
qismclipextract dll 1.2
- New api
QisMClipExtractV2
to extract clips of synthesized data using QisMLayerSynth
layersynthapp exe 1.0
qismlayersynth dll 1.0
2017-feb
qismlib dll 3.4
- 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
2017-jan
qismlib dll 3.3
- 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
2016-dec
qismlib dll 3.2
- First cut with the QisMDraw extension
2016-nov
clipextract exe 2.0, 2.1
qismclipextract dll 1.1
- Bug Fix: File was not being loaded to memory
- Bug Fix: Initialization of boolean inside a thread was causing a crash
qismclipextract dll 1.0
qismlib dll 3.1
- Bug fix: File was not loaded to memory inspite of the setting being ON because of improper order of execution of the SetLoadMemory setting
2016-oct
qismlib dll 3.0
417 Ingalls St. Unit C, Santa Cruz, CA 95060 831.426.6163 email:
info@artwork.com