EazyDraw unix command line interface, CLI

Example converft DXF to SVG

Command Line Drawing Conversions

SYNOPSIS

man [-C] [-v] [-F [yes, no]], [-Z [C, D, N]], -T->B [-t outputType] [-S stdin type] [-U dxf output units] [-L EazyDraw layer configuration, input] [-E encoding] [-o destinationDir] [file ...] [stdout]

DESCRIPTION

Command line interface for EazyDraw. GUI is not instantiated, faceless operation to process commands and files. Primary use is vector file conversion and / or generating raster graphics from vector content. The command processes all files listed.

The EazyDraw Binary is thread safe and re-entrant. It is allowed to run the command while the GUI version is in use. It is allowed to launch CLI operations in parallel. The CLI version of EazyDraw treats all preference files as read only, therefore the CLI version will not interfere with the GUI version. The GUI version may interfere with the CLI version but cannot cause inconsistent behavior.

Options

-C Command Line instantiated

Primary switch for CLI, and not GUI, instantiation. If -C is not present then the command line is ignored and the graphical user interface is launched. Must be present, Cannot be combined with other options, for example -Cv on the command line will launch to GUI interface.

-t Output file type

Output specifies the graphic format for output files. The value defines the file extension for the output. The first -o option value is used. All output files will be the same output format for the program run. If an input file has the same extension as the specified output the file will not be touched.

Supported outputs are: ezdraw - EazyDraw Graphic Format; ezddata EazyDraw Binary Format; svg Scalable Vector Graphic, DXF CAD digital exchange, pdf, png, jpg, gif, tif.

If the output specification is png. And if, the source file is native EazyDraw (graphic, binary, or bundle). And if, Export Content is Image Set. Then the output will be a set of files specified by the master layer and group masks. A group mask being a group graphic with a path that specifies the bounds for the png image, content derived only from the inside (using graphic specified winding rule) of the mask and a text box that specifies the output file name.

Conflicting names are resolved by serial underscore-numeric suffix name additions.

-I [.ezdraw, .svg, .dxf] Input file type for STDIN

Only text based file formats are for input and output. Use Standard input and Standard output. If any files are specified, they are processed then the input is accepted from STDIN.

The specified output type defines the format for the standard output.

-o Destination-Directory

Specifies an optional destination directory for output drawing files. If no output is provided the converted drawing file is saved in the same directory as the source drawing file. The destination file will have the same name as the source drawing file with the corresponding, different, extension.

If multiple files are input and a destination directory specified and if there are duplicated - conflicting names the names will modified to be unique using numerical progressive suffix.

-L -l Layer Configuration

Next argument on the command line is the name of a Layers Configuration set. Layer Configuration is specified in an EazyDraw graphics file.

If multiple files are input and a destination directory specified and if there are duplicated - conflicting names the names will modified to be unique using numerical progressive suffix.

Upper case L indicates to continue using the configuration specifications for all following files. Lower case l indicates use the Layer Configuration specifications only once

-L[l] name pairs may be interspersed with the list of files to process. The pairs are interpreted and applied as the file list is processed. A specified Layer Configuration takes presidence for the determination of visible layers of the source drawing that are processed.

If no Layer Configuration is specified, or there is no match of the specified layer configuration name to a named Layer Configuration saved with the drawing, then the last visibility state saved for the drawing is used. No error messages are triggered if a match is not found. Layers that are visible are used to generate the output file.

If the output is PNG and Export Content is Image Set, then Layer Configuration (if any) is applied before Image Set expansion.

-v Verbose operation

Standard error output posts files processed and activity information

Verbose may be used with output data pipe (Stdout). The verbose output is written to Stderr.

-v Verbose operation

Standard error output posts files processed and activity information

Verbose may be used with output data pipe (Stdout). The verbose output is written to Stderr.

-r recursive input search

specifies to search for drawings recursive when an directory is specified as a source drawing file. Default is non-recursive

-F [Yes, NO] Flip, SVG -> DXF

DXF write: automatically flip y-axis. Default is YES for SVG and No for all other input.

-Z [Content, Drawing, No] DXF output

Automatic conversion of y-axis origin from Postscript and Mac convention to CAD required arrangement.

Automatically set the y zero point to the y maximum (furthest down viewing box) of the content or the drawing. Default is Content for SVG input and NO for all other input.

-U [mm ] Units DXF output

[mm millimeters], mils, [cm centimeters], [m meters], inches, feet, yards, kilometers, miles.

Default is millimeters.

The EazyDraw default drawing units are not used in this (SVG -> DXF) use.

-P [72, 90, or 96] SVG input

[mm millimeters], mils, [cm centimeters], [m meters], inches, feet, yards, kilometers, miles.

SVG geometric values are defined in units of Pixels, which are defined based on theoretical viewing of a display device. In practice authoring software that works with physically defined lengths (not screen or HTML pixels) use 72, 90 or 96 dots per inche as the master physical scale factor.

EazyDraw (GUI operation) has a preference setting for this constant. CLI operation allows overriding this setting with this command line parameter. The CLI value applies for one command line.

Factory default for EazyDraw GUI is 72 pixels per inch. A setting on a command line does not carry over to other CLI instances. The setting applies only to individual command line runs.

-E Number, text encoding, see table below

Encoding: String encoding for the command line.

The number corresponds to NSStringEncoding enumeration. This specifies the string encoding used for the command line.

It should correspond to the preferences setting for Terminal (Preferences -> Profiles -> Advanced -> Text Encoding.

Default is NSUTF8StringEncoding

The encoding does not correspond to the unix ENVIRONMENT setting for encoding. The value should agree with Terminal preference.

The choice can be important for proper interpretation of file names and paths.

The following table enumerates allowed numeric values:

NSASCIIStringEncoding 1
NSNEXTSTEPStringEncoding 2
NSJapaneseEUCStringEncoding 3
NSUTF8StringEncoding 4
NSISOLatin1StringEncoding 5
NSSymbolStringEncoding 6
NSNonLossyASCIIStringEncoding 7
NSShiftJISStringEncoding 8
NSISOLatin2StringEncoding 9
NSUnicodeStringEncoding 10
NSWindowsCP1251StringEncoding 11
NSWindowsCP1252StringEncoding 12
NSWindowsCP1253StringEncoding 13
NSWindowsCP1254StringEncoding 14
NSWindowsCP1250StringEncoding 15
NSISO2022JPStringEncoding 21
NSUTF16StringEncoding NSUnicodeStringEncoding
NSUTF16BigEndianStringEncoding 0x90000100
NSUTF16LittleEndianStringEncoding 0x94000100
NSUTF32StringEncoding 0x8c000100
NSUTF32BigEndianStringEncoding 0x98000100
NSUTF32LittleEndianStringEncoding 0x9c000100