A command-line application to create hight resolution raster images from an ODB file using QisMLib, QisMOdbScan, QisMOdbPS and QisMRaster
qismodbrip64.exe {REQUIRED} [APP OPTIONS] [ODB OPTIONS] [OUTPUT OPTIONS] [G2K OPTIONS] [ADVANCED OPTIONS]
To display the list of options available use -h:
xxxxxxxxxxqismodbrip64.exe -h
xxxxxxxxxx-job:{path_to_odb_file}
path_to_odb_file is the path of a valid ODB file
xxxxxxxxxx-outdir:{path_to_output_directory}
path_to_output_directory is the path to a valid directory for output
xxxxxxxxxx-workdir:{path_to_working_directory}
path_to_working_directory is the path to a valid directory for temporary working files
xxxxxxxxxx-step:{stepname[,layer1,layer2,...]}
stepname is a valid stepname from the ODB input file
The layers listed after the stepname are optional and specific layers you want to process
If no layers are provided then all relevant layers from the stepname will be processed
xxxxxxxxxx-silent
Enables silent mode so no messages will be sent to STDOUT
xxxxxxxxxx-log:{path_to_logging_file}
path_to_logging_file is where the logging messages will be saved
By default logging is enabled and will use the output file name as the basename
xxxxxxxxxx-nolog
Disables logging
xxxxxxxxxx-keep_tmpfiles
Prevents clean up of the temporary working files located in the working directory
xxxxxxxxxx-thrnum:{integer}
Set the maximum number of threads available
xxxxxxxxxx-ram:{integer}
Sets the estimated raster buffer size (min 200 mb, max 80% of system memory)
If not set then the default buffer size is set to 80% of system memory
The rasterization mode is determined based on the buffer and image sizes:
If (image size <= buffer size) then it will be rasterized in memory
If (image size > buffer size) then it will be rasterized to disk
These options requires that no layers to be specified with the '-step:
xxxxxxxxxx-scan_mode:{board_only | net_layers}
board_only filters the ODB file and only includes layers with "board" context
net_layers filters the ODB file and only includes net specific layers
By default there is no filtering and all layers will be processed regardless of context or type
xxxxxxxxxx-includel:{layer_list}
layer_list is a comma-delimited list of layers to be rasterized
Example of a layer_list is -includel:lyr1,lyr2,...
By default all layers will be imported and traversed
xxxxxxxxxx-omit_groups:{group_list}
group_list is a comma-delimited list of groups for which their layers will be omitted
Example of a group_list is -omit_groups:grp1,grp2,...
Valid groups to omit: silkscreen, soldermask, component, rout
Only works in combination with -scan_mode:net_layers
By default no groups are omitted
xxxxxxxxxx-out:{basename}
Uses the basename as a basename for the output
i.e. 'basename_layername.tif'
By default the name will be derived from the 'layername' being processed
xxxxxxxxxx-pack
Sets output type to be TIFF (packbits)
xxxxxxxxxx-tiff
Sets output type to be TIFF (packbits)
xxxxxxxxxx-bigtiff
Sets output type to be Big TIFF (packbits)
xxxxxxxxxx-bmp
Output file is type BMP (unencoded)
xxxxxxxxxx-dpi:{double}
Sets the dots per inch
xxxxxxxxxx-dpm:{double}
Sets the dots per mm
xxxxxxxxxx-pixelsize:{double}
Sets the pixel size in the units provided
Default is 0.005 in mm
xxxxxxxxxx-unit:{inch | mm}
Sets the unit of conversion to inch or mm
By default the unit is mm
xxxxxxxxxx-arcres:{double}
Sets the arc res
The default auto-selects a value based on the data
xxxxxxxxxx-arcsag:{double}
Sets the arc sag
The default auto-selects a value based on the data
xxxxxxxxxx-rotate:{int}
Sets the angle of rotation to a multiple of 90
Valid angles are 0, 90, 180, and 270
The default angle is 0
xxxxxxxxxx-mirrorx-mirrory-mirror:<x|y|xy>
Enables mirroring in the x-axis and/or the y-axis
The default is no mirroring
xxxxxxxxxx-scale:{double}-scale:{double_x,double_y}
Sets the scaling value for the image in both x and y dimensions
Scale values must be positive.
The default scale is 1.0
xxxxxxxxxx-complement
Reverses the polarity of the bitmap
xxxxxxxxxx-align
Align all rip output to the profile extents
xxxxxxxxxx-profile_extents
Use the profile extents instead of the data extents
xxxxxxxxxx-margin:{double}
Adds a margin in the units specified
xxxxxxxxxx-extents:{LLx,LLy,URx,URy}
Sets the window clip (coordinates in the transformed space, post- mirror/rotation)
Format is: Lower Left X, Lower Left Y, Upper Left X, Upper Right Y
xxxxxxxxxx-window:{LLx,LLy,URx,URy}
Sets the window clip (coordinates in the untransformed space, pre- mirror/rotation)
Format is: Lower Left X, Lower Left Y, Upper Left X, Upper Right Y
xxxxxxxxxx-super:{2 | 4 | 8 | 28 | 48}
Enables super sampled output
28 is the same as -super:2 but each sample is saved in 8 bits
48 is the same as -super:4 but each sample is saved in 8 bits
xxxxxxxxxx--non_std
Disables dynamic/variable text strings
xxxxxxxxxx-nosropt
Disables step repeat optizimation
xxxxxxxxxx-nocopyin
Use/modify the ODB++ file in place
xxxxxxxxxx-excludel:{layer1[,layer2,...]}
Provide a list of layernames to be excluded during processing
xxxxxxxxxx-exclude_steps:{step1[,step2,...]}
Provide a list of steps to be excluded
xxxxxxxxxx-filter_text
Enables filtering of fonts
Text from fonts will be ignored
xxxxxxxxxx-filter_barc
Enable filtering of barcode fonts
Barcodes from fonts will be ignored
xxxxxxxxxx-cutlines
Enables cutlines as the mode for unionizing
By default butting is used
xxxxxxxxxx-polyedge
Enables butting or cutline edge patch
xxxxxxxxxx-cc_ir
Enables counter clockwise rotation for IR
xxxxxxxxxx-sizing:{x,y,units}
Adjusts sizing by X and Y units
x and y are doubles (both values must be positive or negative, no mixing signs)
units is a string: "um", "mm", "cm", "inch", "mils"
xxxxxxxxxx-out_scale:{default | sf | scale | local}
Sets the out_scale mode of conversion
This requires g2k_ver be set to 0
xxxxxxxxxx-defdate
Disables dynamic time strings
xxxxxxxxxx-iso_week[:{0 or 1}]
Deactivate ISO week standard for week no. & year (default on, 0 off, 1 on)
xxxxxxxxxx-week_incr-week_incr:{ival}
Add
xxxxxxxxxx-cir_map_min_cnt:{ival}
Set the minimum circ surface to convert into a flash
xxxxxxxxxx-maxpts:{ival}
Specify max points for surfaces
xxxxxxxxxx-deemb_surf[:{0 or 1}]
Deembed surface polygons (holes on top, default is off, 0 off, 1 on)
xxxxxxxxxx-step_repeat-step_repeat:{0 or 1}
Enable or disable step repeat, enabled if [:<0 or 1>] is absent (deafult is on, 0 off, 1 on)
xxxxxxxxxx-g2k_ver:{0 | 1 | 2 | 3}
Set genesis emulation version
xxxxxxxxxx-g2k_order:{0 | 1 | 2}
Sets the translation order (2 is no mirror)
xxxxxxxxxx-g2k_break_sr:{0 | 1 | 2}
Sets "break SR" on or off
xxxxxxxxxx-g2k_scale_mode:{1 | 2 | 3}
Sets scaling mode
xxxxxxxxxx-g2k_scalexy:{x,y}
Overrides 'out_x_scale' and 'out_y_scale'
xxxxxxxxxx-g2k_anchor:{0 | 1 | 2 | 3}
Sets anchor mode
xxxxxxxxxx-g2k_inch_anchor:{x,y}
Sets anchor inch value
xxxxxxxxxx-g2k_mm_anchor:{x,y}
Sets anchor mm value
xxxxxxxxxx-g2k_offset:{0 | 1 | 2 | 3 | 4 | 5}
Sets offset mode
xxxxxxxxxx-g2k_inch_offset:{x,y}
Sets offset inch value
xxxxxxxxxx-g2k_mm_offset:{x,y}
Sets offset mm value
xxxxxxxxxx-engargs {arguments_to_pass} -eng_arg
Passes the option(s) listed in arguments_to_pass to the odb2gdx engine
-end_arg must be present after the last option listed
Code : 11003 (QisMLib), One per active process
Code : 11502 (QisMOdbScan), One per active process
Code : 11502 (QisMOdbPS), One per active process
Code : 14827 (QisMRaster), One per active process
Update the functionality for "-extents" and "-window".
"-extents" allow you to provide a region of interest in transformed space (post- rotation/mirroring).
"-window" allow you to provide a region of interest in untransformed space (pre- rotation/mirroring).
Added a license check before attempting rasterization with the "Large Disk model". The number of bands will be limited to the number of rasterization licenses avaialble.
Changed the buffer calculation for the "Large Disk Model" to be more conservative to avoid crashes on systems that don't have a lot of system memory (less than 16G).
Added a new option to adjust the sizing of the output
-sizing:<x,y,units> : Adjust sizing by X and Y units (um,mm,cm,inch,mils)
Added the following command line options to control how ODB files are loaded:
'-iso_week:<0 or 1>' : Deactivate ISO week standard for week no. & year (default on, 0 off, 1 on)
'-deemb_surf:<0 or 1>' : Deembed surface polygons (holes on top, default is off, 0 off, 1 on)
'-week_incr[:<ival>]' : Add <ival> to week number (1 added if [:<ival>] is absent)
'-cir_map_min_cnt:<ival>' : Set the minimum circ surface to convert into a flash
'-maxpts:<ival>' : Specify max points for surfaces
'-step_repeat[:<0 or 1>]' : Enable/disable step repeat on the files (deafult is on, 0 off, 1 on)
'-exclude_steps:[stp1[,stp2,...]]' : Set steps to be excluded
Fixed a bug regarding the value used with "-out_scale:" not being used.
If the buffer provided by the "-ram:" option is large enough to process the output image in memory then the "large disk model" is not used.
Optimized the banding and thread allocations when the "large disk model" is enabled.
Fixed a bug regarding banding when the "large disk model" is used.
Added functionality and usage statements for the following commandlines:
'-omit_groups:<group_list>'
'-includel:<layer_list>'
Warning, instead of errors, will now be issued for each step/layer combination that fails to rasterize.
If rasterization fails for particular step/layer combination it will be skipped with a warning instead of failing with an error.
Added functionality and usage statements for the following commandlines:
'--non_std'
'-rotate:<0|90|180|270|-90|-180|-270>'
'-mirrorx'
'-mirrory'
'-mirror:[x|y|xy]'
'-scale:{double}'
'-scale:{double_x,double_y}'
Bug Fix - Fixed a bug regarding the format not being changed when 'inch' was specified on the command line.
The format is now changed from the default of '3.5' to '2.6' when 'inch' is specified.
First cut