QCAD Command Line Tools

Every QCAD Professional installation includes some command line tools. These command line tools can be used to batch convert CAD drawing files, extract information, generate map data or otherwise process CAD files in an automated fashion.

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.

dwg2csv

(also dxf2csv)

dwg2csv extracts properties from DXF/DWG entities into a CSV spreadsheet file.

Usage: ./dwg2csv [OPTIONS]... <drawing file>

Extracts information from a drawing file (DWG, DXF, ...) to CSV.

  -d, -decimals           Number of decimal places for float value
  -f, -force              Overwrite existing output file
  -l, -list               List available entity types and their properties
  -o FILE, -outfile=FILE  Set output file to FILE
                          default is same path and base name as input file
  -p PROPERTY             Extract given PROPERTY (e.g. 'Start Point:X')
                          Multiple properties may be extracted
                          Defaults to all properties of the given object type(s)
  -t OBJECT_TYPE          Object or entity type (e.g. 'Line', 'Layer', ...)
                          Defaults to all object type(s)

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.

bmp2dwg

(also png2dwg, jpeg2dwg, tiff2dwg, png2dxf, jpeg2dxf, tiff2dxf, ...)

bmp2dwg traces the contours in a bitmap file and saves the resulting polylines as a DXF or DWG file. Supported input formats are: BMP, ICO, JPEG, PNG, PPM, TIFF, XBM, XPM.

Usage: ./bmp2dwg [OPTIONS]... <bitmap file>

Traces a bitmap file (BMP, PNG, ...) and saves the result in a drawing file (DWG, DXF, ...).

  -a, -alpha=ALPHA        Set alpha threshold to ALPHA,
                          treat higher transparencies as fully transparent (default 200)
  -b, -blurdelta=DELTA    Set blur delta to DELTA (default 200)
  -c, -colors=COLORS      Set number of colors to COLORS (default 16)
  -f, -force              Overwrite existing output file
  -h, -help               Display this help
  -m, -monochrome         Convert bitmap to monochrome before tracing
  -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
  -t, -brightness=B       Set brightness threshold to B,
                          treat brighter pixels as white (default 200)

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
      -no-text-transforms Don't use transformations for text entities
  -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

svg2dwg

(also svg2dxf)

svg2dwg converts an SVG (Scalable Vector Graphics) file into a DXF or DWG file. Only a limited set of SVG features are supported.

Usage: ./svg2dwg [OPTIONS]... <drawing file>

Converts the given SVG file to DXF or DWG.

  -f, -force              Overwrite existing output file
  -t, -filter=FILTER      Use specified format filter
                          e.g. DXF R15, DWG R27, etc.
  -h, -help               Display this help
  -o, -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.

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 *)
                          * CRS can be either of:
                          - An object code such as 'EPSG:2056'
                          - An object name such as 'LV95'
                          - A WKT string ('PROJCS[...]')
                          - A proj-string ('+proj=...')
      -crs-list           List supported coordinate reference systems (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
                          Only the text position and height is transformed
      -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
      -dry-run            Don't write any tiles.
  -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 'xxx@2x.png'
  -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
      -screen-lt          Use screen based linetypes (thin, visible patterns)
  -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)
  -y, -height=H           Set bitmap height to H (in pixels)
      -x-offset=X         X offset for fine tuning
      -y-offset=Y         Y offset for fine tuning
      -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 / pdf2dwg

(also dxf2dxf, dwg2dxf, dxf2dwg, pdf2dxf)

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. dwg2dwg can also convert vector data from PDF files to DXF or DWG. 

Usage: ./dwg2dwg [OPTIONS]... <drawing file>

Converts a drawing file (DWG, DXF) or PDF file
to a drawing file (DWG, DXF) with a specified format release.

  -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

PDF import options:

      -noimages           Don't import images from PDF
      -relpath            Store images with relative path
                          Note: relative images paths are not properly
                          supported by the DXF/DWG format. Applications
                          may or may not load images from relative paths.
      -noclipping         Don't clip content to clipping areas
  -p, -page=PAGE          Set page to import from PDF file

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.

dwghatcharea

(also dxfhatcharea)

dwghatcharea outputs the area of all hatches or solid fills of the given file per layer.

Usage: ./dwghatcharea [OPTIONS]... <drawing file>

List the area of all hatches (or solid fills) of the given drawing 
file (DXF, DWG) per layer. The area of all entities on all blocks are considered. 
If hatch loops are intersecting, the result is not correct / not defined. 

      -block=BLOCK_NAME   Name of block (or layout) to process 
                          (defaults to *Model_Space)
  -f, -factor             Linear factor applied to all lengths
      -flat               Flatten to 2D (Z==0)
  -h, -help               Display this help
      -layer=LAYER_NAMES  Comma-separated list of layer(s) to process
                          List may include regular expressions
                          Defaults to all visible layers
  -s, -segment=LENGTH     Segment length for curve segmentation.
                          Shorter means slower but more precise.
                          Defaults to 0.1 drawing units.

macOS specific options:

  -no-dock-icon           Don't show icon in dock. This should only be used
                          in combination with -no-gui.

dwgexplode

(also dxfexplode)

dwgexplode explodes all complex entities in the drawing into simpler entities (points, lines, arcs and circles).

Usage: ./dwgexplode [OPTIONS]... <drawing file>

Explodes blocks, ellipses, texts in the given drawing file (DXF, DWG).

  -f, -force              Overwrite existing output file
  -t, -types=TYPES        Comma separated list of entity types that
                          should NOT be exploded any further
                          Default is to explode everything into points,
                          lines, arcs and circles
  -h, -help               Display this help
  -o, -output=FILE        Set CAD output file to FILE

Examples:
./dwgexplode -t Text,Polyline -o out.dxf in.dxf
    Explodes everything except texts and polylines. 
    Dimensions for example are exploded into lines, polylines 
    (for the arrows) and a text label.

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.

dwgnest (QCAD/CAM)

(also dxfnest)

dwgnest is the command line tool version of the QCAD/CAM nesting tool. dwgnest nests all parts on a given layer / set of layers into the sheets on a different layer / set of layers.

Usage: ./dwgnest [OPTIONS]... <drawing file>

Nests parts on a layer to sheets on another layer in the given drawing file (DXF, DWG).

  -a, -alignment=ALIGN     Alignment [0-7]: (first priority, second priority)
                           0: Left bottom
                           1: Left top
                           2: Right bottom
                           3: Right top
                           4: Bottom left
                           5: Bottom right
                           6: Top left
                           7: Top right
                           Defaults to 0 
  -e, -strategy            Strategy [0-1]:
                           0: Align
                           1: Hull
                           Defaults to 0 
  -f, -force               Overwrite existing output file
  -h, -help                Display this help
  -i, -iterations=ITR      Number of iterations to use
                           Higher numbers yield better results but take longer
                           Defaults to 100
  -r, -rotations=ROT       Use ROT rotations for parts
                           Defaults to 4, meaning rotate by 
                           0 degrees, 90 degrees, 
                           180 degrees or 270 degrees
  -s, -sheets=LAYER_NAMES  Comma-separated list of layer(s) containing sheets
                           List may include regular expressions
  -m, -margin              Margin (minimum distance between parts)
                           Defaults to 0
  -n, -sheet-margin=MARGIN Sheet margin (minimum distance between sheet and parts)
                           Defaults to 0
      -no-align            Don't align parts with largest side to X axis
      -no-holes            Don't use holes for part placement
  -o, -output=FILE         Set CAD output file to FILE
  -p, -parts=LAYER_NAMES   Comma-separated list of layer(s) containing parts
                           List may include regular expressions
  -t, -tolerance=TOL       Tolerance. Affects margins but not part or sheet quality
                           Defaults to 0.1
  -u, -multiplier=M        Multiplier for all nested parts.

Example:
./dwgnest -p Parts -s Sheets -o out.dxf in.dxf

macOS specific options:

  -no-dock-icon           Don't show icon in dock. This should only be used
                          in combination with -no-gui.