---
name: "printdm"
section: "1"
platform: "linux"
package: "survex"
version: "1.0.39.1-2.1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/printdm"
---

# printdm(1)

print .3d files on a dot-matrix printer

## NAME

printdm — print **.3d** files on a dot-matrix printer

## SYNOPSIS

**printdm** \[options\] .3d file ...

## Description

Printdm produces output suitable for most dot-matrix printers, and also  for Canon BJ inkjet printers.  It supports 8, 9, and 24 pin Epson-compatible  dot-matrix printers. The 9 pin dump is about 10% faster than the 8  pin, but some old printers will not support it.  Printdm supports  printers which support Epson's ESC/P codes, and also those which  support IBM's ProPrinter codes.

The configuration file **print.ini**, which  sets various features for each printer. See the 'Printer Settings'  section for details. Even if your printer is not standard you should be  able get it to work by customising one of the supplied definitions.

## Options

The command line options are:

- \--survey=SURVEY

  Only load the sub-survey SURVEY

- \-e, --elevation

  select elevation

- \-p, --plan

  select plan view

- \-b, --bearing=BEARING

  set bearing

- \-t, --tilt=TILT

  set tilt

- \-s, --scale=SCALE

  set scale

- \-n, --station-names

  display station names

- \-c, --crosses

  display crosses at stations

- \-B, --no-border

  turn off the solid border around the edge of the survey.  Printing to dot-matrix and inkjet printers can be significantly faster without  this border as the printhead usually doesn't need to move all the way to the  edge of the paper.

- \-C, --no-cutlines

  If a printout takes more than one page, alignment ticks are  printed where the page corners need to be joined.  By default dash lines are  also drawn along internal edges to facilitate trimming down the page with  scissors.  If you have a guillotine, the alignment ticks are sufficient for  trimming the page and this option allows you to turn off the dashed lines.

- \-l, --no-legs

  turn off display of survey legs

- \-S, --surface

  turn on display of surface survey legs. By default only  underground survey legs are shown.

- \-k, --skip-blanks

  don't output blank pages With this option pages which are blank  (apart from alignment marks and borders) will not be printed.

- \-o, --output=OUTPUT

  set output file

- \--calibrate

  print out calibration page

## Interactive Use

When you run the printer driver you will be asked if you want a  plan or elevation (enter **\<P\>**, or **\<E\>**) - the default is  plan. Then enter values for the desired plot view. These values  correspond to those displayed in the bottom right hand corner when using  Aven (or the top right when using caverot).  You would usually use  Aven or caverot  to pick the best view and then  note the angles before running the Printer Driver. This will  be integrated soon.

For a plan enter bearing up the page, in degrees, 0 indicating North  at the top of the page (the default).

For an elevation enter the angle of view (i.e. the compass bearing  from which the scene is viewed), and angle of tilt, where 0 is  horizontal, - is looking down from above, and + is looking up from  below, so -90 is the same as plan view.

For an extended elevation, no viewing angles are needed.

You'll be told the scale needed to fit the plot on one page, and  be asked what scale you want to use. The you're told how many  pages this will take (and the arrangement of those pages (e.g. 6 pages  (2x3)) and have the opportunity to print, quit, or change the scale (so  you can repeat this process until you have a scale and number of pages  you are happy with).

You can then print all the pages, a range of pages, or any arbitrary  list of pages and ranges (handy for when your printer mangles a page).

## Printer Calibration

Dot Matrix printers do not print to an accurate size - you need to do  to calibrate your printer in order to get correctly-scaled  plots.  Print out a calibration plot using  **printdm --calibrate** and measure the width and height  of the page border.

Then create an entry in **/etc/print.ini** or  **.survex/print.ini** in your home directory (Unix)  or **myprint.ini** in the installation directory (other platforms) with   entries mm\_across\_page and mm\_down\_page containing your values.  The entry should look something like this:

```
[dm]
like=dm_8pin_a4
mm_across_page=204.5
mm_down_page=278
```

Then run **printdm --calibrate** again, and check that  the square is now 10cm wide and high.  This calibration is  particularly necessary for older dot-matrix printers as they vary  significantly in scaling - even between two printers of the same make  and model.

## See Also

**3dtopos(1)**,  **[aven(1)](/aven/1.md)**,  **[cad3d(1)](/cad3d/1.md)**,  **[cavern(1)](/cavern/1.md)**,  **[diffpos(1)](/diffpos/1.md)**,  **[extend(1)](/extend/1.md)**,  **[printhpgl(1)](/printhpgl/1.md)**,  **[printpcl(1)](/printpcl/1.md)**,  **[printps(1)](/printps/1.md)**,  **[sorterr(1)](/sorterr/1.md)**,  **[svxedit(1)](/svxedit/1.md)**,  **[xcaverot(1)](/xcaverot/1.md)**,  **[print.ini(5)](/print.ini/5.md)**
