Printing Guide
Printing Guide
Printing Guide

Syntax

Following is a description of allowable keywords and variables for printer driver files.

%include

Using the %include statement in your printer driver lets you include another file containing printer driver information. Typically, the include file will not be a complete “.plt” file but instead will contain one or more records that can be shared by other “parent” files. Multiple %include statements may be used to included multiple files. Include files, in turn, may include other files.

Syntax: %include “filename”

where filename is the name of the file to be included. Quotation marks enclosing filename are optional and may be either quotes (`) or quotation marks (“). The filename may include a path or extension. If the path or extension is omitted, the missing values are taken from the MS_PLTR configuration variable. Configuration variables also may be used, in %include statements, to define where those included files can be found. For example %include msdir:papersizes.inc In addition you can use %include $(msdir)papersizes.inc, which is provides flexibility since you can use multiple variables $(project)$(user)...

Exceptions

A file cannot include itself nor another file more than once. A file cannot include a file that would cause the inclusion process to loop back on itself. For example, if File A includes File B and File B attempts to include File A, then File B´s %include statement is ignored.

Example

Typically, the include file will not be a complete “.plt” file but instead will contain one or more records that can be shared by other “parent” files.

For example, the style keyword now supports device-independent units. Therefore, definitions could be moved out of your printer drivers and into a shared file, which could be included in all your printer drivers. You then can modify the style definitions for all your printers by editing this one shared file.

autocenter

Determines whether or not the printed output is centered on the page.

Syntax: autocenter

Default: if omitted, printed outputs are not automatically centered.

Autocentering occurs only when a new page size or print rotation is specified.

border

Specifies the type of border to be drawn around the print boundaries and the information contained in a label placed outside the print boundary. Also, it determines the default setting of the Print Border setting in the Print Options dialog box.

Syntax: border<options>

Default: if omitted, no border is drawn.

The following table lists options that are available with the border record.

Option

Specifies

/pen=n

pen number for border.

/filename
see footnote 117

that filename be printed on output.

/time
see footnote 118

print current date and time.

/nooutline

do not draw border's outline on printed output.

/off

makes off the default setting of Print Border in the Print Options dialog box, while allowing a border to be defined.

/comment=("text")
see footnote 119

text to be printed as comment on printed output. The comment string is limited to 80 characters.

/text_height=h
see footnote 120

how high, in cm, comment text is printed.

/width=w
see footnote 121

width of border in centimeters.

/font="fontname"

(system printer only) specifies the font to be used.

/model

Inserts the model name, after the DGN file name, in the border label.

Date and Time Format

The Windows Regional Settings are used to format the time and date for printed output in a locale-sensitive manner. This produces the following results when English (U.S.) is used and the short date is set to mm/dd/yyyy and the time is set to hh:mm:ss tt:

Print border: 08/23/1999 02:36:05

To maintain the MicroStation pre-version 7.1 format of the printed output for time and date, create the configuration variable MS_PLOTBORDER_TIME_FORMAT and assign it the value “v7.0”.

Setting these variables to “v7.0” results in the month abbreviation for the pen table date being in mixed cases (such as Jan, Feb) instead of upper case (such as JAN, FEB) as it was previously.

There are also strftime( ) formatting codes. With these formatting strings, you can choose how to display the date and time. For example, you can set MS_PLOTBORDER_TIME_FORMAT=“It is now %I:%M %p on %A, %B %d, %Y”, which displays as “It is now 02:36 PM on Monday, December 10, 1999”.

The following table lists the variables and their definitions:

Variable

Definition

%a

Abbreviated weekday name

%A

Full weekday name.

%b

Abbreviated month name

%B

Full month name

%c

Date and time representation appropriate for locale

%d

Day of month as decimal number (01-31)

%H

Hour in 24-hour format (00-23)

%I

Hour in 12-hour format (01-12)

%j

Day of year as decimal number (001-366)

%m

Month as decimal number (01-12)

%M

Minute as decimal number (00-59)

%p

Current locale's A.M./P.M. indicator for 12-hour clock

%S

Second as decimal number (00-59)

%U

Week of year as decimal number, with Sunday as first day of week (00-51)

%w

Weekday as decimal number (0-6; Sunday is 0)

%W

Week of year as decimal number, with Monday as first day of week (00-51)

%x

Date representation for current locale

%X

Time representation for current locale

%y

Year without century, as decimal number (00-99)

%Y

Year with century, as decimal number

%z, %Z

Time-zone name or abbreviation; no characters if time zone is unknown

%%

Percent sign

Including configuration variables in the comment option

You can include a configuration variable reference in the text of the comment option. For example, if the configuration variable USER was defined as “John Smith” and you defined the comment as “User=${USER},” the printed output would expand the configuration variable so that the text “User=John Smith” appears in the label outside the print boundary. Note that in this case, braces “{ }” are required around the configuration variable.

Comment strings are limited to 80 characters so care should be used when defining the comment template. There is a chance, also, that a long expansion may get truncated, particularly with the smaller sheet sizes.

Examples

border/pen=1/filename/time

draws a border around the printed output using pen number 1, showing the current time and design filename.

border/pen=1/comment=(“My plot”)/off

defines a border and a comment but turns off Print Border in the Print Options dialog box by default.

border/pen=1/comment=(“User=${USER}”)

defines a border and a comment that includes the configuration variable “USER,” which would be expanded to its defined value in the printed output (such as “John Smith” as described above).

border/pen=1/comment=(“Model=${MS_PLTMODELNAME})

defines a border and a comment that includes the configuration variable “MS_PLTMODELNAME,” which would be expanded to display the name of the model from which the print is produced.

change_pen

Determines if a new pen is selected for each new element color, weight, color and weight or level.

Syntax: change_pen=<criteria>

where: criteria can be color, weight, both, or level

In almost all cases, this setting is set to BOTH, unless a pen plotter is involved.

communication

Defines communication parameters used to generate the print file and send it to the printer.

Syntax: communication=(keyword1,keyword2,…, keywordn)

Generally the default parameters are sufficient. However, if the printer is used with other software that requires different communication parameters, you can use the communication record to meet those requirements.

If you find erroneous lines (zingers), incomplete or no printed output at all, make sure the communication parameters in this line of the printer driver match the printer setup.

The following table lists possible keywords, their meanings and their default settings:

Keyword

Meaning

Default

handshake=n

Communication method. Allowed values for n are 0, 1, or 2, where:

0=DIRECT CONTROL

1=XON/XOFF

2=ACK/NAK
see footnote 122

0

eom=value

value for End of Message

3a

numsync=value

number of sync chars used

1a

syncval=value

sync code value

2a

checksum

enable checksumming

noa

recordsize=value

set record size

1024a

eol1=value

first end of line terminator

13

eol2=value

second end of line terminator

0 (none)

baud=value

baud rate

9,600

port=value

serial communications port number

1

parity=keyword

parity, where keyword can be one of: NONE, ODD, or EVEN)

NONE

databits=n

number of data bits where n can be:

7 or 8

8

stopbits=n

number of stop bits, where n can be:

1 or 2

1

Examples

communication=(hand=2,eom=13,record=128)


communication=(syncval=22, numsync=1)

These lines could be used for a CALCOMP 907 controller set up to use ACK/NAK handshaking, an End of Message character of 13 (carriage return), a record size of 128 bytes, a sync value of 22 (decimal) and one synchronization character.

communication=(hand=1, eol1=13, eol2=10)


communication=(port=1, baud=9600, par=none)

communication=(databits=8, stopbits=1)

Hewlett-Packard printers may require lines similar to these, which specify the use of XON/XOFF handshaking, set the first end-of-line terminator to 13 (carriage return), set the second end of line terminator to 10 (line feed) and communicate through the communications port. The second end-of-line terminator (the line feed) is necessary for certain Hewlett-Packard compatible printers and may be necessary for transmitting print files to another computer for printing. MicroStation omits the second end-of-line terminator, by default, to make print files as compact as possible. Line terminators can be disabled entirely by setting both EOL1 and EOL2 to 0, allowing the file to become a continuous stream of coordinate data.

default_extension

Specifies the default print file extension.

Syntax: default_extension[/auto_incext]=<fileExtension>

Default: `000´.

If a numeric default extension is used, such as “.000,” and the auto_incext option is used, the extension proposed in the Save Print As dialog box automatically increments with the creation of each additional print file.

default_outfile

Specifies the default print filename.

Syntax: default_outfile[/auto_overwrite]=<filename>

Default: The print file is given the same name as the design file but with the extension specified by the default_extension record.

If the auto_overwrite option is used and a file with the specified name already exists, the file is overwritten by the new print file without confirmation.

default_scale

Specifies the default scale factor to generate printed output at the same scale every time.

Syntax: default_scale=<scale factor>

Default: Largest printed output that fits on page. That is, the size and scale factors are set for printed output to be the largest that fits on the paper size selected.

If the default_scale record exists anywhere in the printer driver, MicroStation uses this scale factor to set the starting scale when you open the Print settings box.

driver

Specifies the name of an MDL printer driver used to stroke the printed output. The driver may either reside in the directory pointed to by the MS_MDL configuration variable or in the same directory as the printer driver.

Syntax: driver=<FileName>

Where FileName is the name of the MDL printer driver to be used. A full path may be specified.

Drivers named in the delivered printer driver files are required by the printer driver file and should not be changed.

end_plot

Specifies action taken by printer after printed output has been generated.

Syntax: end_plot=<action>

Where action can be one of the following:

Action

Effect

eject

Advances the page after printing (on printers that support this feature).

pause

Takes the printer off line to wait for operator intervention.

beep

Sounds the bell after stroking is completed.

reprint=n

For HP-GL/2 devices that support the RP command for printing multiple copies.

Default: No action.

fence_outline

Specifies whether the outline of the fence should be printed (if the printed output is generated from a fence).

Syntax: fence_outline</pen=penNumber>

Where penNumber is the pen number to use when printing the fence outline.

If no fence_outline record exists the default is to not draw the fence outline.

font

Specifies the device font name to be mapped to MicroStation font numbers, SHX font names, or TrueType font names. The font records are valid for system printers and Bentley PostScript printer drivers.

Syntax:

FONT("fontName")=(<IGDS font number list>) [/Kern=n] [/Sizeratio=m]

FONT("fontName")=("<TrueType or SHX font name>") [/Kern=n] [/Sizeratio=m]

FONT("fontName")=("ALL TTF") [/Kern=n] [/Sizeratio=m]

FONT("fontName")=("ALL SHX") [/Kern=n] [/Sizeratio=m]

FONT("USE GDI FOR TRUE TYPE FONTS") [/Kern=n] [/Sizeratio=m] (sysprinter only)

All quote marks in the preceding syntax examples are literal; they must be included as shown. Wildcards or other pattern recognition methods are not supported; each font name must be specified precisely.

Where:

fontName — is the name of the PostScript font to use.

IGDS font number list — is the font number or numbers inside MicroStation to map to fontName.

Kern — is the intercharacter spacing controlled by the parameter n.

Sizeratio — is a ratio that can be set with the parameter m to adjust how large the font is printed (where 1 is the default size).

MicroStation font numbers have the following ranges: 0-255 for IGDS fonts, 512-1023 for AutoCAD SHX fonts, and 1024-(max_int) for TrueType fonts. Note that only integers 0-255 may be used in the IGDS font number list. TrueType or SHX fonts may not be specified using numerical ranges.

It is legal to use "ALL TTF" and/or "ALL SHX" to assign default font mappings to all SHX and TrueType fonts, then override that mapping for particular font names. The order in which "ALL TTF", "ALL SHX", and font name mappings appear in the .plt file is not important.

This is not "what-you-see-is-what-you-get" in the sense that you may see a font in the design file that looks different from the printed output. You can adjust the Sizeratio value to make the printed text more like the MicroStation font for which it is substituted. Making the characters taller also makes them wider.

In order for this mapping to work correctly, the font must be resident in the printer prior to sending the print file to the printer. Where a font is listed more than once, the last record in the file defines the mapping parameters.

Examples

font("Helvetica")=(1,2,44-52)/Kern=35

font("Courier")=(53,67)/Kern=25

These lines can be used to map fonts 1, 2, 44-52, 54-66 and 68-126 in MicroStation to the Helvetica font and map fonts 53 and 67 in MicroStation to the Courier font on the PostScript printer.

font("Helvetica")=(1,2,44-126)/Kern=35/Sizeratio=1.5

In this case, the Helvetica characters are printed 50% larger than they are in the first example.

The "USE GDI FOR TRUE TYPE FONTS" device font name is a special case supported only for system printers. If specified, all TrueType fonts in the design file are output as text through the Windows printing system, instead of being vectorized by MicroStation.

hardware_arcs

PostScript devices only.

Specifies to use the hardware arc feature built in to the printer to print circles, arcs and ellipses.

Syntax: hardware_arcs

hardware_raster and software_raster

Tells MicroStation that the printer is capable of printing raster elements (type 87/88 and raster reference).

Syntax: hardware_raster [options] or software_raster [options] the two records are equivalent.

All raster data is sent first, with vector data printed on top.

Option

Specifies

/resolution=

Defines output resolution in pixels per printer unit, where the printer unit is that defined by the resolution record.

/background=

Defines background color.

If /background=white, on a monochrome printer, the image is inverted from what is seen on screen; white on screen is black on paper.

If /background=black, the image is printed as seen on the screen.

If /background=color, a color image can be printed to HP-GL/2 and color Postscript devices.

largest_polygon

Specifies the largest polygon (in terms of vertices) that a printer can handle, which varies by model, memory and setup.

Syntax: largest_polygon=<vertices>

linecap

PostScript, HP-GL/2, CGM, all Windows drivers, EMF and WMF, and HPGL/RTL devices only. Refer to the relevant “.plt” files for the valid values.

Specifies the type of line caps to use on printed output.

Syntax: linecap=<value>

Linecap does not work for Windows 9x.

linejoin

PostScript, HP-GL/2, CGM, all Windows drivers, EMF and WMF, and HPGL/RTL devices only. Refer to the relevant “.plt” files for the valid values.

Specifies the type of line joins to use on printed output.

Syntax: linejoin=<value>

Linejoin does not work for Windows 9x

miter_limit

PostScript, HP-GL/2, CGM, Windows EMF/WMF and HPGL/RTL devices only. Refer to the relevant “.plt” files for the valid values.

Specifies the limit for mitered joins on printed output.

Syntax: miter_limit=<value>

model

Specifies the printer model.

Syntax: model=<model_name>

Where model_name can be 7440A, 7470A, 7475A, 7550A, 7580B, 7585B, 7586B, 7595B, 7596B, HPGL2, HPLJET3, DMP52, DMP56, CAL906, CAL907, CAL960, LASERWRITER, POSTSCRIPT, or MDL.

Models named in the delivered printer driver files are required by the printer driver file and should not be changed.

Example

model=7580B specifies that a Hewlett-Packard HP7580B is being used.

move_mode

Include this record only if your printer does not accept relative moves (see your printer documentation).

Syntax: move_mode=absolute

Default: relative

If this record is omitted, the value of move_mode is assumed to be relative.

num_pens

Indicates how many pens the selected printer can use.

Syntax: num_pens=<number>

Where number can be a number from 1 to 255 inclusive.

Setting num_pens=1 maps all colors to first color in the color table. If the first color is white, it will be plotted as black.

no_raster_transparency

The .plt record "no_raster_transparency=1" may be used to disable raster transparency within a printer driver. This record is an alternative to the MS_PLT_NORASTERTRANSPARENCY configuration variable.

pattern_length

Hewlett-Packard and Calcomp 907 pen printers only.

Alters the length of one complete pattern that the printer uses to display a line style. The parameter is represented as a percentage of the diagonal size of the printed output.

Syntax: pattern_length(pattern_num)=<length>

Where:

pattern_num — is the line style number (1-7).

length — specifies the length of the pattern as a percentage of the diagonal size of the printed output (floating point number between 1-100). Lengths outside the 1-100 range can be used but are not recommended.

Default: Varies according to line style.

If pattern_length is omitted, the default values vary according to line style. The most common pattern length is approximately one percent of the diagonal size of the printed output.

If the hardware-defined line styles are not satisfactory, your own line styles can be defined in the record for style .

pen

Defines the parameters that determine which pens to use to draw individual elements and specify the velocity, force and acceleration of each pen (when possible).

Syntax: pen(pen_number)=(<colors, weights, or levels>)[options]

Where:

pen_number — is a number between 1 and num_pens that specifies which pen is affected by this record.

colors, weights or levels — is a list of color numbers, weight numbers or level numbers, depending on the keyword specified in the change_pen record. (If the keyword specified in the change_pen record is both, then the pen record maps to color.)

The colors (0-255), weights (0-31) or levels (1-63) list should be a series of numbers separated by commas, for individual numbers, or dashes to indicate a range of numbers.

If no pen records exist in the printer driver, the default pen-to-color/weight mapping is established so that the pens are assigned to colors cyclically, with color 0 assigned to pen 1, color 1 assigned to pen 2, and so on. Colors are always assigned to the last pen for which they are specified.

If a pen record is too long, it can be split into two pen records with the same pen_number.

Valid options are:

Option

Specifies

/speed=

Speed of pen, as a decimal number in cm/s. See printer documentation for limits on pen speed for your printer.

/force=

Force of pen, as an integer and should be defined in printer documentation. The HP7470 and HP7475 printers do not allow force selection and will ignore this parameter.

/acceleration=

Acceleration of pen, as an integer and should be defined in printer documentation. The HP7470 and HP7475 printers do not allow acceleration selection and will ignore this parameter.

/rgb=

Specification of pen color using the RGB color model. If you are using a pen printer, the RGB option is desirable for on screen print preview. If you are using a printer with programmable color, the RGB option lets you override the screen color when printing.

/grayscale

Sets the pen to grayscale, without requiring an RGB value.

/screen=

Assigns screening to a pen. Requires a value between 0.0 and 100.0. A value of 0.0 results in pure white, and 100.0 in no screening.

/widthmm

Output line width in millimeters.

If pen speed, force or acceleration is omitted, the values are assumed to be set up in the printer (normal case).

The “/widthmm =” qualifier lets you map MicroStation color indices to both plot output colors (/rgb=...) and physical line widths (/widthmm=...). For some resymbolization workflows, where the display color controls or defines line width, you can specify pen color and width in the PLT file, potentially minimizing the need for a pen table. This optional qualifier works best with “change_pen=both”. Plotting with “change_pen=both” and “pen... /rgb... /widthmm” is preferable to using “change_pen=weight” and a pen table to control output color and line width. The “change_pen=weight” setting forces MicroStation to stroke the view multiple times to produce a single print, while the view is stroked only once when “change_pen=both” is used. Using the latter typically results in more efficient plot generation.

Any pen widths specified using the “/widthmm” qualifier take precedence over the “weight_strokes” statement.

Examples

pen(4)=(1,3,20-33,44)

Specifies that colors (assuming that color is the pen change criteria) 1, 3, 20 through 33 and color 44 are to be drawn with pen number 4.

pen(1)=(1-128)

pen(2)=(4,7,20)

Specifies that elements with colors 4, 7 and 20 are drawn using pen 2 and all others are drawn using pen 1.

pen(2)=(6)/rgb=(100,100,100) ;medium gray

Specifies that color 6 (assuming that color is the pen change criteria) is to be mapped to rgb values of 100,100,100 and drawn using pen 2. It is good practice to add a comment such as shown here (;medium gray) describing the assigned color.

pen(1) = (0) /rgb=(000, 000, 000) /widthmm=0.5

pen(2) = (1) /rgb=(000, 000, 000) /widthmm=0.25

pen(3) = (2) /widthmm=0.15

pen(4) = (3-254) /rgb=(128, 128, 128) /widthmm=0.1

Assigns the color indices 0 and 1 to black, with 0.5 and 0.25 mm line widths respectively. Color index 2 uses the RGB value from the file's color table and assigns a 0.15 mm line width. Every other color index plots 50% gray with 0.1 mm width.

pen_change

Specifies an action to be taken by the printer after every pen change operation.

Syntax: pen_change=<option>

Where option can be:

eject — advances the page between pen changes (on printers that support this feature).

pause — takes the printer off line to wait for operator intervention.

Default: No action taken.

pen_width

Determines the distance between multiple strokes on a weighted line, expressed in units of resolution. Also used to space the lines when filling a polygon or filled text.

For example, if the printer resolution is 0.025 mm (the default) and pen_width is set to 10, then the distance between strokes for a multi-stroke line is 0.25 mm.

Syntax: pen_width(pen_number)=<width>

Where:

pen_number — is a number between 1-num_pens indicating the pen for which the width is to be specified.

width — is an integer (0 -15) specifying the width of the line in printer resolution steps, if the printer can draw wide lines. If the printer cannot draw wide lines, width specifies the number of printer resolution steps separating the strokes specified in the weight_strokes record.

If omitted, the default value is 9

pen_separation

Calcomp 960/965 only.

Tells the printing subsystem the distance (0.0-36.0 inches) between pens on Calcomp 965 printers (to compensate for the pen change on this printer).

Default: 0.60 inches

When the printer selects another pen, it moves the pen carrier but never updates its own internal pen position. This record should be used only in cases where offset errors are occurring on Calcomp 960 format printers with more than one pen.

pentable

Specifies a pen table file to be loaded when the printer driver is selected.

Syntax: pentable=\dir\file.tbl

where \dir\file.tbl are the directory and the name of the pen table file to be loaded.

point_size

Enables printing of points and determines size of printed points.

Syntax: point_size=<cm>

Where cm is a size in centimeters (or decimal fractions of a centimeter).

Representation of points is determined by the device driver. The HP-GL and HP-GL/2 drivers represent points as filled circles; the Calcomp 906/907 drivers represent them as circles.

prefix

Specifies the name of a file, the contents of which will be added to the beginning of a print file.

Syntax: prefix=<file_spec>

Where file_spec is the name of the file to be added to the print file. Include a full path if the file is not in the same directory as the printer driver that specifies them.

Default: if omitted no prefix file is used.

Example

prefix=setswitch.dat

Defines a file named setswitch.dat that could contain escape sequences defining the printing language used by a printer.

prolog

PostScript only.

Specifies the PostScript prolog file, the content of which is copied by MicroStation into PostScript print files.

Syntax: prolog=<file_spec>

Where file_spec defines the file to be copied into the PostScript print file. file_spec can include a full or partial path specification. In the absence of a full path specification, MicroStation uses the MS_PLTR configuration variable definition to complete the specification.

Default: “pscript.pro” in MicroStation´s “plotdrv” directory.

resolution

Specifies the resolution of the printer and the units in which distances on the printer are expressed.

Syntax: resolution(units)=(<x_resolution>,<y_resolution>)

Where:

units — can be mm, cm, dm, m, in, or ft.

x_resolution and y_resolution — are floating point numbers. They specify the height and width of a single pixel on the device, expressed in the specified units.

For example, for a 300 dpi device:

resolution(IN)=(0.003333333333333333,0.003333333333333333)

because each pixel is 1/300=0.003 inches high/wide.

The resolution parameter is defined by the printer manufacturer and is used to calculate the number of printer steps per printer unit.

On HPGL2 printers the resolution is determined by the language, not the resolution of the device itself. The resolution is 1/40th. of a mm, which is 0.000984 inches, or 0.025 mm.

There is a connection between the resolution and hardware-raster records. hardware_raster/resolution=nnn defines the resolution in terms of pixels per unit, where unit is defined in the resolution record. For example, if your “.plt” file contains:

resolution(IN)=(…)

hardware_raster/resolution=80

then 80 dots per inch raster is generated.

If you then switch to metric units without updating the hardware_raster/resolution record, such that:

resolution(MM)=(…)

hardware_raster/resolution=80

then 80 dots per millimeter raster is generated, which is a much higher resolution and will result in larger print files.

To convert from resolution in inches to resolution in mm, divide by 25.4. For example, /resolution=80 in inches would become /resolution=3 in mm.

roll

PostScript devices only.

Orientation setting for roll-type media.

Syntax: roll=<value>

Where Value can be:

Value

Meaning

0

Normal default orientation for the specified page size

1

Rotate image 90° counterclockwise

2

Rotate image 180° counterclockwise

3

Rotate image 270° counterclockwise

rotate

Indicates the direction in which printed output is automatically rotated to maximize the area on the page used for the printout.

Syntax: rotate=<direction>

Where direction can be:

none — no rotation.

cw — clockwise rotation 90°.

ccw — counterclockwise rotation 90°.

RTL compression modes

RTL compression modes are defined by the /methods option. Modes supported by the HPGLRTL driver are:

Compression Method 0 — None (unencoded).

Compression Method 1 — Run Length Encoding.

Compression Method 2 — TIFF PackBits Encoding.

Compression Method 3 — Delta Row (Seed Row) Encoding.

Compression Method 4 — Empty Row (valid only if /format=2).

Compression Method 5 — Duplicate Row (valid only if /format=2).

You can use the raster_compression record in “hpglrtl.plt” to restrict the compression modes (that the driver uses) in devices that do not support all RTL compression modes. The default settings for this record allows all compressions to ensure that the driver output functions with any device that claims HPGL-2/RTL support.

If you want to minimize driver output, you can experiment with different printer settings. The raster_compression keyword controls the overall format of compressed data. The two formats are:

  1. (Default) raster_compression/format=1/methods=(0)

  2. raster_compression/format=2/methods=(2,3,1,0,4,5)

Format 1

Use this line for no compression. Format 1 indicates that raster data must be transferred by row. This format is more likely to work with any printers that claim RTL support.

Format 2

This line configures full adaptive compression. It is the most aggressive setting and results in the smallest driver output. Use this line for full adaptive compression. It indicates that raster data may be transferred in RTL blocks.

The integers assigned to the “methods” keyword determine which supported compression methods are used by the driver during adaptive compression. You can specify a sole compression method if a device does not support adaptive compression.

size

Specifies the printing area of the paper size supported by the printer.

Syntax: size=(<width>,<height>) /offset=(<woff>,<hoff>) /number=n

/scale=n /name=<name> /manual_origin=<origin option> /default

Where:

<width> and <height>

These are the width and height of that part of the paper used for the printed output. Width specifies the part of the page used along the x axis and height is the portion of the page to be used along the y axis.

Other options specify the following:

Option

Specifies

/offset=

Sets the distances from the paper origin to the lower left corner of the printed output in printer units (defined in the resolution record).

<woff> and <hoff> — sets the distance along the x and y axes, respectively.

/number=

Paper size number (on HP7475A and some HP-GL/2 devices) to specify paper size. (The HP7470 uses only one paper size and the other printer models sense the paper size automatically.) Use /number=0 for either B or A3 paper or /number=4 for A or A4 paper.

or

Form length, in inches, for some MDL-driven, ESC/P-language printers, such as the Canon BJ230, that accommodate ledger size paper but lack a DIP switch for turning off the “page break skip” feature.

/name=

Name to specify the paper size. Each name should be unique.

Each size record must have a /name= keyword.

/manual_origin= (Hewlett-Packard printers only)

Manually sets the print origin:

  • p1 — Sets lower left corner

  • p2 — Sets upper right corner

  • both — Sets both corners

If either p1 or p2 is used, the size of the drawing is determined by the size and scale factors in the Print Layout dialog box. The position on the page is determined by the setting of the p1 or p2 point on the printer.

If the both option is used, MicroStation fits the printed output between the p1 and p2 points set up on the printer at print time. The size and scale factors in the Print Layout dialog box are irrelevant.

/scale=

Sets the default printing scale factor for a particular paper size.

/default=

Indicates that this is the default paper size for the printer driver. Only one size record should have the /default qualifier.

At least 1 size record must be in the printer driver. Where more than one size record is present, and no default is indicated, the last size record in the file becomes the default paper size.

The plotting page model consists of usable area dimensions and a border record offset. Consider the following portrait-orientation SIZE record:

size=(7.4,10.0)/num=4/off=(.5,.5)/name=letter

This record says that the page's imageable area is 7.9 x 10.5 inches, with a half-inch strip along the left and bottom sides reserved for the plot border label. The usable area for the actual plot, therefore, is 7.4 x 10.0 in. The figure below depicts the usable area and the label offset, along with the non-editable hardware margins.

Legend:

If the above page is changed to landscape orientation, all page dimensions are swapped, but the label offsets remain at the left and bottom. Also, regardless of the orientation, X goes from left to right and Y goes from bottom to top.

software_raster

See hardware_raster and software_raster .

start_plot

Specifies an action to be taken by the printer before the printed output is generated.

Syntax: start_plot=<option>

Where option can be:

eject — advances the page before printing (on printers that support this feature).

pause — takes the printer off-line to wait for operator intervention.

Default: No action taken

stroke_tolerance

Computes the number of vectors used when stroking arcs and circles, where 10 represents the greatest number of vectors.

Syntax: stroke_tolerance=<value>

Where value is a figure between 1 and 10 (inclusive)

Default: 3.5

Consider the trade-off between printing time and printed output quality when choosing a stroke_tolerance value. In most cases, the default value of 3.5 is sufficient.

style

Used to define line styles.

Syntax: style(style_number) = (<pen_down,pen_up>)/option/units=MM,IN,or DOTS (the default)

Where

style_number — is the line style number (in the range 0 and 7), which corresponds to the MicroStation line code number.

pen_down, pen_up — these pairs are distances represented in specified units or in printer resolution units.

/units=MM or /units=IN specifies that the pen_down, pen_up pairs are in millimeters or inches respectively. Where /units=DOTS or when /units is not specified, then distances are in printer units, which vary for different printers.

Default: Varies according to printer.

If a printer can generate user-defined line styles, the printing subsystem downloads a pattern to the printer. Several printers support this feature. For other printers, use the /nohardware option in the style record.

Line styles are a series of pen down, pen up distances that define one repetition of the pattern being drawn. Line styles can be up to 11 inches long and can have up to 5 pen down, pen up pairs.

Valid values for option are:

/hardware — indicates that a printer is capable of generating custom line styles. When this option is used, the printing subsystem downloads the line style pattern to the printer. This is the default value if no option is specified.

/nohardware — indicates that a printer does not support the generation of custom line styles.

Example

Using the /units setting makes the task of defining line styles much easier than using printer resolution units. Take, for example, a Calcomp 907 printer with a resolution of 2032 lines per inch. If /units is set to DOTS or left out completely, then definitions are in printer resolution units. To define style number 2 as a 1/2 inch line, followed by a 1/4 inch space, followed by an 1/8 inch line, and then followed by a 1/4 inch space, in printer resolution units, the style record would read:

style(2)=(1016, 508, 254, 508) /nohardware

On HP printers with a resolution of 1016 lines per inch using printer resolution units, the record would read:

style(2)=(508, 254, 127, 254)/nohardware

If the /units option is set to IN for both printers, then the record is the same for both printers and is much simpler to understand:

style(2)=(0.5, 0.25, 0.125, 0.25) /nohardware/units=IN

suffix

Specifies the suffix file, the content of which is added to the end of the print file created by MicroStation. In the absence of a full path specification, MicroStation looks for the suffix file in the same directory as the printer driver.

Syntax: suffix=<file_name>

Where file_name is a file that is added to the end of the print file.

Default: if omitted no suffix file is used.

To accommodate networks, printer features and other aspects of a particular site or project, you can add data files to the beginning or end (or both) of the print data created by MicroStation drivers. Two keywords permit this:

prefix=<filename_1>

suffix=<filename_2>

If these records are present, the contents of the named files (filename_1 and filename_2) will be added to the print file. Include a full path if the files are not in the same directory as the printer driver that specifies them.

Some PostScript printers require that the data stream end with a <Ctrl-D>. The sample file “controld” (installed in MicroStation´s “plotdrv” directory) contains the single character <CTRL-D>. To add this character to the print file, you can add to the PostScript printer driver the line suffix=controld.

sysprinter

(For Windows platforms only) Designates a specific system printer, form, orientation and offset. These options can be used alone or in combination.

Syntax:

sysprinter /name="printer-name" /form=f /orientation=o /offset=(h,v)/tray=t /fullsheet

Where:

/name

Specifies the printer name. Printers can be accessed locally or across a network. In either case, the printer must have been installed on the machine from which MicroStation is being used. To obtain a valid printer name, first open the Start > Settings > Printers folder. Below the icons for each printer is the printer name. The name will take one of two forms:

  1. A local printer name like HP LaserJet 4 Plus.

    In this case, the printer name used is just the local name exactly as seen in the Printers folder:

    /name="HP LaserJet 4 Plus".

  2. A network printer name like hp755cm on printserver, which specifies a printer share name and a network computer.

    In this case, the printer name used is specified as \\computer\share. For example:

    /name="\\printserver\hp755cm"

    If necessary, you can find the computer name needed by looking at Start > Settings > ControlPanel > Network.

    If the printer name contains spaces or '/', it should be enclosed in either single (`) or double (“) quotes'.

    The /name qualifier is optional. If omitted, the Windows default printer will be used.

/form

This value can be any valid form name for the the selected printer, such as letter, legal, and so on. For a list of all standard form names plus how to check for valid form names for your printer, refer to Paper size (Form) names for Windows platforms .

Some manufacturers have used form names that contain characters outside the normal ASCII printable range. Example: for a form name like 8 1/2 x 11, instead of specifying 3 characters 1, /, and 2, they have put in the code for a special one-half symbol which only takes up one character position.

To handle this case, you can enter “ANSI 8?x11” and MicroStation will match the actual name. If the form name contains spaces or `/´, it should be enclosed in single (`) or double (“) quotes. If the form name contains " to indicate inches, use a single quote pair, such as:

/form='letter 8 1/2" x 11"'

The /form qualifier is optional. If omitted, the Windows default setting for the named printer will be used.

/orientation

This value can be either portrait or landscape.

The /orientation qualifier is optional. If omitted, the Windows default setting for the named printer will be used.

/offset

Leaves horizontal and vertical space for the border text. For example, if your units are set to inches, a setting of (0.00, 0.25) will leave a 1/4 inch space at the bottom of the printed output so border text may be drawn.

The /offset qualifier is optional. If omitted, no space will be left.

/tray

This value can be any valid tray name for the selected printer, such as Tray 1, Manual Feeder, and so on. Where a printer has a choice of trays (or paper sources) you can check the available tray names by clicking the Configure Windows Printer icon in the Print dialog box, which opens the system Print setup dialog box. In this dialog box, you can select the required printer Name and then click Properties to view the printer's properties, including that for paper source.

Some manufacturers have used tray names that contain characters outside the normal ASCII printable range. To handle this case, you can enter a “?” in place of any character and MicroStation will match the actual name. If the tray name contains spaces or `/´, it should be enclosed in single (`) or double (“) quotes. If the tray name contains " (double quote) as part of the name, use a single quote pair.

The /tray qualifier is optional. If omitted, the Windows default setting for the named printer will be used.

/fullsheet

By default, when the printing system determines the useable part of a sheet of paper, it only considers the printable portion. For example: when printing to a letter size sheet of paper (nominally 8.5 x 11 inches), the printable portion may only be 8 x 10.5. By adding this switch, the useable part of the paper will be the full sheet.

This does have some provisos:

This switch is more useful for sheet printers than printers with roll media.

vector_color_mode

The vector_color_mode record sets the initial value of the vector output color control in the print dialog.

Syntax: vector_color_mode = <value>

where <value> is one of the following keywords:

monochrome — output is black and white

grayscale — design file colors are output as grayscale

color — design file colors are used

This setting affects vector output only. Raster attachments and rendered views always are plotted in color.

weight_strokes

Specifies the mapping of MicroStation line weights to line thicknesses in the printed output.

Syntax: weight_strokes(units)=(list)

where:

units — can be mm, in or dots (the default) to specify that line thicknesses are printed in millimeters, inches or printer resolution units, respectively.

list — is a list of line thicknesses, expressed in millimeters, inches or dots (printer resolution units). For example the following entry:

weight_strokes(mm)=(0.25, 0.50, 0.75, 1.00, 1.25, 1.50, 1.75, 2.00, \

2.25, 2.50, 2.75, 3.00, 3.25, 3.50, 3.75, 4.00, \

4.25, 4.50, 4.75, 5.00, 5.25, 5.50, 5.75, 6.00, \

6.25, 6.50, 6.75, 7.00, 7.25, 7.50, 7.75, 8.00)

Lists line thicknesses in millimeters (mm) for each MicroStation line weight from 0 through to line weight 31. Each line thickness is separated by a comma. Because the entry spans more than one line, backslashes are placed at the end of preceding lines to tell the system to continue reading the record on the following line.

Where no units are specified or when dots is specified as the units, then the line thicknesses are based on printer resolution units. The listed values specify the number of strokes that are used for each line weight when line weight is enabled. Thus, printers with different resolution units will require different settings to produce the same line thickness. If omitted, the default value is the line weight divided by 2.

Example

If you used the following record:

weight_strokes(mm)=(0.25,0.50,0.75,1.00,1.25,1.50,1.75,2.00)

then line weight 0 is printed at a thickness of 0.25mm, line weight 1 is printed at a thickness of 0.50mm, and so on. This record is valid for any printer because the units are specified as millimeters.

When dots is specified as the units or if units are omitted, the stroke thickness for a line weight in millimeters is computed by multiplying the corresponding weight_strokes value by the printer´s resolution units. If, for example, the printer resolution units are 0.025, then the following:

weight_strokes=(10,20,30,40,50,60,70,80)

causes line weight 0 to be drawn 0.25 mm wide (10 x 0.025), line weight 1 to be drawn 0.50 mm wide (20 x 0.025), and so on. To produce these exact line thicknesses, this record is valid only for printers having a resolution of 0.025mm. A typical problem with using dots as the units, is that a print from a 300 dpi printer will print twice as thick as a line from a 600 dpi printer. Using “in” or “mm” as the units avoids this.

Raster Image Processor syntax

MicroStation's “rip*.plt” printer driver files are used to generate a raster version of the plotted area of the design file. As part of this process, vectors are “burned” into the underlying background, or underlying raster images. That is, the final output is a purely raster interpretation of the selected region of the design file with all the vector information converted to raster.

For the RIP printer drivers there is a special syntax. For example, the following line:


CmdName /appname=“bmf” /command=“setRasterFormat” /qualifier=“rgb24”

says to use the MDL application bmf.ma to call a function setRasterFormat and pass it the string format=rgb24.

Refer to the RIP printer driver files in the "Workspace\System\plotdrv" directory for more information about these commands.

PDF syntax

The printer driver file"pdf.plt" is used to generate PDF output from DGN files.

For the PDF printer driver file there is a special syntax. For example, the following line:


CmdName /appname=“pdf” /command=“version” /qualifier=“Acrobat 6 (PDF 1.5)/Viewable in Acrobat 5”

says to use the MDL application pdf.ma to call a function version and pass it the string Acrobat 6 (PDF 1.5)/Viewable in Acrobat 5.

Refer to "pdf.plt" in the "Workspace\System\plotdrv" directory for more information about these commands.