Every QCAD Professional installation includes some command line tools which allow batch conversion of CAD drawing files.
Contents
Platform Notes
Windows
Under Windows, these utilities are included as batch files (.bat) in the installation directory of QCAD.
macOS
Under macOS, you can find the utilities as shell scripts inside the application bundle under:
QCAD-Pro.app/Contents/Resources
Linux
Under Linux systems, the utilities are also included as shell scripts in the installation directory of QCAD.
dwginfo
(also dxfinfo)
dwginfo lists information from a DXF/DWG file. Currently, it can list all layers, blocks or the total number of entities in the file.
Usage: ./dwginfo [OPTION]... <drawing file> Exracts various information from a DXF/DWG file. -h, -help Display this help -b, -blocklist List all block names -l, -layerlist List all layer names -e, -entities Output number of entities in file macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.
dwg2bmp
(also dwg2png, dwg2jpeg, dwg2tiff, dxf2png, dxf2jpeg, dxf2tiff, ...)
dwg2bmp converts a DXF or DWG file into a bitmap file. Supported output formats are: BMP, ICO, JPEG, PNG, PPM, TIFF, XBM, XPM.
The maximum number of bytes for the raw image data is 2'147'483'647 bytes. With four bytes per pixel (ARGB), the maximum size for the output file is 536'870'911 pixels, or for example 23'170x23'170 pixels.
Usage: ./dwg2bmp [OPTIONS]... <drawing file> Converts a drawing file (DWG, DXF, ...) to a bitmap file (BMP, PNG, ...). -a, -antialiasing Enable antialiasing -b, -background=C Set the background color as color name e.g. 'white' or '#ccdd00'. -block=BLOCK_NAME Name of block (or layout) to output (defaults to *Model_Space) -c, -color-correction Enable color correction to prevent white on white or black on black painting -d, -recompute-dim Recompute dimension blocks if empty (dimensions rendered with best compatibility) -f, -force Overwrite existing output file -flat Flatten to 2D (Z==0) -fs, -font-substitution FONT1 FONT2 Substitute FONT1 with FONT2 -h, -help Display this help -no-weight-margin Don't add additional margin to compensate for lineweight -k, -grayscale Grayscale -layer=LAYER_NAMES Comma-separated list of layer(s) to export List may include regular expressions -l, -list List supported formats -ltscale=FACTOR Set linetype scale to FACTOR -m, -margin=M Set auto zoom margin to M (in pixels) -n, -monochrome Monochrome (black / white) -o, -outfile=FILE Set output file to FILE Default is same path and base name as input file -q, -quality=Q Set the image quality / compression (0=best compression..100=best quality) -r, -resolution=R Set rendering resolution to R (in pixels/drawing unit) This overrides the width/height parameters. -u, -unit=[in|m|mm] Assume input data to be in given unit Default is the drawing unit Mainly useful for drawings with unit 'None' -w, -window=X,Y,W,H Zoom to given window -x, -width=W Set bitmap width to W (in pixels) -y, -height=H Set bitmap height to H (in pixels) The maximum size for width*height is 536870911 pixels -zoom-all Auto zoom to maximum extends of all layers -p, -origin Draw zero point (origin) macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.
dwg2svg
(also dxf2svg)
dwg2svg converts a DXF or DWG file into an SVG (Scalable Vector Graphics) file. The output file can be optimized to look exactly the same as the drawing file (default) or to transfer as much of the geometry across as possible (switch -g).
Usage: ./dwg2svg [OPTIONS]... <drawing file> Converts a drawing file (DWG, DXF, ...) file to an SVG file. -a, -adjust Adjust page size to include thickest line weight -b, -bottom=MB Set page margin at bottom to MB -block=BLOCK_NAME Name of block (or layout) to output (defaults to *Model_Space) -c, -circle=CR Export points as circles with radius CR -d, -recompute-dim Recompute dimension blocks if empty (dimensions rendered with best compatibility) -decimals=D Decimal places for float values (defaults to 4) -e, -equal-margins=M Set all page margins to M -l, -r, -t and -b are ignored -embed-images Embed images (bitmaps) -f, -force Overwrite existing output file -flat Flatten to 2D (Z==0) -fs, -font-substitution FONT1 FONT2 Substitute FONT1 with FONT2 -g, -preserve-geometry Preserve as much of the original geometry as possible Default is identical rendering -h, -help Display this help -i, -inkscape Generate additional information for Inkscape -l, -left=ML Set page margin at left to ML -layer=LAYER_NAMES Comma-separated list of layer(s) to export List may include regular expressions -layer-attribute Export layer attributes into QCAD SVG namespace -ltscale=FACTOR Set linetype scale to FACTOR -n, -no-comments Suppress comments for DXF entities -o, -outfile=FILE Set output file to FILE Default is same path and base name as input file -p, -open Open the converted file after conversion -u, -unit=[in|m|mm] Assume input data to be in given unit Default is the drawing unit Mainly useful for drawings with unit 'None' -r, -right=MR Set page margin at right to MR -s, -scale=SF Set scale factor to SF -t, -top=MT Set page margin at top to MT -w, -min-lineweight=LW Set minimum line weight to LW drawing units Defaults to 0.001 since 0 in SVG means invisible -x, -cross=CS Export points as crosses with size CS macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui. Points: If neither -c nor -x is given, points are not exported. SVG Units: SVG only supports the following CAD units: mm, cm, in. - Unsupported Metric drawing units are converted to Millimeters. - Unsupported Imperial drawing units are converted to Inches. Use -s to scale and avoid large values. Margins: Margin values have to be specified in the (converted) SVG unit. Examples: Adjust page, set all margins to 1.5, export points as circles with radius 0.5: ./dwg2svg -a -e 1.5 -c 0.5 file.dwg Set scale factor to '1:200': ./dwg2svg -s 1:200 file.dwg
dwg2pdf
(also dxf2pdf)
dwg2pdf converts a DXF or DWG file into a PDF file.
Usage: ./dwg2pdf [OPTIONS]... <drawing file> Converts a drawing file (DWG, DXF, ...) to a PDF file. -a, -auto-fit Auto fit and center drawing to paper -auto-orientation Auto paper orientation (landscape or portrait) based on document bounding box -block=BLOCK_NAMES Comma-separated list of block(s) or layout(s) to export List may include regular expressions List defines order of export unless -block-sort is used A block may be exported more than once unless -block-unique is used -block-sort Sort blocks in natural order Layouts are sorted by tab order and exported before blocks Blocks are ordered alphanumerically -block-unique Export every matching block only once -c, -center Auto center drawing on paper -d, -recompute-dim Recompute dimension blocks if empty (dimensions rendered with best compatibility) -e, -papers List all supported paper size names -point-size=SIZE Set size of points in mm -f, -force Overwrite existing output file -flat Flatten to 2D (Z==0) -fs, -font-substitution FONT1 FONT2 Substitute FONT1 with FONT2 -h, -help Display this help -k, -grayscale Grayscale -l, -landscape Landscape (default is portrait) -layer=LAYER_NAMES Comma-separated list of layer(s) to export List may include regular expressions -list-printers List all available printers -ltscale=FACTOR Set linetype scale to FACTOR -m, -margin=M Set paper margins to M -n, -monochrome Monochrome (black / white) -o, -outfile=FILE Set output file to FILE default is same path and base name as input file -offset=X,Y Set offset to X,Y in drawing units ('3,4', '7/2,1/4', '0.5,-1.5', ...) -p, -paper=WxH Set paper size to W x H in mm or to named paper size ('A4', 'Letter', ...) -pdf-version=VER Specify PDF version to '1.4' (default) for PDF 1.4 '1.6' for PDF 1.6 'A' or 'A-1B' or 'A1B' for PDF/A-1B -printer=PRINTER Print directly to PRINTER or default printer if no printer given -rows=ROWS Set number of paper rows to ROWS -s, -scale=SCALE Set drawing scale to given scale ('1', '2', '0.5', '1:1', '1:5', '5:1', ...) -cols=COLS Set number of paper columns to COLS -u, -unit=[in|m|mm] Assume input data to be in given unit Default is the drawing unit Mainly useful for drawings with unit 'None' -w, -min-lineweight=LW Set minimum line weight on paper to LW Millimeter -max-lineweight=LW Set maximum line weight on paper to LW Millimeter macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.
dwgmapconvert
(also dxfmapconvert)
dwgmapconvert converts a drawing from one map coordinate system (CRS) to another, for example from a local CRS to Web Mercator (EPSG:3857). Please refer also to our map tiles tutorial.
Usage: ./dwgmapconvert [OPTIONS]... <drawing file> Converts a drawing file (DWG, DXF, ...) from one CRS to another. Typically used to convert the coordinate system before running dwg2maptiles. -block=BLOCK_NAME Name of block (or layout) to output (defaults to *Model_Space) -crs-in=CRS Data is in given coordinate reference system (CRS) -crs-out=CRS Transform to given coordinate reference system (CRS) -d, -recompute-dim Recompute dimension blocks if empty (dimensions rendered with best compatibility) -f, -force Overwrite existing output file -fs, -font-substitution FONT1 FONT2 Substitute FONT1 with FONT2 -h, -help Display this help -layer=LAYER_NAMES Comma-separated list of layer(s) to export List may include regular expressions -ltscale=FACTOR Set linetype scale to FACTOR -retain-texts Retain (don't segmentate) text labels -segment-length=L Segmentate all entities with segment length L -simplify Simplify after segmentation -o, -outfile=FILE Set output file to FILE -r, -release=RELEASE Set output DXF/DWG release to RELEASE. Defaults to R27. -u, -unit=[in|m|mm] Assume input data to be in given unit Default is the drawing unit Mainly useful for drawings with unit 'None' macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.
dwg2maptiles
(also dxf2maptiles)
dwg2maptiles fully automatically creates sets of tiles for use in online maps. The generated directory / file structure follows the well established standard of (z/x/y.png). The number of zoom levels (z) is adjustable. Such map tiles can be used to create interactive maps for the web, for example using leaflet.js. Please refer also to our map tiles tutorial.
Usage: ./dwg2maptiles [OPTIONS]... <drawing file> Converts a drawing file (DWG, DXF, ...) to a set of bitmap files (PNG, JPEG, ...) for use with online maps, e.g. leaflet.js. -a, -antialiasing Enable antialiasing -skip-empty Skip empty tiles -b, -background=C Set the background color as color name e.g. 'white', '#ccdd00' or 'transparent' -block=BLOCK_NAME Name of block (or layout) to output (defaults to *Model_Space) -c, -color-correction Enable color correction to prevent white on white or black on black painting -center=X,Y Set center of first tile to X,Y in drawing units -d, -recompute-dim Recompute dimension blocks if empty (dimensions rendered with best compatibility) -tile-markers Add tile markers (for testing, debugging) -e, -tile=ROW,COL Generate only tile at ROW,COL -f, -force Overwrite existing output file -flat Flatten to 2D (Z==0) -fs, -font-substitution FONT1 FONT2 Substitute FONT1 with FONT2 -h, -help Display this help -k, -grayscale Grayscale -layer=LAYER_NAMES Comma-separated list of layer(s) to export List may include regular expressions -l, -list List supported formats -ltscale=FACTOR Set linetype scale to FACTOR -m, -margin=M Set auto zoom margin to M (in percent) Default is 10% -tms Y=0 is at the bottom (typically used for TMS, default is Y=0 at the top for WMS) -n, -monochrome Monochrome (black / white) -o, -outdir=DIR Set output dir to DIR default is same path and base name as input file -hq-postfix=P Generate high-res tiles (512px) in addition to 256px tiles and use the given postfix for the high-res output files, e.g. '@2x' for '[email protected]' -q, -quality=Q Set the image quality / compression (0=best compression..100=best quality) -r, -resolution=R Set rendering resolution of first tile to R (in pixels/drawing unit) This overrides the width/height parameters -s, -subsection=N,M Generate subsection N of M Examples: 1,4: generate first of four subsections 4,4: generate fourth of four subsections 7,8: generate seventh of eight subsections -t, -format File format (png, jpeg, gif) -u, -unit=[in|m|mm] Assume input data to be in given unit Default is the drawing unit Mainly useful for drawings with unit 'None' -x, -width=W Set bitmap width to W (in pixels) -y, -height=H Set bitmap height to H (in pixels) -opacity=O Make all tiles (semi-)transparent using the given opacity 0.0: transparent 1.0: opaque -p, -origin Draw zero point (origin) -web-mercator Input is in Web Mercator coordinates, from example from dwgmapconvert -z, -zoomlevels Number or range of zoom levels, defaults to 0-6 Examples: 5: zoom levels 0,1,2,3,4,5 3-5: zoom levels 3,4,5 1,3,5: zoom levels 1,3,5 3-3: zoom level 3 only macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.
dwg2dwg
(also dwg2dxf, dxf2dwg)
dwg2dwg reads and writes DXF or DWG files and outputs DXF or DWG files. Several settings as well as the file format version can be changed.
Usage: ./dwg2dwg [OPTIONS]... <drawing file> Converts a drawing file (DWG, DXF, ...) file from one version to another. -f, -force Overwrite existing output file -h, -help Display this help -l, -list List supported releases -n, -setdimfont=FONT Set the dimension font to the given font -o, -outfile=FILE Set output file to FILE Default is same path and base name as input file -r, -release=RELEASE Set output DXF/DWG release to RELEASE -s, -set=VARIABLE:VALUE Set the given known variable to the given value For example -s DIMASZ:2.5 DXF header variables that can be changed are (among others): DIMADEC: Angular dimension label precision (0-8) DIMASZ: Dimension arrow size DIMAUNIT: Angular dimension label format 0: decimal degrees 1: deg/min/sec 2: gradians 3: radians 4: surveyors DIMAZIN: Trailing zeroes for angular dimensions (0: on, 2: off) DIMDEC: Set linear dimension label precision (0-8) DIMDLI: Dimension line increment DIMEXE: Extension line extension DIMEXO: Extension line offset DIMGAP: Dimension line gap DIMLUNIT: Set linear dimension label format 1: scientific 2: decimal 3: engineering 4: architectural 5: fractional DIMTSZ: Dimension arch tick size (0 for arrow) DIMTXT: Dimension text height DIMZIN: Trailing zeroes (0: on, 8: off) -t, -substitute=FONT1:FONT2 Substitute FONT1 with FONT2 in all texts macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.
dwghatch
(also dxfhatch)
dwghatch creates a solid fill hatch entity using all closed paths in the given drawing file as boundary. Boundary loops contained in other boundary loops are considered to be islands.
Usage: ./dwghatch [OPTIONS]... <drawing file> Fill all fillable (closed) boundaries of the given drawing file (DXF, DWG) with a solid fill hatch. -f, -force Overwrite existing output file -h, -help Display this help -o FILE, -output=FILE Set CAD output file to FILE macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.
merge
merge is a powerful tool to merge multiple drawing files (DXF, DWG, ...) into one. Each drawing can be individually positioned, rotated, scaled and flipped horizontally or vertically. One of the parameters when calling merge is an XML file which defined what drawings are inserted and where, at what angle, etc.
The insert tag may be repeated to insert the same drawing multiple times with different parameters.
Usage: ./merge [OPTIONS]... <XML config file> Merges multiple drawing files (DWG, DXF, ...) into one. -f, -force Overwrite existing output file -h, -help Display this help -t TYPE, -type=TYPE Set file type to TYPE (e.g. R12...R27 or 2000...2013) -o FILE, -outfile=FILE Set output file to FILE default is same path and base name as input file macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui. XML format: <?xml version="1.0" encoding="UTF-8"?> <merge xmlns="http://qcad.org/merge/elements/1.0/" unit="Millimeter"> <item src="/file1.dxf"> <insert x="10" y="0" angle="30" flipx="false" flipy="false" /> </item> </merge>
bbox
bbox outputs the bounding box (minimum and maximum extends and size) of a drawing in the format:
Min: x/y
Max: x/y
Size: width/height
Usage: ./bbox <drawing file> Prints the minimum, maximum and size of the given drawing. -h, -help Display this help macOS specific options: -no-dock-icon Don't show icon in dock. This should only be used in combination with -no-gui.