ICEM PlotServer Package Version 4.1

Transcription

ICEM PlotServer Package Version 4.1
ICEM PlotServer Package
Version 4.1
User and Administrator Manual
April 2003
© ICEM Ltd. 2003
Legal Notices and Contact
Copyright Information
Copyright © 2003 ICEM Ltd. All Rights Reserved.
User and training documentation from ICEM is subject to the copyright laws of the United States and other countries and is provided
under a license agreement that restricts copying, disclosure, and use of such documentation. ICEM hereby grants to the licensed user
the right to make such limited copies in printed form of this documentation if provided on software media, as may be necessary for
internal/personal use only and all such copies shall be made in accordance with the license agreement under which the applicable
software is licensed to the licensed user. Any copy made shall include the full ICEM copyright notice and any other proprietary notice
provided by ICEM to the licensed user from time to time. This documentation may not be disclosed, transferred, modified, or reduced
to any form, including, but not limited to, electronic media, or transmitted or made publicly available by any means whatsoever without
the prior written consent of ICEM and no authorization is granted to make copies for such purposes.
Information described herein is furnished for general information only, is subject to change without notice, and should not, in any
circumstances, be construed as a warranty or commitment by ICEM. ICEM assumes nor accepts any responsibility or liability for any
errors or inaccuracies howsoever arising that may appear in this document.
The software described in this document is provided under a written license agreement, contains valuable trade secrets and
commercial and intellectual proprietary information, and is protected by the copyright laws of the United States and other countries. It
may not be copied or distributed in any form or medium, disclosed to third parties, or used in any manner not provided for in the
software licenses agreement except with written prior approval from ICEM. PLEASE NOTE THAT UNAUTHORIZED USE OF
SOFTWARE OR ITS DOCUMENTATION CAN RESULT IN CIVIL DAMAGES AND CRIMINAL PROSECUTION.
Registered Trade Marks of ICEM Ltd. or a Subsidiary
ICEM is a registered trade mark of ICEM Ltd.
Trade marks of ICEM Ltd. or a Subsidiary
ICEM Surf and ICEM DDN are unregistered trade marks of ICEM Ltd.
Third-Party Trade Marks
Adobe is a registered trade mark of Adobe Systems. AIX is a trade mark or registered trade mark of International Business Machines
Corporation in the United States and other countries. CATIA is a registered trade mark of Dassault Systems. HP-UX is a registered
trade mark of the Hewlett-Packard Company. I-DEAS is a trade mark or registered trade mark of Electronic Data Systems Corporation
(EDS). InstallShield is a registered trade mark and service mark of InstallShield Software Corporation in the United States and/or
other countries. IRIX is a registered trade mark of Silicon Graphics, Inc. Sun Solaris is a trade mark or registered trade mark of
Sun Microsystems. Microsoft, Windows, Windows NT, Visual Basic, and the Visual Basic logo are registered trade marks of
Microsoft Corporation in the United States and/or other countries. SuSE and its logo are registered trade marks of SuSE AG. Red Hat,
the Red Hat "Shadow Man" logo, RPM, Maximum RPM, the RPM logo, Linux Library, PowerTools, Linux Undercover, RHmember,
RHmember More, Rough Cuts, Rawhide and all Red Hat-based trade marks and logos are trade marks or registered trade marks of
Red Hat, Inc. in the United States and other countries. Linux is a registered trade mark of Linus Torvald.
Licensed Third-Party Technology Information
Certain ICEM software products contain licensed third-party technology: FLEXlm is a registered trade mark of Macrovision
Corporation. LightWork Libraries are copyrighted by LightWork Design 1990-2003. Pro/ENGINEER, CDRS, 3DPAINT are copyrighted
by Parametric Technology Corporation. The CADverter for Catia, Cadds, Unigraphics are copyrighted by Theorem Solutions Ltd.
UNITED STATES GOVERNMENT RESTRICTED RIGHTS LEGEND
This document and the software described herein are Commercial Computer Documentation and Software, pursuant to FAR
12.212(a)-(b) (OCT'95) or DFARS 227.7202-1(a) and 227.7202-3(a) (JUN'95), is provided to the US Government under a limited
commercial license only. For procurements predating the above clauses, use, duplication, or disclosure by the Government is subject
to the restrictions set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software Clause at DFARS
252.227-7013 (OCT'88) or Commercial Computer Software-Restricted Rights at
FAR 52.227-19(c)(1)-(2) (JUN'87) or FAR 52.227-14 (ALT III), as applicable.
032603
ICEM Ltd.: registered office: Epsilon House, Enterprise Road, Chilworth Science Park, Southampton, SO16 7NS, U.K.
Contact Information
Licenses
[email protected]
Hotline
in Europe:
ICEM Technologies GmbH
Siemensstrasse 9
63263 Neu-Isenburg
Germany
Phone:
Fax:
E-mail:
+49 (0) 6102 366 9090
+49 (0) 6102 366 9100
[email protected]
outside Europe:
ICEM Technologies, Inc.
38705 Seven Mile Road
Suite 320 Livonia, MI 48152
USA
Phone:
USA & Canada:
outside USA:
+1 800 692 7322
+1 734 462 1795
Fax:
E-mail:
+1 734 462 1039
[email protected]
Sales
in Europe:
ICEM Technologies GmbH
Siemensstrasse 9
63263 Neu-Isenburg
Germany
Phone:
Fax:
E-mail:
+49 6102 366 9000
+49 6102 366 9100
[email protected]
outside Europe:
ICEM Technologies, Inc.
38705 Seven Mile Road
Suite 320 Livonia, MI 48152
USA
Phone:
Fax:
E-mail:
+1 734 462 1795
+1 734 462 1039
[email protected]
Contents
Contents
Chapter 0
About this Manual
0-1
0.1
Manual Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0-1
0.2
Manual History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0-1
0.3
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0-2
0.4
Customer Support (Hotline) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0-3
0.5
Sales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0-3
0.6
ICEM License Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0-4
0.7
More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0-4
Chapter 1
Introduction
1-1
1.1
Supported Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2
Structure of this manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.3
Plot Scenario and Purpose of the PlotServer Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Chapter 2
The Icem PlotServer Concept
2-1
Chapter 3
Identifying and Using Defined Plotters
3-1
3.1
Identifying and Using Plotters on the System Level (UNIX Shell) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.1.1
Identifying Plotters and Making Status Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.1.2
Using Plotters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.1.3
Managing Printing and Plotting Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.2
Identifying and Using Plotters under the ICEMview User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.3
Plotting from Inside an ICEM Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
3.3.1
ICEM DDN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
3.3.2
ICEM Surf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
3.3.3
Icem Duct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Chapter 4
Installing the ICEM PlotServer Package
4-1
4.1
Preparing Installation from Cartridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2
Preparing Installation from CD-ROM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.3
Installation with the ICEM Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.4
Installation with the PTC.Setup Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.5
Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.6
Deinstalling the ICEM PlotServer Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Chapter 5
Creating a Plot Queue on the Plot Server
5-1
5.1
Creating a Plot Queue Using IRIX System Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2
Creating a Plot Queue Using the IRIX Printer Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
1
Contents
Chapter 6
Testing a Plot Queue on the Plot Server
6-1
Chapter 7
Creating a Plot Queue on the Plot Client
7-1
7.1
Creating a Network Plot Queue Using IRIX System Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-1
7.2
Creating a Network Plot Queue Using the IRIX Printer Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-1
Chapter 8
Removing a Plot Queue
8-1
8.1
Removing a Plot Queue Using IRIX System Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-1
8.2
Removing a Plot Queue Using the IRIX Printer Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-1
Chapter 9
Customizing the Plot Server
9-1
9.1
Customizing the Access Path of the License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-4
9.2
Entering the Uniplot Postprocessor and Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-4
9.3
Entering and Changing a Start and End Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-6
9.4
Changing the Default Uniplot Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-8
9.5
Entering and Processing New Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-8
9.6
Further Processing of Plot Files Created on the Hard Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-10
9.7
9.6.1
Manipulating Plot Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-10
9.6.2
Transferring Plot Files to the BSD Spooling System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-10
9.6.3
Sending Plot Files to an Output Device Connected via Ethernet. . . . . . . . . . . . . . . . . . . . . . . . . . .9-12
9.6.4
Transferring Plot Files in Other Ways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-12
Customizations to the Uniplot Postprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-12
9.7.1
Making Changes in the File DHCFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-13
9.7.2
Making Changes in the File DHCEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-14
Chapter 10
Diagnosing and Correcting Plotting Problems
10-1
10.1
The Log File ‘plotlog’ on the Plot Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-1
10.2
The Diagnostic Script ‘tst_plotter’ on the Plot Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-3
10.3
Restarting the LP Spooler without Rebooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-3
Chapter 11
Information on Output Devices and the Uniplot Software
11-1
11.1
Notes on the Operation of the PlotServer Package on AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-1
11.2
Notes on the Operation of CalComp CAL907 Output Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-4
11.3
2
11.2.1
Pen Plotters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-5
11.2.2
Raster Plotters (Laser, Ink Jet, Thermal, Electrostatic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-6
11.2.3
Using CDCL (CalComp Device Control Language) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-6
Notes on the Operation of HPGL and HPGL/2 Output Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-7
11.3.1
DIN A4/A3 Printers (Laser, Ink Jet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-10
11.3.2
HP75XX Series Pen Plotters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-10
11.3.3
DesignJet Series Raster Plotters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-10
Contents
11.4
Notes on the Operation of PostScript Output Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13
11.4.1
troke Widths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13
11.4.2
DIN A4/A3 Laser Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14
11.5
Supporting Other Output Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15
11.6
Manual Use of the Uniplot Preprocessors and Postprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16
11.7
Notes about Uniplot Version 3.3 Release 01. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18
11.7.1
11.8
The Uniplot Postprocessors and their Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18
The LP Spooler Interface File ‘plotface2.1’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
11.8.1
Innovations and Changes in ‘plotface2.1’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
11.8.2
Listing of the LP Spooler Interface File ‘plotface2.1’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-22
3
Contents
4
Figures
Figures
Figure 1
Heterogeneous plotting environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Figure 2
LP spooler integrated plot format creation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Figure 3
Client/Server Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Figure 4
Output on the screen of the ‘lpstat -t’ command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Figure 5
ICEM view Icon Catalog page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Figure 6
ICEM view printer and plotter icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Figure 7
ICEM view plotter dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Figure 8
ICEM view printer dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Figure 9
The IRIX 5.x Toolchest menu bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Figure 10
IRIX Printer Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Figure 11
IRIX Printer Status Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Figure 12
Orga Autoplot DDN menu definitions, etc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Figure 13
Orga Autoplot DDN trace definition, etc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Figure 14
Orga autoplot procedure definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
Figure 15
Surf Plotter Configuration File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Figure 16
ICEM Installer Media-Path input dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
Figure 17
ICEM Installer main dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Figure 18
ICEM PlotServer Package directory structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Figure 19
Main Window of the PTC.Setup Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Figure 20
IRIX Printer Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Figure 21
IRIX 6.5 Printer Manager Add dialog box with local Connection type selected. . . . . . . . . . . . . . . . . . 5-4
Figure 22
Test plot ‘ddnplot’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Figure 23
Diagnostic script ‘tst_plotter’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Figure 24
Diagnostic script — phase 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Figure 25
Diagnostic script — phase 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Figure 26
Diagnostic script — phase 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Figure 27
Diagnostic script — phase 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Figure 28
Diagnostic script — display of the log file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Figure 29
Diagnostic script — phase 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Figure 30
IRIX Printer Manager Add dialog box with Network Connection Type selected . . . . . . . . . . . . . . . . . 7-2
Figure 31
IRIX Printer Manager Delete dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Figure 32
Structure of the interface file ‘plotface’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Figure 33
Section of the customizing area of the file ‘plotface2.1’ (to be continued) . . . . . . . . . . . . . . . . . . . . . . 9-3
Figure 34
Section of the customizing area of the file ’plotface2.1’ (continued) . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Figure 35
Selection of the Uniplot postprocessor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
Figure 36
Selection of the Uniplot keyword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Figure 37
Definition of a start/end sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
5
Figures
Figure 38
Uniplot standard directive(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-8
Figure 39
‘plotface’ options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-9
Figure 40
Processing of the ready-to-plot file 'PLOTF' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-10
Figure 41
Example of a remote BSD queue entry in the /etc/printcap file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-11
Figure 42
Example of a local BSD queue entry in the /etc/printcap file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-12
Figure 43
The 'dhcutl' program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-13
Figure 44
Excerpt of the file 'DHCEXT' (to be continued) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-15
Figure 45
Excerpt of the file ’DHCEXT’ (continued) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-16
Figure 46
Log file ‘plotlog’. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-2
Figure 47
Section of the customizing area of the file 'pll' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-2
Figure 48
Customizing area of the file 'plr' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-3
Figure 49
Customizing plot file handling in the file ‘pll‘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-3
Figure 50
'Plotface2.1 CAL907’ customizing area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-4
Figure 51
Example of the use of CDCL commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-6
Figure 52
HPGL P1/P2 corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-7
Figure 53
Customizing area for ‘Plotface 2.1 HPGL’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-8
Figure 54
Customizing area for ‘Plotface 2.1 HPGL/2’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-9
Figure 55
Definition of pen attributes in the ‘DHCEXT’ file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-12
Figure 56
Customizing area for ‘Plotface 2.1 PostScript’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-13
Figure 57
Customizing stroke width in a PostScript file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-14
Figure 58
Incorporation of paper tray selection into the PostScript file 'PLOTF' . . . . . . . . . . . . . . . . . . . . . . . .11-15
Figure 59
Running the Uniplot postprocessor manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-17
6
Tables
Tables
Table 1
Standard Uniplot CAL907 parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
Table 2
Uniplot CAL907 transmission parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
Table 3
Uniplot HPGLR/HPGLU transmission parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
Table 4
DesignJet settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-11
Table 5
Optimization parameters of the ‘optim‘ program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16
Table 6
The most important Uniplot directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18
Table 7
CAL907 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18
Table 8
CALPM Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-19
Table 9
HPGLR Keywords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-20
Table 10 HPGLU Keywords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-20
Table 11 POSTSC Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
7
Tables
8
Chapter 0 About this Manual
Chapter 0
About this Manual
This manual is one of a set of manuals that describe the ICEM DDN software system. ICEM stands for Integrated
Computer-Aided Engineering and Manufacturing, DDN stands for Design/Drafting/Numerical Control.
ICEM DDN is a computer-aided design/computer-aided manufacturing (CAD/CAM) software package for 3-D
design, solid modeling, ANSI and DIN drafting, and numerically controlled manufacturing. It is an open system that
supports data exchange with other CAD/CAM systems.
This is a manual for design engineers and drafting personnel who have had initial training in the use of the ICEM system. It is not intended to be a tutorial guide. For a step-by-step introduction to the ICEM system, refer to the ICEM
DDN Tutorial.
0.1
Manual Organization
This manual is organized as follows:
Chapter
Description
1
Contains an introduction to the ICEM PlotServer Package.
2
Explains the ICEM PlotServer concept.
3
Shows how to identify and use defined plotters.
4
Describes the Installation of the ICEM PlotServer Package.
5
Shows how to create a plot queue on the plot server.
6
Shows how to test a plot queue on the plot server.
7
Shows how to create a plot queue on the plot client.
8
Shows how to remove a plot queue.
9
Describes how to customize the plot server.
10
Helps to diagnose and correct printing problems.
11
Introduces several output devices and gives additional information on operating system dependencies and the Uniplot software.
0.2
Manual History
The ICEM DDN 5.0 release does not contain any changes.
This edition obsoletes all previous editions.1
1. © 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 by ICEM Technologies
All rights reserved.
0-1
0.3 Conventions
0.3
Conventions
The following conventions are used in the manuals:
•
Menus are represented by a series of numbers separated by periods. These numbers, called menu strings, represent
the selections in the ICEM DDN menu hierarchy. The first number is the main menu choice, the second number is
the second-level menu choice, and so on. For example, menu choice 5.13.3 EXECUTE A GPL PROGRAM is the
third level of the menu hierarchy.
Entering F or CTRL-F at any ICEM DDN menu or prompt returns you to the main menu. In the manuals, an “F.”
or “f.” is sometimes shown before a menu string to indicate that the first menu selection in the string is from the
main menu.
•
Sometimes menu strings also contain letters or special characters that have the following meaning:
– OPT: invoke the options, e. g. by entering Ctrl-v
– SEL: entity selection, e. g. by clicking with the mouse
– ]: Operation complete, e. g. by entering the ] key via keyboard
– [: Operation reject, e. g. by entering the [ key via keyboard
•
When the word “system” is used, it refers to the ICEM DDN software system.
When “operating system” is used, it refers to the platform's underlying operating system; for example, UNIX or
Windows. Operating systems are referred to specifically (by name or acronym) when there are differences among
them that affect ICEM DDN.
•
Text displays on the screen are presented using a simulated computer typeface, as shown below:
PEN THICKNESS
1.ON
2.OFF
3.SET PEN THICKNESS
•
In all examples, the letter “n” denotes a numeral, as shown below:.
1.COORDINATE XT = n.nnnn
2.COORDINATE YT = n.nnnn
3.COORDINATE ZT = n.nnnn
•
Angle brackets are used in menus, messages, and prompts to indicate text strings that should not be taken literally.
For example, in the manual a message might be shown as:
CURRENT WORKING PART LIBRARY IS: <library name>
On the screen, the program will show the current library name in place of the text between the angle brackets.
The string “<xxx>” refers to user-defined options or settings.
•
0-2
Technical changes are indicated by a vertical bar in the margin next to the change.
0.4 Customer Support (Hotline)
0.4
Customer Support (Hotline)
ICEM Technologies maintains a hotline to assist you in using our products. This hotline service is available for each
product you license from ICEM Technologies and cover with an ICEM Technologies software maintenance agreement. ICEM Technologies also offers consulting at an hourly rate if you do not want to purchase on-going software
maintenance. To obtain current rates, ask your sales representative, contact the ICEM Technologies Helpdesk, or send
an email to [email protected].
If you need help not provided by the documentation or find that a product does not perform as described, contact the
hotline in one of the following ways:
•
USA, Canada, Asia:
ICEM Technologies Helpdesk
A subsidiary of Parametric Technology Corp.
1210 County Road E West
Arden Hills, MN 55112-3739
Tel.: +1-651-765-3000
email: [email protected]
•
Europe:
ICEM Technologies Helpdesk
A subsidiary of Parametric Technology Corp.
Siemensstr. 9
63263 Neu-Isenburg
Germany
Tel.: +49-6102-782-800
Fax: +49-6102-782-850
email: [email protected]
As an ICEM Technologies customer, you receive a site number to use for all support requests, hardware and software.
The site number is listed in the letter ICEM Technologies sends acknowledging your software purchase.
For both telephone and mail enquiries, you need to supply your ICEM Technologies site number. We also ask you for
the following information:
•
level of operating system installed,
•
machine type,
•
product and product level for which support is needed, as well as
•
as many details concerning the problem as you can gather.
This allows us to solve your problem as quickly and efficiently as possible.
0.5
Sales
If you need more information about other ICEM DDN modules, ICEM Surf, ICEM CAD data interfaces, or related
ICEM products, please contact your ICEM sales representative or the ICEM Technologies Sales:
0-3
0.6 ICEM License Files
•
USA, Canada, Asia:
ICEM Technologies Sales
A subsidiary of Parametric Technology Corp.
1210 County Road E West
Arden Hills, MN 55112-3739
Tel.: +1-651-765-3000
email: [email protected]
•
Europe:
ICEM Technologies Sales
A subsidiary of Parametric Technology Corp.
Siemensstr. 9
D-63263 Neu-Isenburg
Tel.: +49-6102-782-820
Fax: +49-6102-782-830
email: [email protected]
0.6
ICEM License Files
ICEM Technologies provides a FLEXlm license file to each customer for each ICEM product purchased. The appropriate license file must be installed correctly before an ICEM product can be executed.
Within ICEM DDN you can invoke the function F.1.17.5.1 LIST OPTIONS to see for which modules you have
licenses, whether there are still some licenses available in your network and when the licenses expire.
See the “ICEM Licensing with FLEXlm – Read Me First and User's Guide” for more information on licensing.
If you require a new license code, please contact the License Management Department by submitting an e-mail
request:
•
European license requests to: [email protected]
•
North America and other Non-European requests to: [email protected]
Each request should include the following information:
•
company name
•
customer contact name, phone number and e-mail address
•
host ID of the computer
Note
Currently, ICEM license requests cannot be processed using the LM Web tools on the PTC Web page.
0.7
More Information
For more information about ICEM products and services, visit our Internet site at
http://www.icem.com.
0-4
0.7 More Information
0-5
0.7 More Information
0-6
Chapter 1 Introduction
Chapter 1
1.1
Introduction
Supported Operating Systems
Support of additional UNIX platforms is one of the essential innovations of the ICEM PlotServer Package version 4.1.
The ICEM PlotServer Package now may be installed on the following UNIX platforms:
•
IRIX 4.x/5.x/6.x
•
HP/UX 9.x, 10.x
•
Solaris 2.x
•
AIX 3.x, 4.x
This handbook still gives priority treatment of the usage and administration of the ICEM PlotServer Package under
the operating system IRIX. Notes about the other supported platforms were added where necessary. Particularly the
implementation for the operating system AIX differs essentially from that of the other supported platforms. For this
please refer to chapter Fehler! Verweisquelle konnte nicht gefunden werden.
1.2
Structure of this manual
This manual should explain the use and especially the administration of the ICEM PlotServer Package in an understandable manner, without getting caught up in unnecessary details. The first three chapters (’Fehler! Verweisquelle
konnte nicht gefunden werden.’, ‘Fehler! Verweisquelle konnte nicht gefunden werden.’ and ‘Fehler! Verweisquelle
konnte nicht gefunden werden.’) are aimed at the ICEM user. Basic knowledge of IRIX1 and the user interface IRIS
WorkSpace2 (IRIX 4.x), IndigoMagic Desktop (IRIX 5.x) or ICEMview3 are an advantage. These chapters should also
serve as a basis for the administrator, who in the following sections will learn everything he or she needs to know
about the installation, customization, and troubleshooting aids of the ICEM PlotServer Package. Since installation and
administration require superuser privileges, it is expected that the administrator have the knowledge of IRIX which
this presupposes. Finally, the Appendix contains notes on the optimal operation of diverse plot output devices, as well
as listings and tables. This top-down structure should help make it possible to recognize and understand the advantages and flexibility of the ICEM PlotServer Package. Then, even complex plotting solutions, which are required by
heterogenous workstation and application environments, can be implemented simply and clearly.
1.3
Plot Scenario and Purpose of the PlotServer Package
In the age of 3D CAD systems, the creation of DIN-compliant 2D drawings still occupies an important place. The
functionality of the ICEM PlotServer Package is the direct result of experience which has been accumulated by ICEM
customer support. The plotting problems to be discussed range from a stand-alone workstation, that is a workstation
with a printer or plotter having a direct serial or parallel connection, all the way to an internetworked system of the
most varied UNIX workstations, PCs and output devices. This last case reflects the typical environment in design
offices for manufacturing engineering and, for example, the automobile manufacturers.
1.
2.
3.
AIX, HP/UX and/or Solaris respectively.
IRIS WorkSpace or IndigoMagic Desktop are the graphical user interfaces of IRIX 4.x and 5.x, respectively.
An optional ICEM product which makes for comfortable, intuitive use of ICEM application programs.
1-1
1.3 Plot Scenario and Purpose of the PlotServer Package
Figure 1
Heterogeneous plotting environment
Plotter
ICEM
Ethernet
Laserprinter
ICEM
Plotserver
IRIX Workstation
Client A
UNIX Workstation
Client B
IRIX Workstation
Figure 1 represents one of many possible scenarios which shows any UNIX workstation with a laser printer connected, as well as two IRIX workstations, one of which functions as the plot server and drives the plotter, which is
directly connected to it. ICEM applications are executed on the IRIX workstations, and their plot files are supposed to
be output both on the plotter and on the laser printer. In addition, an application is running on the UNIX workstation
(Client A) which also wants to use the plotter. The ICEM PlotServer Package plus a few small requirements (see the
next chapter, among others) can solve this problem quickly (see Chapter 8 “Removing a Plot Queue” on page 8-1).
The ICEM PlotServer Package closes a gap in the IRIX1 operating system which is typical for UNIX. This is because
up to now it has not been possible to establish a standard under UNIX which allows application programs to create
drawing files in a metaformat2, which so-called drivers can then convert into the necessary output device-specific format and output. This makes it necessary for application programs either to create the output device-specific forms
directly, that is themselves, or to create proprietary intermediate formats and subsequently convert them by running
preprocessor and postprocessor programs.
Directly creating formats for diverse output devices has the disadvantage that no application program can adapt
quickly and flexibly enough to new output devices. Therefore, ICEM application programs (DDN, CFD DDNPCUBE, Surf and Duct) pursue the second solution path and produce neutral, application-specific plot files which are
translated into the output device-specific format by at least one conversion run. The preprocessors and postprocessors3
necessary for that are one of the components of the ICEM PlotServer Package.
1.
2.
3.
1-2
AIX, HP/UX und/oder Solaris respectively.
A neutral format independent of output device.
This has to do with the Uniplot product from ICEM Technologies.
1.3 Plot Scenario and Purpose of the PlotServer Package
Figure 2
LP spooler integrated plot format creation
Applications
ICEM DDN
Application
plot format
Neutral Uniplot
format
tape9
CAL907
Uniplot
NPFILE
ICEM Surf
Duct
Plotter formats
HPGL, HPGL/2
PostScript
plot.npf
Preprocessor run
Postprozessorlauf
Integration into AT & T LP spooler
This allows very rapid support for new printers and plotters, without having to update the applications themselves.
Under UNIX, which is to say also under IRIX, there are two powerful systems available for spooling, that is, for passing on, collecting, and formatted output of ready-to-plot files:
•
The AT&T spooling system (standard under IRIX),
•
The BSD spooling system (optionally usable under IRIX, also additionally)
One example of how the ICEM PlotServer Package makes optimal use of the AT&T spooling system is that the previously-mentioned format conversions on the plot server have been integrated into the AT&T spooling system. This is
completely transparent to the user, since he/she only has to pass on the plot file created by the ICEM application to the
spooling system.
The following chapter explains the concept of the ICEM PlotServer Package.
1-3
1.3 Plot Scenario and Purpose of the PlotServer Package
1-4
Chapter 2 The Icem PlotServer Concept
Chapter 2
The Icem PlotServer Concept
As was described in the Introduction, the ICEM PlotServer Package is pursuing the goal of offering a plotting solution
for the ICEM applications programs which is standardized and very flexible with regard to output devices. As one
might presume from the name of the product ‘ICEM PlotServer Package’, plotting is implemented according to the
client/server principle. That is, an workstation in the network serves as the plot server to prepare the output devicespecific formats1, as well as to output them to the printer or plotter. The link between the clients and the plot server is
the use of the standard AT&T LP spooling system, to which the application-specific plot files, that is the plot files created by ICEM applications, are transferred.
Figure 3
Client/Server Principle
Plotter
ICEM
Ethernet
ICEM
Client
IRIX Workstations
Laserprinter
Plotserver
IRIX Workstation
A so-called interface script (‘plotface’2) runs on the plot server under the control of the AT&T LP-Spooler3 and carries
out the necessary conversions until the plot files are in the output device-specific format and transfers them to the
printer or plotter in ‘ready-to-plot’ form4. The printer or plotter can be connected either
1. to the plot server by a direct serial or parallel connection,5 cabling
2. to another IRIX workstation on the network,
3. to a UNIX workstation of another manufacturer,
4. to a personal computer (PC), directly to the Ethernet
Cases 3-5 (non-native platforms) require that communication can take place via Ethernet and the TCP/IP protocols. It
is often necessary that the LPD protocol (BSD spooler) or a proprietary communications program6 be available.
1.
2.
3.
4.
5.
6.
CAL907, HPGL, HPGL/2, PostScript, etc.
Made-up word derived from Plotter Interface.
Except for AIX. See section 11.1 “Notes on the Operation of the PlotServer Package on AIX” on page 11-1 for details.
That is, the content of the plot files can be processed directly on the output device.
E.g. through an Ethernet interface card or Ethernet Printserver Box.
This program must be available and capable of running on the plot server, i.e., under IRIX.
2-1
Chapter 2 The Icem PlotServer Concept
The ICEM PlotServer Package is only installed (and also licensed) on the workstation serving as the plot server. On
the client workstations only the AT&T LP spooler1 is used. This greatly simplifies administration and troubleshooting.
The ICEM PlotServer Package offers support for HPGL-, HPGL/2-, CAL907- and PostScript-compatible output
devices. Thus, the entire spectrum of current vector formats is covered. Raster formats such as PCL2 or TIFF3 are not
directly supported by the ICEM PlotServer Package. In this case it is necessary to resort to additional software4 which
is available for IRIX to create the necessary raster format from one of the above-mentioned vector formats.
Fine tuning concerning particular capabilities of an output device, such as selection of paper tray, pen attributes, additional plot copies, etc., can be done in the place prepared for this purpose in the accompanying LP spooling script
‘plotface’ (see Chapter 8 “Removing a Plot Queue” on page 8-1).
The plot server logs the last plotting operation for every defined plot queue in a log file having the filename ‘plotlog’.
This file is used, for example, for error analysis. A diagnostic shell script ‘tst_plotter’5, which checks the plot server
with respect to its spooling system, customizations in the ‘plotface’ file, and many other things (see Chapter 9 “Customizing the Plot Server” on page 9-1), also ships with the ICEM PlotServer Package.
The ICEM PlotServer Package is always administered by defining one or several AT&T LP spooler queues on the
plot server workstation with ‘plotface’ as the interface script. Under IRIX, only a single system command is necessary
for this purpose (‘lputil’), or the IRIX Printer Manager, with its convenient graphical guidance of the user, can be
used. After that, if is necessary, a text editor (e.g., ‘jot’ or ‘vi’) can be used to customize the defined ‘plotface’ interface scripts concerning the output device to be supported and/or the problems under consideration. After a successful
local test of the plot queues on the plot server (‘tst_plotter’) all that remains is to define standard AT&T network
queues on the client workstations. Under IRIX, even this can be managed with only a single system command
(‘mknetpr’), or, once again, with the IRIX Printer Manager.
1.
2.
3.
4.
5.
2-2
Except for AIX. See section 11.1 “Notes on the Operation of the PlotServer Package on AIX” on page 11-1 for details.
Hewlett Packard Printer Control Language.
Tagged Image File Format.
E.g., Impressario Server, an optional IRIX product.
IRIX only.
Chapter 3 Identifying and Using Defined Plotters
Chapter 3
Identifying and Using Defined Plotters
The following section describes the actual use of defined ICEM PlotServer plot queues. As was already explained in
the preceding sections, the ICEM PlotServer Package is seamlessly integrated into the AT&T LP spooling system.
The consequence of this for the user is that there is no difference between using plotters on a client workstation and on
the plot server itself. Their operation is completely transparent and is ultimately always based on the system command
‘lp’.
Therefore, the standard system commands such as ‘lpstat’ or the IRIX proprietary Printer-Manager can be used to
identify existing plot queues, as well as to make queries about their status and manage them. Since integrating the use
of the ICEM PlotServer Package is extremely simple, there are diverse other possibilities for the user to use it in
ICEM applications themselves. As a rule, integrating the use of plot queues into the individual ICEM applications
only requires adjusting to the names of the currently selected plot queues. You will find out where this has to be done
for the respective ICEM applications starting in section 3.3 “Plotting from Inside an ICEM Application” on page 3-8.
3.1
Identifying and Using Plotters on the System Level (UNIX Shell)
If the administrator has properly defined plot queues on the Plotserver and possibly also on authorized clients, as is
described in Chapter 5 “Creating a Plot Queue on the Plot Server” on page 5-1, they can be identified, used, and managed on the system level, that is, in an IRIX shell window, as described below.
3.1.1
Identifying Plotters and Making Status Queries
To identify and query the status of a plot queue, the command ‘lpstat -t’ is used. This command can be executed with
normal UNIX user privileges. The ‘-t’ option displays all available information about the local LP spooling system.
You can find other options in the Online Manual by typing ‘man lpstat’. Here is an example of the output on the
screen when ‘lpstat -t’ is entered:
Figure 4
Output on the screen of the ‘lpstat -t’ command
scheduler is running
system default destination: QMS
device for QMS: /dev/plp
device for QMSplot: /dev/plp
QMS accepting requests since Apr 29 07:06
QMSplot accepting requests since Jan 11 12:47
printer QMS is idle. enabled since Apr 29 07:06
printer QMSplot is idle. enabled since Jan 11 12:47
Every line of the output which begins with the words ‘device for …’ stands for a defined LP queue. The name after
the words ‘device for’ is the name of the LP queue followed by a colon, and after that is the interface used for the output device. This can either be a true interface, such as the parallel port /dev/plp, a serial RS-232 port /dev/tty[12]1, or
the pseudo interface /dev/null.
1.
The notation /dev/tty[12] stands for /dev/ttyd1 or /dev/ttyd2.
3-1
3.1 Identifying and Using Plotters on the System Level (UNIX Shell)
The LP spooling system recognizes no difference between printers and plotters. Therefore it is usually only the queue
name assigned by the administrator which indicates whether the queue displayed is a printer or a plotter queue! This
distinction is very important, since otherwise, for example, if an ICEM plot file is sent to a print queue to be plotted on
a laser printer, it will not be converted into a plot format such as HPGL, but rather will be printed out as plain text.
This leads to pages of useless printouts! The following explanation will help you understand the cause of this problem:
Every LP-Queue has a so-called interface script which either, in the simplest case, sends the transferred file(s) to the
interface unchanged, or, in the case of ‘plotface’, performs format conversions, among other things, and subsequently
sends it to the interface. For this reason different LP queues are necessary for different tasks. Therefore, a laser printer,
for example often has at least two LP queues assigned to it. One is for the output of ready-to-print files, that is ASCII
files, and the other one is for the creation and output of, HPGL files for example.
If the queue name does not clearly indicate whether the LP queue is a plot queue, which can thus correctly process
plot files from ICEM applications, it is necessary to look at the interface file. It is located in the directory /usr/spool/lp/
interface and has the name of the LP queue. However, a client workstation will only have a network interface script,
which will, however, have the server hostname and the LP queue name used on the server. Finally, it should thus be
checked on the plot server whether the queue is a plot queue or not. If you see the text ‘Plotter LP-Spooler Script’ in
the interface file, then it is a plot queue.
The command ‘lpstat -t’, in addition to giving the LP queue names and the ports being used, also indicates the state of
readiness of the spooling system or of an individual queue. For a ready-to-function system, entering the ‘lpstat -t’
command should show that
•
the LP scheduler is running (”scheduler is running”)
•
the necessary LP queue is enabled (”printer … enabled since …”)
•
print jobs are being accepted (”printer … accepting requests …”)
If these conditions are not met, then procede as described in Chapter 9 “Customizing the Plot Server” on page 9-1.
3.1.2
Using Plotters
Using plotters, that is, outputting an ICEM plot file, is done with the AT&T LP spooler system command ‘lp’. Naturally, this command can also be executed with normal user privileges. The general case is as follows:
lp -dLP_queue_name [-c] [-s] [-o"options"] ICEM_plot_file_name1
Please note that no spaces are allowed between the switches such as ‘-d’ or ‘-o’ and their arguments. The ‘-d’ switch
gives the LP queue to be used (‘d’ stands for ‘device’). The ‘-d’ switch can be omitted if the plot queue has been
defined as the standard queue, which can be identified from the second line of the output when ‘lpstat -t’ is typed. This
will say either ‘no system default destination’, or, as shown in figure 4, page 3-1, ‘system default destination: LP
queue name’. An LP queue can be designated as the standard queue with the following command:
su
/usr/lib/lpadmin -dLP_queue_name
1.
3-2
Square brackets [] show optional switches.
3.1 Identifying and Using Plotters on the System Level (UNIX Shell)
The switch ‘-o’ can send options which control the plot output to the LP spooling system (see page 14). Finally, the
name of the file to be plotted must follow. Only one file can be specified; all other files will be ignored (this is not true
for print queues!). You can find the other switches in the Online Manual by typing the command ‘man lp’. However,
since some of the switches depend directly on the interface script which is used, they sometimes have no effect (e.g.,
number of copies).
Please observe the following when using the lp command:
•
The file to be plotted must be in the ICEM application plot formats:
1. ICEM DDN, ‘tape9’ (not ‘CGM’!),
2. ICEM Surf, ‘NPFILE’ or
3. Duct, ‘*.npf’
•
The file to be plotted must have UNIX global read permission, since the LP spooling system accesses the file with
the user ID ‘lp’. Its permissions can be changed with the command ‘chmod +r plot_file_name’, if necessary.
•
Likewise the directory which contains the plot file must have global read and execute permission. You can do this
by typing the command ‘chmod +rx directory_name’.
Version 2.1 of the ‘plotface’ file takes into account the fact that, starting with IRIX 5.x, the lp command no longer displays an error message if ‘lp’ has problems with permissions. Therefore ‘plotface’ writes an unambiguous error message in the log file ‘plotlog’. The file ‘plotlog’ for each plot queue is always located (only) on the plot server in the
directory /usr/spool/lp/request/plot_queue_name. When there are problems, it should always be the starting point
when investigating the possible causes of errors (see Chapter 9 “Customizing the Plot Server” on page 9-1).
The following options can be passed on to the interface script ‘plotface’ with the lp command using the ‘-o’ switch. If
several options should be necessary, they can either be passed on individually, i.e., each having its own ‘-o’ switch
and directly following argument, or they can be bundled together, with a single ‘-o’ switch followed by a string surrounded by quotation marks which contains the individual arguments; within the string the individual arguments are
separated from one another with spaces.
•
rot
This option (rotation) rotates the plot by 90× counter-clockwise. Example:
lp -dhp7475 -orot tape9
•
ascale
This option (auto scale) changes the standard behavior of reproducing a plot true to scale. Instead, the plot will be
scaled down onto the existing plotting surface if it is too big. Example:
lp -dc1044 -oascale tape9
•
A0 or a0 through A4 or a4
This option only has effect in the support of HPGL(/2)-compatible output devices and specifies the plotting surface or the HPGL P1/P2 positions. Example:
lp -dhp650c -oa0 tape9
•
An example of using several options simultaneously:
lp -dlaserjet -o’a4 rot ascale’ tape9
3-3
3.2 Identifying and Using Plotters under the ICEMview User Interface
3.1.3
Managing Printing and Plotting Jobs
Printing and plotting jobs are managed with the ‘lpstat’ command you are already familiar with, as well as the ‘cancel’
command, which allows plotting jobs which are still pending in the LP queue to be removed. When the ‘lpstat’ command is entered every printing or plotting job which has not yet been processed is displayed in the form queue_nameID. If, for any reason, you would like to cancel the processing of a particular plotting job, you can do this by entering
the command ‘cancel queue_name-ID’. With your user privileges you may only remove your own jobs. With superuser privileges, that is after you have entered the ‘su’ command, you may also remove printing and plotting jobs of
other users. A ‘cancel’ command issued from a client workstation also removes the plotting job which is automatically created on the plot server. You can find further details in the Online Manual by entering the command ‘man cancel’.
Identifying and Using Plotters under the ICEMview1 User Interface
3.2
Figure 5
ICEM view Icon Catalog page
The optional ICEM product ICEMview opens a completely intuitive way of printing and plotting to you. Assuming
that the administrator has integrated the defined LP queues (see below), the ICEMview printer and plotter icons will
be available to every user in the WorkSpace (IRIX 4.x) or on the IndigoMagic Desktop (IRIX 5.x) for every LP queue
which is present. On the IndigoMagic Desktop, that is, under IRIX 5.x, you will find these icons on the ICEMview
Icon Catalog page (see figure 5), and in the WorkSpace (IRIX 4.x) you will find them in the WorkSpace window.
The ICEMview icons distinguish between print queues and plot queues, that is, queues which are suitable for ICEM
plot files (see figure 5 and figure 6). This feature uniquely marks the function of several queues which might be
present for a single output device. Printing and plotting are done intuitively by dragging and dropping a print2 or plot
file onto one of the ICEMview queue icons. After that, a graphical dialog box appears in which the options mentioned
1.
2.
3-4
IRIX only.
Several files can also be dragged and dropped onto a printer icon simultaneously.
3.2 Identifying and Using Plotters under the ICEMview User Interface
in the previous section or lp command switches can be set by clicking switches or filling out text fields (see figure 7
and figure 8). As is normal under ICEMview, the settings can be saved or reset to the default values through the popup menu which appears when the right mouse button is pressed when the cursor is inside the dialog box.
Figure 6
ICEM view printer and plotter icons
ICEMview also implicitly sees to it that plot files and directories have the correct permissions1. Another way it makes
your work easier is the elegant manner in which you can view a plot queue’s log file ‘plotlog’ (which is located on the
Plotserver) from every workstation. This is done by performing an ‘ALT-OPEN’2 on the desired plotter icon. ICEMview automatically displays the log file, which is located on the plot server, in its own window on a client workstation.
Figure 7
ICEM view plotter dialog box
The possible options given on page 14 for sending a plot with the ‘lp’ command can naturally also be entered in the
ICEMview plotter dialog box. Simply enter the desired option in the Options text field. If there is more than one
option, then separate them from one another with a space. Please note that the ‘-o’ switch of the ‘lp’ command is not
necessary here! Options which are constantly needed can also be stored, as was already described. Since the ICEMview plotter dialog box always appears, you can easily check options which might have been stored in this way.
1.
2.
This can only take place for files for which the user has the appropriate privileges to change.
Double-clicking with the mouse on the ICEMview plotter icon while simultaneously pressing the ALT key on the keyboard.
3-5
3.2 Identifying and Using Plotters under the ICEMview User Interface
Figure 8
ICEM view printer dialog box
Printer and plotter icons must be created one time, after print and plot queues have been created, on each workstation
on which ICEM is installed; to do this use the following command:
su
$ICEM_VIEW/util/lp_autodetect
This command should be repeated after every change in the number or name of LP queues, in order for the icons to
reflect once again the current status of these queues. Executing this command requires superuser (su) privileges!
For managing printing and plotting jobs ICEMview offers the IRIX Printer Manager, which makes the system command functions of the commands ‘lpstat’ and ‘cancel’ available in graphical form. The IRIX Printer Manager is called
up, through the ‘System’ menu of the Toolchest menu bar1.
Figure 9
The IRIX 5.x Toolchest menu bar
After it is called up the Printer Manager displays one printer icon for each LP queue which is present. The Printer
Manager makes no distinction between print and plot queues. For plotting you cannot drag a Printer Manager printer
icon onto the desktop with the mouse and then use it to output ICEM plot files, as is possible with ICEMview plotter
icons2!
1.
2.
3-6
The Toolchest menu is usually located on the top left of the desktop.
If you attempt this you will get an error message for the ‘routeprint’ command.
3.2 Identifying and Using Plotters under the ICEMview User Interface
Figure 10
IRIX Printer Manager
Double clicking on a printer icon opens another window which presents the current status of the corresponding queue
in graphical form.
Figure 11
IRIX Printer Status Panel
3-7
3.3 Plotting from Inside an ICEM Application
Jobs to be removed can simply be selected with the mouse and removed from the queue through the ‘Queue’ pulldown menu. The status indications of the IRIX Printer Manager are very much defined by the properties of the
Impressario1 printer drivers. For this reason you should not worry about the warnings and apparent error messages
which appear in the Printer Status Panel shown in figure 11. Standard printer and especially ‘plotface’ interface script
files cannot offer the expected Impressario driver information. This is a superficial flaw.
3.3
Plotting from Inside an ICEM Application
The highest form of integration of the ICEM PlotServer Package is provided when it is not necessary to quit the ICEM
application in order to output the plot file. Creation of the application-specific plot file is seamlessly connected with
passing it on to one of the defined plot queues. This requires at least one customization to reflect the currently-used
plot queue names, but can also entail customizing menus in this regard, which, for example, allow convenient selection of the output device from within the ICEM application. It is important to understand that, in the end, the ICEM
application has to issue an lp command with the file to be plotted. This considerably facilitates integration with the
ICEM applications. The following paragraphs show you examples of the standard integration with the ICEM applications DDN, Surf, and Duct.
3.3.1
ICEM DDN
Even the basic version of ICEM DDN offers integration of the ICEM PlotServer Package which is implemented
through the basic Orga modules. This integration puts the available plot queues into a DDN menu, whose menu items
can be expanded. The associated Orga control file is called ‘autoplot’ and is usually in the ICEM DDN ‘common’
area, that is in the /icem/common/orga directory. The block of this Orga control file for the DDN menu can be customized. Figure 12 shows the DDN menu text for two plot queues in bold type. A maximum of 19 menu entries can be
made. If more are needed, submenus can be used.
1.
3-8
Optional IRIX product to support PCL- and ESC/P-compatible printers.
3.3 Plotting from Inside an ICEM Application
Figure 12
Orga Autoplot DDN menu definitions, etc.
****************************************************************************
*
*
*
A U T O M A T I C
P L O T T I N G
*
*
*
****************************************************************************
MENU/
NODISPLAY
SUBMENU/
PLTYP
SUBMENU/
PLSTAT
’AUTOMATIC PLOTTING
’CURRENT DRAWING
’DISPLAY PLOT STATUS
’
’
’
ISW
PLTYP
PLSTAT
CONTROL
PLOT_AKT
QUEUE
’OUTPUT DEVICE:
’QMS-LASERDRUCKER
’CALCOMP 1043
’
’
’
ISWTYP
CONTROL
’DISPLAY PLOT STATUS
’
’ - OF ALL REQUESTS
’
’ - OF LOCAL REQUESTS ONLY’
ISWQUE CONTROL
The area for creating the DDN plot file ‘tape9’ (trace part) can, as a rule, remain unchanged. Figure 13 shows the section of the Orga autoplot file which defines the DDN-internal command sequences to create DDN plot files in ‘tape9’
format. This area is followed by the definition of the UNIX commands which are subsequently to be executed (see figure 14). Here the current plot queue name should be customized after the ‘-d’ switch of the respective lp command. It
can be seen from the UNIX commands which have already been entered that even this solution sees to it that the plot
files and their directory have the correct UNIX permissions. Once all customizations have been made the total plotting
process is reduced to the DDN-internal selection of an Orga DIN drawing border and the subsequent selection of the
desired plot queue. The creation of the plot file and its output on the output device connected with the plot queue is
completely automatic (‘autoplot’). For more detailed information on the use of the Orga modules please consult the
DDN literature.
3-9
3.3 Plotting from Inside an ICEM Application
Figure 13
Orga Autoplot DDN trace definition, etc.
CONTROL/
PLOT_AKT
MODAL
PROCEDURE
TRACEFILE
RTL=1 REPLACE=1
LP_SYSTEM
PLOTGEN_AKT
TRACEFILE/
UNIX:’PLOTGEN_AKT’
’PLOT ABSCHICKEN’
’orga/aptrace’
’M’
’F.7.2’
* Enter plot menu
’5.1’
* Plot current drawing
’1’
* Change plot modals
’9.1’
* Plot format is tape9
’1.2’
* Paper standard is international
’2.6’
* Nonstandard paper size:
’PAPERX’
* X-SIZE from retrieved frame
’PAPERY’
* Y-SIZE from retrieved frame
’]’
’3.1’
* Plot region: Entire plot frame
’4.2’
* Plot extent: Entire part
’5.4’
* Plot origin: Lower left
’6.3’
* Plot scale: Use draft scale
’DRAFSC’
’7.1’
* Calculate plot tolerance to match draft scale
’0.000646+1/(500*DRAFSC)’
’8.1’
* Plot mode interactive
’]’
’2’
* Initialize plot file
’tape9’
’Y’
* Overwrite an existing file
’3’
* Create the plot file interactive
’F.7.14.3.1.3’
* Execute the command file to submit plotting
UNIX:
’orga/approc &’
’F.M’
’|’
’
’
’ PROZESS ABGESCHICKT. ’
’|’
3-10
3.3 Plotting from Inside an ICEM Application
Figure 14
Orga autoplot procedure definition
*************************
* SEND PLOT TO LP QUEUE *
*************************
PROCEDURE/
UNIX:’LP_SYSTEM’ ’NO_EXECUTION’
’orga/approc’
UNIX:
’#!/bin/csh -f’
UNIX:
’chmod o+rx plots plots/tape9’
UNIX:
’switch ([ISWTYP])’
UNIX:
’case 1:’
UNIX:
’ lp -c -s -dqms plots/tape9’
UNIX:
’ breaksw’
UNIX:
’case 2:’
UNIX:
’ lp -c -s -dcal_1043 plots/tape9’
UNIX:
’ breaksw’
UNIX:
’default:’
UNIX:
’ echo "No plotter customization given."’
UNIX:
’endsw’
UNIX:
’rm plots/tape9 >& /dev/null’
3.3.2
ICEM Surf
ICEM Surf offers just as convenient integration with the ICEM PlotServer Package as ICEM DDN does. Here too, a
menu appearing in ICEM Surf can be customized as desired. Likewise, the features for users’ convenience range from
fully-automatic creation of plot files to output on the desired plot queue. The configuration file for Surf is called
‘plotter_configuration’ and is located in the directory /surf/config. This file contains a section for each menu
item which defines the creation of the Uniplot metafile ‘NPFILE’ and passes it on to the lp command. As an example,
figure 15 shows three Surf plot menu items. The first menu item ‘NPFILE’ only generates a Surf plot file (NPFILE),
without passing it on. The second menu item ‘QMSplot1’ uses the ICEMview1 plotter dialog box to send off the plot
file, which allows plotting options to be passed on in a flexible manner without having to provide separate menu items
for them. The third menu item in the example passes the Surf plot file directly on to the ICEM PlotServer Package
through the lp command.
1.
Applicable only for IRIX with ICEMview installed.
3-11
3.3 Plotting from Inside an ICEM Application
Figure 15
Surf Plotter Configuration File
##########################################################
#
# Create NPFILE only
#
##########################################################
NPFILE SX=999999 SY=999999 MF=UNIPLOT M=CM
### E N D ###
##########################################################
#
# Plot on QMS Laserprinter per ICEMview Dialog Box
#
##########################################################
QMSplot1 SX=999999 SY=999999 MF=UNIPLOT M=CM
$ICEM_VIEW/bin/QMSplot config <metafile>
### E N D ###
##########################################################
#
# Plot on QMS Laserprinter per lp-command
#
##########################################################
QMSplot2 SX=999999 SY=999999 MF=UNIPLOT M=CM
lp -c -s -dQMSplot -oascale <metafile>
rm <metafile>
### E N D ###
3.3.3
Icem Duct
Duct allows Duct command files to be executed. All Duct commands necessary to create the Duct-specific plot file, as
well as the necessary UNIX commands can be entered in these files. In the ‘German User Library’ you will find two
sample files ‘plota4.com’ and ‘plota3.com’, which must also be customized only with respect to the name of the plot
queue currently being used when an lp command is issued. For example, for Duct version 5.3 you will find these files
under the directory
/usr/people/duct/.duct53/userlib
As is suggested by the names of the command files, the plot file created by Duct is restricted to A4 or A3 format (by
the Duct ‘psize’ command). The command file is executed through the Duct command ‘run comf plota4’, or, if the
appropriate abbreviations have been loaded, simply by ‘rc plota4’. Duct command files can also be placed on a screen
tablet and can then be executed on the tablet field with a mouse click.
Since ICEM Technologies no longer distributes Delcam‘s application Duct, plotting with the ICEM PlotServer Package may not be guaranteed for most recent and/or future Duct releases.
3-12
Chapter 4 Installing the ICEM PlotServer Package
Chapter 4
Installing the ICEM PlotServer Package
Starting with version 4.0 the ICEM PlotServer Package is supplied in ICEM Installer format on the CD-ROM of
ICEM DDN 3.3.01 or higher and ICEM Surf 3.0.01 or higher. Additionally a cartridge version is also available. The
ICEM Installer necessary for installation is located on CD-ROM in the directory /installer, on cartridge it is the first
‘tar’-tape file itself.
If an older version of the ICEM PlotServer Package (e.g., 3.03 or 3.02) should already be in use on the workstation
where the new version is to be installed, you should definitely backup at least the directories /usr/spool/lp/interface
and /usr/applications/uniplot before installing the new version.
•
If you are installing from Cartridge you at first have to load the ICEM Installer program from the cartridge and
then to execute it. Please continue reading with csection 4.1 “Preparing Installation from Cartridge” on page 4-1.
•
If you are installing from CD-ROM you are able to execute the ICEM Installer program directly from the CDROM. Please continue reading with section 4.2 “Preparing Installation from CD-ROM” on page 4-2.
4.1
Preparing Installation from Cartridge
The ICEM Installer which is on the cartridge must first be loaded onto the workstation’s hard disk and then launched
in order to install the ICEM PlotServer Package. To do this proceed as follows:
1. Insert the cartridge into a local cartridge drive or one that is accessible over the network.
2. On the IRIX workstation where you want to install the ICEM PlotServer Package either log in as ‘root’ or assume
superuser privileges by typing
su
3. If you do not want to install the ICEM Installer permanently (recommended), you can temporarily load it into the
directory /tmp, execute it, and then delete it from the hard drive. Thus, you should type in:
cd /tmp
4. Now load the ICEM Installer from the cartridge by entering:
tar xvof remotehost:/dev/tape
where ‘remotehost’ is replaced by the computer name of the workstation to which the cartridge drive is connected.
If the cartridge drive is locally connected, it is sufficient to enter:
tar xvo
If you cannot communicate with your cartridge drive on the workstation through the standard name /dev/tape, then
you must use the complete device name, thus, for example /dev/mt/tps0d2 (for a cartridge drive having SCSI ID
2).
Step 4 will load a directory with the name ‘installer’ into the current directory, that is, /tmp.
5. Now execute the ICEM Installer program:
cd installer
./ICEM_installer
4-1
4.2 Preparing Installation from CD-ROM
Please proceed now to the third paragraph (”After you have started the ICEM Installer program, ...) in section 4.3
“Installation with the ICEM Installer” on page 4-3, where the key steps of the installation of the ICEM PlotServer
Package are described.
4.2
Preparing Installation from CD-ROM
To be able to install from CD-ROM you must have a connected and mounted CD-ROM device.If your CD-ROM
device won’t be connected directly to your system you have to execute the following steps on the server workstation
for the CD-ROM device first and then mount the CD-ROM directory to your system.
Execute the following steps to mount the CD-ROM device. If you have any further questions about mounting the CDROM, please refer to the SGI Administrators Guide for more information about mounting and unmounting file systems.
You must be logged in as root to mount the CD-ROM.
su
Display the current system configuration to determine available unit to mount the CD-ROM on.
hinv
look for
unit and
controller number
here



1 100 MHZ IP22 Processor
FPU: MIPS R4010 Floating Point Chip Revision: 0.0
CPU: MIPS R4000 Processor Chip Revision: 3.0
On-board serial ports: 2
On-board bi-directional parallel port
Data cache size: 8 Kbytes
Instruction cache size: 8 Kbytes
Main memory size: 128 Mbytes
Integral Ethernet: ec0, version 1
Tape drive: unit 6 on SCSI controller 0: QIC 150
Disk drive: unit 2 on SCSI controller 0
Disk drive: unit 1 on SCSI controller 0
Integral SCSI controller 0: Version ...
Iris Audio Processor: version A2 revision 4.1.0
Graphics board: Indy 8-bit
Vino video: unit 0, revision 0, Indycam connected
SGI Systems have 7 units that devices can be connected to. Choose an available unit for mounting the CD-ROM
drive. Units 0-3 are usually reserved for system devices. For this example unit 7 will be used.
The CD-ROM drive has a switch that can be set to the unit number that will be used for mounting. Set the switch to an
available unit.
Shutdown the system and connect the CD-ROM to a SCSI interface port. Place the ICEM 3.3.01 software disc into the
CD-ROM player. Power up the system and display the system configuration as before, the CD-ROM should appear.
hinv
4-2
4.3 Installation with the ICEM Installer
…
CDROM: unit 7 on SCSI controller 0
Tape drive: unit 6 on SCSI controller 0: QIC 150
Disk drive: unit 2 on SCSI controller 0
Disk drive: unit 1 on SCSI controller 0
…
To mount the CD-ROM device, enter:
mkdir
/CDROM
mount
-o ro -t efs
/dev/dsk/dksXdYs7
/CDROM
where X is the controller number and Y is an available unit number.
4.3
Installation with the ICEM Installer
Note:
This section implies installation from an ICEM DDN-CD.
Now that the CD-ROM has been mounted, display the contents of the installer directory. You should substitute /
CDROM in the following 2 commands, if your device is named /cdrom.
ls
/CDROM/installer
Execute the ICEM Installer from the CD-ROM on a system console or supported X-terminal as follows:
/CDROM/installer/ICEM_installer
After you have started the ICEM Installer program as described in the 2 previous chapters, following that, a small dialog box appears (see figure 16), in which you will enter the ‘Media Path’, i.e., the access path to the medium with the
product to be installed (that is, the cartridge drive). Here it is important to enter only a ‘non-rewind’ cartridge drive,
thus, as a rule ‘/dev/nrtape’ or to use the complete device name, as in the above example ‘/dev/mt/tps0d2nr’!
Installing from CD-ROM enter the directory to access the CD-ROM (i.e. /CDROM).
Figure 16
ICEM Installer Media-Path input dialog box
After your entry has been checked, the main dialog box of the ICEM Installer appears (see figure 17), from which you
can select the product ‘ICEM PlotServer Package 4.1’ for installation (or a higher, current version).
4-3
4.3 Installation with the ICEM Installer
Figure 17
ICEM Installer main dialog box
The standard installation directory for the PlotServer Package 4.1 is called
‘/usr/applications/plotserver4.1’. The installation directory can be freely changed, but must not be existing or contain any files. Subsequently pressing on the ‘Doit’ key will install the product on the hard drive.
Once the loading process has terminated the installation directory will have the following new directory structure,
which is different from that of previous versions of PlotServer.
Figure 18
ICEM PlotServer Package directory structure
Installation Directory/
plotface2.1
app2uni/
uniplot/
Preprocessors
Postprocessors
diag/
Following the loading process, a check is made to determine whether an older version of ICEM PlotServer is already
in use on the workstation. If so, the following takes place:
•
The active ‘plotface’ file in the directory /usr/spool/lp/interface is automatically customized with respect to the
new Uniplot directory path.
This means that, as a rule, all plot queues which are present can continue to be used as usual. However, for ‘plotface’ versions lower than 1.5 it is recommended to redefine them with the current ‘plotface’ version 2.1.
•
The directory /usr/applications/uniplot or /usr2/applications/uniplot is removed from the hard disk, after a request
for confirmation.
•
The file ‘tst_plotter’ and the directory ‘tstplots’ under /usr/local/bin are likewise removed from the hard disk, after
a request for confirmation.
4-4
4.4 Installation with the PTC.Setup Program
You can now quit out of the ICEM Installer and remove it from the /tmp directory, if you loaded it before. To do this
proceed as follows:
cd /tmp
rm -r installer
The next chapters cover the licensing of the plot server workstation and the definition of LP queues on the plot server,
that is, on the workstation on which you have just installed the ICEM PlotServer Package.
4.4
Installation with the PTC.Setup Program
Note:
This section implies installation from an ICEM Surf-CD.
Now that the CD-ROM has been mounted, display the contents of the installer directory. You should substitute /
CDROM in the following 2 commands, if your device is named /cdrom.
ls
/CDROM
Execute the PTC.Setup Program from the CD-ROM on a system console or supported X-terminal as follows:
/CDROM/setup
Select the ICEM PlotServer Package as the product to be installed and press the Next button.
4-5
4.4 Installation with the PTC.Setup Program
Figure 19
Main Window of the PTC.Setup Program
In the PTC.Setup window you will see a proposal where the PlotServer Package is to be installed. At this stage you
can select any other directory, provided that this directory meets one of the following three prerequisites:
•
The directory is an existing ICEM PlotServer directory and contains a previous version of the ICEM PlotServer
Package.
•
The directory exists, and it is empty.
•
The direcory does not exist and it will be newly created by the PTC.Setup program.
Press the Next button and execute the consecutive steps. The installation status will be displayed in the PTC.Setup
window. When the installation is finished you may exit the PTC.setup program.
The next chapters cover the licensing of the plot server workstation and the definition of LP queues on the plot server,
that is, on the workstation on which you have just installed the ICEM PlotServer Package.
4-6
4.5 Licensing
4.5
Licensing
The ICEM PlotServer Package has to be FLEXlm node locked licensed for the plotserver workstation. Client workstations don’t need a license. The license code is expected in the file
/icem/lic/license.dat
If you use a different path or file name for the license file you have to use the environment variable
LM_LICENSE_FILE. Due to the fact that the AT&T LP spooling system runs independant from the user environment this environment variable must be set in the customizing area of the file ‚plotface‘ (see section 9.1 “Customizing
the Access Path of the License File” on page 9-4 ).
See the ICEM Licensing Manual for more details.
4.6
Deinstalling the ICEM PlotServer Package
If you have installed the ICEM PlotServer Package with the ICEM Installer program from a DDN-CD, you can use
this program for the deinstallation as well. All product-related information and files will be cleanly deleted from your
system. Execute the ICEM Installer as described in the previous chapters and then select from the installed applications list the application(s) you want to deinstall (see figure 17, page 4-4, ICEM Installer main dialog box).
If you have installed the ICEM PlotServer Package with the PTC.Setup program from an ICEM Surf-CD, you
should just delete the PlotServer installation directory by executing the following command
rm –r <plotserver_install_path>
4-7
4.5 Licensing
4-8
Chapter 5 Creating a Plot Queue on the Plot Server
Chapter 5
Creating a Plot Queue on the Plot Server
Once the ICEM PlotServer Package has been installed, as described in the preceding chapter, the plot server has all
the necessary components for creating and defining special plot queues. This chapter will now show you the procedure for creating a plot queue.
The AT&T LP spooling system uses so-called interface script files. As a rule, these are executable ASCII files
(scripts), but can also be binary programs as, for example, in the case of Impressario printer drivers. The interface
script files are executed by the LP spooler and process and output the file passed to them through an ‘lp’ command.
All files and directories belonging to the AT&T spooling system are in the directory /usr/spool/lp. User and administrator commands are in the directories /usr/bin and /usr/lib. Templates of these interface script files are located in the
directory /usr/spool/lp/model. By contrast, the interface scripts of defined LP queues are located in the directory /usr/
spool/lp/interface. The procedure for creating a plot queue shown below always uses the ICEM PlotServer interface
script file ‘plotface’ from the /usr/spool/lp/model directory. As was already mentioned, when the plot queue has been
created, this file is copied into the /usr/spool/lp/interface directory. In the process, the name ‘plotface’ is changed to
the desired name of the plot queue. After the plot queue has been created with the copy of ‘plotface’ in the /usr/spool/
lp/interface directory as its interface script file, this file has to be customized to current requirements (using the ‘jot’ or
‘vi’ editors). Starting with ICEM PlotServer version 4.1, the tool ‘Mkplotter’ used in previous versions is no longer
supported. The customizations which are necessary or possible can be found in Chapter 8 “Removing a Plot Queue”
on page 8-1. as well as in Chapter 10 “Diagnosing and Correcting Plotting Problems” on page 10-1. in its subsections
on the operation of CAL907-, HPGL-, HPGL/2- and PostScript-compatible output devices.
But now let us turn to creating a plot queue on the plot server.
5.1
Creating a Plot Queue Using IRIX System Commands
IRIX allows an LP queue to be created with a single system command. This also represents the quickest way to create
a plot queue:
su
/usr/lib/lputil add port_name model_script_name plot_queue_name
Executing this command naturally requires superuser privileges (that is the reason for the ‘su’ command which might
be necessary). The four parameters have the following meanings:
instructs ‘lputil’ to create an LP queue.
•
add
•
port_name must be a physical interface, that is, an RS232 interface /def/tty[12] or a parallel interface /dev/plp. The
latter should also be chosen if plot files are not to be output through a physical interface, but rather further processed in any way. Earlier versions of ICEM PlotServer provided a pseudo-interface /dev/null for this purpose,
which, however, caused problems with the IRIX Printer Manager under IRIX 5.x.
•
model_script_name
gives the name of the template interface file in the directory /usr/spool/lp/model (without the
path).
•
defines the name which should be assigned to the plot queue. From this point on this name will
be used to communicate with the plot queue.
plot_queue_name
The command ‘lputil’, which, incidentally, has no entry in the IRIX Online Manual, takes care of all necessary
entries, directories, and permissions in the LP spooling system. In order for this command to function correctly, the
LP spooling system must be intact and the interface file under /usr/spool/lp/model must have the correct ownership
5-1
5.2 Creating a Plot Queue Using the IRIX Printer Manager
and access permissions. All files present must belong to the user ‘lp’ and should have permissions ‘rwxr-xr-x’, that is
‘755’. If a serial or a parallel interface has been specified, then after the plot queue is created its interface file will have
permisions ‘rw-------’ and will belong to ‘lp’!
If a serial interface is used, it must be ensured that it is not configured as the login interface for an ASCII terminal
which is to be connected. Therefore, check whether the file /etc/inittab has the following entries in the section which
begins with ‘t1:’ to ‘t4:’:
t1:23:off: ...
t2:23:off: ...
t3: ...
If the port line in question (t1 concerns the port ttyd1, t2 concerns ttyd2, etc.) has the entry ‘respawn’ instead of ‘off’,
then replace the corresponding ‘respawn’ by ‘off’, save the file /etc/inittab, and then enter the following command:
telinit q
This causes the ‘init’ process to reevaluate the /etc/inittab file and to start or stop the processes defined in it. In our
case, ‘init’ would stop the ‘getty’ process activated by the previous ‘respawn’, and the port would thus be available for
plotting.
You can use the ‘lpstat -t’ command to verify that the plot queue has been sucessfully defined. However, at the
moment, this plot queue still contains the ‘plotface’ standard default definitions for the use of a DIN A0 format HPGL
plotter. Therefore, you should now change the ‘plotface’ file in the directory /usr/spool/lp/interface to suit your needs.
The customizations which are necessary or possible can be found in Chapter 8 “Removing a Plot Queue” on page 8-1,
as well as in Chapter 10 “Diagnosing and Correcting Plotting Problems” on page 10-1 in its subsections on the operation of CAL907-, HPGL-, HPGL/2- and PostScript-compatible output devices.
5.2
Creating a Plot Queue Using the IRIX Printer Manager
IRIX offers a series of graphical administration tools which should make it easier to manage IRIX. The Printer Manager already mentioned in section 3.2 “Identifying and Using Plotters under the ICEMview User Interface” on page 34 can also be used to create a plot queue in a simple manner.
5-2
5.2 Creating a Plot Queue Using the IRIX Printer Manager
Figure 20
IRIX Printer Manager
However, there is a limitation in IRIX 4.x which allows the Printer Manager to define only one LP queue per interface. But at least two LP queues are often required, especially for laser printers, one of which is used for outputting
ready-to-print documents, and the other for the output of vector plots from ICEM applications.
If you are logged into the system as ‘root’, you can call up the Printer Manager (see figure 20) from the ‘System’
menu of the Toolchest menu bar (see figure 9, page 3-6 The IRIX 5.x Toolchest menu bar). Clicking the ‘Add…’ button gives you another dialog box in which you can enter the desired queue name and connection (Local or Network).
A list box offers you templates, that is, interface script files.
5-3
5.2 Creating a Plot Queue Using the IRIX Printer Manager
Figure 21
IRIX 6.5 Printer Manager Add dialog box with local Connection type selected
The ‘plotface’ interface script of the ICEM PlotServer Package is listed in the selection list with the entries ‘Plotface
2.1 CAL907’, ‘Plotface 2.1 HPGL’, ‘Plotface 2.1 HPGL/2’ and ‘Plotface 2.1 PostScript’. Select the ‘Plotface 2.1’
item which corresponds to the required format of the output device and then click the ‘OK’ button, or click the
‘Apply’ button if you want to create more LP queues without closing the dialog box.
The Serial Port Manager allows you to change the use of a serial port. If a plotter is connected, the corresponding port
must be switched to free. The Printer Manager does this automatically.
After an LP queue has been created, the Printer Manager will represent it to you with a printer icon. This plot queue is
already pre-configured to the above-selected output format. Fine tuning, which might be necessary can now be done
in the ‘plotface’ file in the /usr/spool/lp/interface directory. The customizations which are necessary, or possible can
be found in Chapter 8 “Removing a Plot Queue” on page 8-1, as well as in Chapter 11 “Information on Output
Devices and the Uniplot Software” on page 11-1 in its subsections on the operation of CAL907-, HPGL-, HPGL/2-,
and PostScript-compatible output devices.
5-4
Chapter 6 Testing a Plot Queue on the Plot Server
Chapter 6
Testing a Plot Queue on the Plot Server
The ICEM PlotServer Package contains a diagnostic script as well as a ICEM DDN and a Duct plot file. These test
plot files can be used to test the entire sequence of events which takes place during plotting under real conditions. The
diagnostic script ‘tst_plotter’ can be launched as follows on the plot server with normal user privileges:
/usr/applications/plotserver4.1/diag/tst_plotter1
Figure 22
Test plot ‘ddnplot’
After the plot queue to be tested has been selected, the diagnostic script will first check all requirements for plotting,
such as:
•
correct file and directory permissions of the AT&T LP spooling system
•
status of the spooling system and of the plot queue to be tested
1.
IRIX only.
6-1
Chapter 6 Testing a Plot Queue on the Plot Server
•
entries in the ‘plotface’ file
•
existence and correct permission of the necessary ICEM PlotServer components
•
port permissions
and much more. Thus, for example, it will also check spooling system properties present in IRIX 4.x which could
block the spooling system. Next it gives data on the plotter format used, type of connection, etc. After that come notes
on the plotter settings and on the cable assignment for serial connection of the printer or plotter. Finally the ICEM
DDN test plot file is sent off with an ‘lp’ command. This test plot file, which is in a format smaller than DIN A4, contains data for the use of sixteen plotter pens, as well as a dimensioned square whose edges are 200 mm long. Thus
even scaling and stroke width or pen color can be checked without wasting a lot of paper. Last, the log file ‘plotlog’ is
displayed in order to detect possible errors.
Experience with diagnostic scripts has shown that, for the most part, they can detect and eliminate all problems on the
part of the plot server. If a printer or plotter should still give no result, then the error can only have to do with the
transmission path (ports, cable) or with erroneous settings on the output device itself.
Naturally the test plots which are included can also be manually output for testing using the ‘lp’ command. The names
of the two test plots are
ddnplot
and
ductplot,
and they are likewise located in the directory
/usr/applications/plotserver4.1/diag.
The next page shows the output on the screen during the various phases of a sample run of the diagnostic script
tst_plotter’.
Figure 23
Diagnostic script ‘tst_plotter’
LP-SPOOLER PLOTTER TEST V. 4.1
This test script is for testing a ready defined LP-Spooler plotter,
using the ’plotface’-interface script solution ...
1) The test script evaluates the existence of a defined ’plotface’
LP-Spooler. If several definitions exist, you will be asked which
one to use for testing.
2) The test script checks ’correct’ LP-Spooler definition.
3) The test script displays the found relevant plot information
and gives hints on the necessary cable connection and parameter
settings on plotter site.
4) Then you will be asked to confirm the start of the plotter test.
A prepared DDN or Duct plotfile will be processed through the
defined LP-Spooler. The ’plotlog’-file will be displayed after
the completion of the plot for error checking.
ok., let’s start testing ... press <CR>:
6-2
Chapter 6 Testing a Plot Queue on the Plot Server
Figure 24
Diagnostic script — phase 1
PHASE 1) Checking for defined (local) LP-Spooler definitions ...
The following LP-Spooler plotter definitions were detected:
QMSplot
Please type in the name of the plotter to test:
Figure 25
Diagnostic script — phase 2
PHASE 2) Checking defined LP-Spooler definition for QMSplot ...
LP-Spooler system seems to be ok.
Checking the customized values in the plotface file QMSplot ...
The customized values seem to be ok.
To continue, press <CR>:
Figure 26
Diagnostic script — phase 3
PHASE 3) Hints for the plotter connection ...
You are using the POSTSC UNIPLOT driver with keyword PSLINE.
The plot device (port) is /dev/plp.
Please note a maximum Centronics cable length of 1.5 mtr!
Now prepare the plotter: Insert paper and put the plotter online.
To start the test plot, press <CR>:
Figure 27
Diagnostic script — phase 4
PHASE 4) Do the test plot ...
Plot /usr/applications/plotserver4.1/diag/ddnplot started:
Plot is in progress, please wait
Have a look to the plotters work, then check the ’plotlog’-file
for error conditions by pressing <CR>:
6-3
Chapter 6 Testing a Plot Queue on the Plot Server
Figure 28
Diagnostic script — display of the log file
PLOT LOGFILE of ’plotface’ revision 2.1
========================================================================
Date of plot:____________
Plotdevice:______________
Plot Port:_______________
Username:________________
Plotfile:________________
LP-ID:___________________
Options:_________________
Mon Jan 11 15:00:59 PST 1999
QMSplot
/dev/plp
root
/usr/spool/lp/request/QMSplot/d0-2076
QMSplot-2076
========================================================================
DDN plotfile conversion:
--More--(25%)
Figure 29
Diagnostic script — phase 5
PHASE 5) Last information ...
If you didn’t detect any error messages in the plotlog file,
but you got a wasted plot output or even nothing, then check
the following:
-
Are there other processes using the port /dev/plp?
Is the cable connection ok.?
Is the plotters communication setup ok.?
Do you need start/end sequences sent to the plotter?
If available, does the selftest work on the plotter?
And last not least, are the pens/toner ok.?
On any further questions and/or problems, feel free to contact
ICEM HELPdesk, Tel: (+49)6102-782-800, Fax: (+49)6102-782-830
E-Mail: [email protected]
Bye ...
If all plot queues defined on the plot server function satisfactorily, other IRIX workstations can also communicate
with them. The next Chapter 7 “Creating a Plot Queue on the Plot Client” on page 7-1 shows the necessary steps
which should be performed on the respective client workstation, and what might require attention in the process.
6-4
Chapter 7 Creating a Plot Queue on the Plot Client
Chapter 7
Creating a Plot Queue on the Plot Client
Creating a plot queue on the plot client(s) is quite simple under IRIX. To do this, only a single IRIX system command
needs to be issued on each client workstation. The graphical Printer Manager likewise makes it very convenient to
create a network queue.
7.1
Creating a Network Plot Queue Using IRIX System Commands
IRIX offers the system command ‘mknetpr’ for creating network LP queues. This command requires superuser privileges and is used as follows:
su
mknetpr
local_pl_queue
plot_server_host_name
pl_server_pl_queue
where
stands for the desired local name of the plot queue on the client workstation (as a rule here you
should select the same name for the plot queue as is used on the plot server)
•
local_pl_queue
•
plot_server_host_name
•
pl_server_pl_queue_name
stands for the computer name of the plot servers
stands for the name of the plot queue on the plot server
The command ‘mknetpr’ checks whether a connection can be established to the plot server and then creates the
desired plot queue. Connecting to the plot server presumes that either there is no password for the user ‘lp’ on the plot
server (standard), or that the desired client has been validated beforehand on the plot server. This can likewise be done
with a proprietary IRIX system command (on the plot server):
su
addclient client_host_name
This command adds entries for the respective client workstation to the file /usr/spool/lp/.rhosts, and thus allows password protection of the ‘lp’ user on the plot server.
7.2
Creating a Network Plot Queue Using the IRIX Printer Manager
To create a network LP queue using the IRIX Printer Manager proceed on the client workstation in exactly the same
way as to create a local plot queue. Open the Printer Manager and then click on the ‘Add…’ button. The dialog box
which appears after that allows you to select ‘Network’ for the Connection
7-1
7.2 Creating a Network Plot Queue Using the IRIX Printer Manager
Figure 30
IRIX Printer Manager Add dialog box with Network Connection Type selected
After the plot server host name has been entered, a list box displays the LP queues which are available on the plot
server. The only thing you still have to do is select the desired queue. Now, the Printer Manager issues the ‘mknetpr’
command in the background. The same limitations and notes apply as described in the previous section.
7-2
Chapter 8 Removing a Plot Queue
Chapter 8
Removing a Plot Queue
It is also easy to remove a plot queue. Here too, IRIX offers a proprietary system command. And, this action can also
be performed using the IRIX Printer Manager.
8.1
Removing a Plot Queue Using IRIX System Commands
The system command is called ‘rmprinter’ and is used as follows:
su
rmprinter plot_queue_name
This command removes all AT&T LP spooler-proprietary administration entries, files, and directories which belong
to the given plot queue. This means that even the interface script file ‘plotface’, which might have been customized, is
removed from the directory /usr/spool/lp/interface. Thus it is very strongly recommended to save copies of the customized ‘plotface’ files in the directory /usr/spool/lp/model!
Under no circumstances should you attempt to remove a plot queue in any other way than using the ‘rmprinter’ command. This could have a lasting effect on the function of the AT&T LP spooler.
8.2
Removing a Plot Queue Using the IRIX Printer Manager
It is extremely simple to remove a plot queue using the IRIX Printer Manager. Open the Printer Manager window,
then select the printer icon in question and click on the ‘Delete…’ button. Confirm the deletion by clicking ‘OK’.
Figure 31
IRIX Printer Manager Delete dialog box
8-1
Chapter 8 Removing a Plot Queue
8-2
Chapter 9 Customizing the Plot Server
Chapter 9
Customizing the Plot Server
The previous chapters showed that creating a plot queue copies the LP spooler interface file ‘plotface2.1’ into the
directory /usr/spool/lp/interface. In the process the file ‘plotface2.1’ is renamed with the given plot queue name. With
every plot request the LP spooler executes this interface file, which is provided with six parameters.
The task of the ‘plotface’ file is:
•
to check the format of the file to be plotted. As was already mentioned, the allowed plot file formats are those of
the ICEM applications DDN, Surf, and Duct. If another format is passed to it, ‘plotface’ terminates prematurely
and writes an error entry into the log file ‘plotlog’ under /usr/spool/lp/request/plot_queue_name.
However, it is possible to specify that files of other formats be output unchanged (using dump) by assigning the
value ‘YES’ to the variable ‘dumpnoicem’ in the customizing area of ‘plotface2.1’.
•
to convert the recognized ICEM plot file into the neutral Uniplot format NPFILE1 using the Uniplot preprocessor specified for it.
•
to check and evaluate the options passed on to the LP spooler.
•
to convert the file ‘NPFILE’ into the appropriate plotter format (CAL907, HPGL etc.) on the basis of the specified variable values for customizing the format (see the following sub-section 9.1 “Customizing the Access Path of
the License File” on page 9-4) using the Uniplot postprocessor thus defined.
•
to provide the ready-to-plot file with possible start and stop sequences.
•
to output the ready-to-plot file, or, if so defined, to process it further and/or pass it on.
•
to take care of diverse preliminary and finishing tasks which makes for the optimal use of the Uniplot post processors.
•
to make appropriate entries in its log file ‘plotlog’ for all processes.
The interface file plotface2.1’, whose listing is printed out in section 11.2 “Notes on the Operation of CalComp
CAL907 Output Devices” on page 11-4, has, roughly speaking, the following struture
1.
Neutral Picture FILE.
9-1
Chapter 9 Customizing the Plot Server
Figure 32
Structure of the interface file ‘plotface’
Commentary area
Here you will find notes on the installion and use of
‘plotface’.
Customizing area
Here you will find variable assignments which you
should use to customize your system.
Code area
As a rule this area remains unchanged. But even here there
are places prepared for special cases which can be customized and/or expanded.
Area in the file ‘plotlog’ is marked with the labels ‘START OF CUSTOMIZING AREA’ and ‘END OF CUSTOMIZING AREA’. The listing of the file ‘plotface2.1’ is printed out in section 11.8 “The LP Spooler Interface File
‘plotface2.1’” on page 11-21.
9-2
Chapter 9 Customizing the Plot Server
Figure 33
Section of the customizing area of the file ‘plotface2.1’ (to be continued)
#----------------------------------------------------------------------------#----------------------------------------------------------------------------#- START OF CUSTOMIZING AREA ------------------------------------------------#----------------------------------------------------------------------------#----------------------------------------------------------------------------# Information for the IRIX 5.x/6.x Printer Manager, don’t change!
#
#
#
#
NAME=Plotface
NAME=Plotface
NAME=Plotface
NAME=Plotface
2.1
2.1
2.1
2.1
Cal907
HPGL
HPGL/2
PostScript
#
#
#
#
Set the NAME variable below to 1 of
filling the double quotes with 1 of
The NAME variable below will be set
if the IRIX Printer Manager is used
the 4 values shown above,
the 4 strings shown above.
automatically by the Printer Manager,
to install the plot queue!
NAME="Plotface 2.1 HPGL"
#
TYPE="Plotface 2.1"
# License file variable, uncomment and adapt path if necessary
# LM_LICENSE_FILE=/icem/lic/license.dat; export LM_LICENSE_FILE
# Uniplot parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
#
#
#
#
The ’if’-blocks below define, according to the value of the variable NAME,
the Uniplot device driver and keyword to be used. It might be necessary
to change manually the keyword definition to a value as described in the
ICEM PlotServer User and Administrator Manual.
if [ "$NAME" = "Plotface 2.1 Cal907" ]
then
# Generic CalComp Cal907
dd=CAL907
d=CAL907
# Device Driver
# Device-Keyword
9-3
9.1 Customizing the Access Path of the License File
Figure 34
Section of the customizing area of the file ’plotface2.1’ (continued)
# Cal907 parameters (Uniplot standard values):
# Definition for the Generic CAL907 driver (dd=CAL907, d=CAL907):
# Nr. of Pens, Steps/cm, Paper Length/Width, Sync/EOB-Codes and Checksum
nrpens=8
steps=800
plength=3600
pwidth=86.4
sync=94
eob=13
csum=N
#
#
#
#
#
#
#
#
Number of Pens
Steps per cm
Paper Length in cm
Paper Width in cm
Double Sync Code with value 94 dez
A negative value will generate Single Sync
End Of Block (EOB) Code with value 13 dez
Checksum (Y)es/(N)
inpdirs="$nrpens\n$steps\n$plength\n$pwidth\n$sync\n$eob\n$csum"
elif [ "$NAME" = "Plotface 2.1 Calpm" ]
You can see the entire listing of the ‘plotface2.1’ customizing area in section 11.8 “The LP Spooler Interface File
‘plotface2.1’” on page 11-21.
9.1
Customizing the Access Path of the License File
The AT&T LP spooling system runs independent of the users environment. That’s why the path and file name of the
license file must be specified in the customization area of the plotface interface script. Edit all plotface scripts in the
plot servers directory ~lp/interface and adapt the setting of the variable LM_LICENSE_FILE. See the bold line on
about half of figure 33.
9.2
Entering the Uniplot Postprocessor and Keyword
Obviously, the most important customization is entering the name of the Uniplot postprocessor and the keyword. This
is because they define what plotter format will be created. That is, whether CAL907, HPGL, HPGL/2 or PostScript
data should be generated.
Every Uniplot postprocessor possesses a series of keywords which influence how the Uniplot postprocessor creates
the plotter format. But, to jump ahead a little, only a few of the many keywords1 which Uniplot offers are really relevant.
The selection of the Uniplot postprocessor and, thus, the plotter format to be created, is done in ‘plotface2.1’ by
assigning a specified text string to the variable ‘NAME’. This is done automatically if the the plot queue is defined
using the IRIX Printer Manager. If the plot queue was created on the shell level using the ‘lputil’ command, then the
variable ‘NAME’ must be manually assigned the value ‘Plotface 2.1 CAL907’, ‘Plotface 2.1 HPGL’, ‘Plotface 2.1
HPGL/2’ or ‘Plotface 2.1 PostScript’.
1.
9-4
See section 11.7 “Notes about Uniplot Version 3.3 Release 01” on page 11-18.
9.2 Entering the Uniplot Postprocessor and Keyword
Figure 35
Selection of the Uniplot postprocessor
#----------------------------------------------------------------------------#----------------------------------------------------------------------------#- START OF CUSTOMIZING AREA ------------------------------------------------#----------------------------------------------------------------------------#----------------------------------------------------------------------------# Information for the IRIX 5.x/6.x Printer Manager, don’t change!
#
#
#
#
NAME=Plotface
NAME=Plotface
NAME=Plotface
NAME=Plotface
2.1
2.1
2.1
2.1
Cal907
HPGL
HPGL/2
PostScript
#
#
#
#
Set the NAME variable below to 1 of
filling the double quotes with 1 of
The NAME variable below will be set
if the IRIX Printer Manager is used
the 4 values shown above,
the 4 strings shown above.
automatically by the Printer Manager,
to install the plot queue!
NAME="Plotface 2.1 HPGL"
...
TYPE="Plotface 2.1"
Following the section of the file ‘plotface2.1’, shown in figure 35, come areas which use the value of the ‘NAME’
variable to define the Uniplot postprocessor, the keyword to be used, and other settings. Customizations which might
be necessary can be made in these areas. figure 36 shows, by way of example, the section for CAL907 format. The
variable ‘dd’ defines the name of the postprocessor, and the variable ‘d’ defines the keyword. For CAL907 format the
name of the postprocessor and the keyword are the same (generic keyword). Following these variable assignments
come other ones which control the CAL907 format and allow ‘non-ICEM’ CAD applications to be adapted to the
CAL907 format.
The file ‘plotface2.1’ has such a section for each of the formats CAL907, HPGL, HPGL/2 and PostScript. The complete listing of the file ‘plotface2.1’ is printed out in section 11.8 “The LP Spooler Interface File ‘plotface2.1’” on
page 11-21.
9-5
9.3 Entering and Changing a Start and End Sequence
Figure 36
Selection of the Uniplot keyword
if [ "$NAME" = "Plotface 2.1 Cal907" ]
then
# Generic CalComp Cal907
dd=CAL907
d=CAL907
# Device Driver
# Device-Keyword
# Cal907 parameters (Uniplot standard values):
# Definition for the Generic CAL907 driver (dd=CAL907, d=CAL907):
# Nr. of Pens, Steps/cm, Paper Length/Width, Sync/EOB-Codes and Checksum
nrpens=8
steps=800
plength=3600
pwidth=86.4
sync=94
eob=13
csum=N
#
#
#
#
#
#
#
#
Number of Pens
Steps per cm
Paper Length in cm
Paper Width in cm
Double Sync Code with value 94 dez
A negative value will generate Single Sync
End Of Block (EOB) Code with value 13 dez
Checksum (Y)es/(N)o
inpdirs="$nrpens\n$steps\n$plength\n$pwidth\n$sync\n$eob\n$csum"
elif ["$NAME" = ...
section 11.2 “Notes on the Operation of CalComp CAL907 Output Devices” on page 11-4 through section 11.5 “Supporting Other Output Devices” on page 11-15 give you the problem-oriented notes you need for the operation of a
CAL907-, HPGL-, HPGL/2-, and PostScript-compatible output device, and the customizations which are possible in
these areas.
9.3
Entering and Changing a Start and End Sequence
Start and/or end sequences can be defined to cause output device-specific commands to precede or follow the plot
itself. These can be used, for example, to switch over a laser printer from PCL to HPGL mode. Or pen attributes such
as color and stroke width can be defined. Start and/or end sequences are defined in the interface script file ‘plotface’ in
the place prepared for them. This is where the shell variables ‘startsequ’ and ‘endsequ’ should be assigned the necessary values. Search for the variable assignments ‘startsequ=""’ or ‘endsequ=""’ in the customizing area of the
‘plotface’ file and enter the necessary sequences between the quotation marks.
9-6
9.3 Entering and Changing a Start and End Sequence
Figure 37
Definition of a start/end sequence
# Room for plotter specific start/end ’escape’ sequences
startsequ=""
endsequ=""
if [ -n "$copies" ]
then
# Assign code here which controls the multi copy feature of your plotter
startsequ=$startsequ""
endsequ=$endsequ""
fi
# Predefined sequences for the above mentioned laser printers
if [ "$hplj" = "YES" ] # HP Laserjet Laser printer
then
startsequ=$startsequ"\033&l1O\033%0B"
# landscape, HPGL/2 on
endsequ=$endsequ"\033%0A\033E\033&l0O\014" # PCL mode, reset, portrait, ff
fi
if [ "$pjxl" = "YES" ] # PaintJet XL300
then
startsequ=$startsequ"\033&l1O\033%-1BIN;" # landscape, HPGL/2 on, Init
endsequ=$endsequ"\033%0A\033&l0O"
# PCL mode, portrait
fi
Here is an example of a start sequence for an HP-compatible laser printer with PCL escape sequences for switching
over to landscape format and HPGL/2 emulation:
startsequ="\033&l1O\033%0B"
The special character ‘escape’ is given in UNIX with octal notation ‘\033’. The same goes for almost all other nonprinting characters (ASCII codes less than decimal 32). The commands necessary in every particular case should be
obtained from the printer or plotter documentation.
Here is an example of a start sequence which, according to HPGL/2 syntax, defines plotter pen 1 to have stroke width
0.18 mm and color black:
startsequ="PW0.18,1;PC1,0,0,0;"
The ‘plotface’ file has pre-defined start and end sequences for HP-compatible laser printers and for the HP PaintJet
XL300, that is, for printers which should plot using HPGL emulation (HP 7475). They can be activated by assigning
the value ‘YES’ to one of the two prepared variables ‘hplj’ or ‘pjxl’. If additional commands are desired they can
be added in the respective ‘if’ block of the corresponding variables. The two ‘if’ blocks for checking the variables
‘hplj’ and ‘pjxl’ are located directly after the empty assignments for the variables ‘startsequ’ and ‘endsequ’ (see figure
37).
9-7
9.4 Changing the Default Uniplot Directives
9.4
Changing the Default Uniplot Directives
The Uniplot postprocessors can be controlled by a few small directives (scaling, rotation, etc.). The file ‘plotface2.1’
uses ‘SCALE=1’ as its standard directive, which reproduces the plot file true to scale. The ‘noscale’ option of the
‘lp’ options switch can temporarily change this directive to ‘DRAW=1’. This scales down the plot file to the plot area
size connected with the keyword. If, for example, this should be the standard setting, then this should be changed in
the customizing area of the ‘plotface’ file.
To do this use the editor to change the value of the variable ‘directive1’ from its present value of ‘SCALE=1\$’ to
‘DRAW=1\$’. The scaling factor can also be set to an arbitrary value (e.g., SCALE=0.5\$). Scaling which is different for
the X and Y axes, to compensate for plotter inaccuracies for example, can be attained with ‘SCALE=x-Factor,y-Factor\$’.
If more than one directive should be necessary, the additional directives should be assigned to the variable
‘directive2’. It appears useful to use this for the directive ‘ROTATE=ON*’, which permanently rotates the plot by 90×
counter clockwise. This directive can be temporarily set by using the ‘rot’ option of the ‘lp’ options switch.
Note
Uniplot directives must be separated by the character ‘*’. The last directive must end with the character ‘$’. The file
‘plotface’ creates the directives by concatenating the values of the two variables ‘directive2’ and ‘directive1’. This
explains the character combination ‘\$’ at the end of the value of the variable ‘directive1’ and the character ‘*’ at the
end of the value of the variable ‘directive2’. The ‘plotface’ file requires the backslash character ‘\’ in order to protect
the ‘$’ from being interpreted by the shell command ‘echo’, which is what writes the concatenated directive string
into a file (INPFILE) for the Uniplot postprocessor.
Figure 38
Uniplot standard directive(s)
# Default directives <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
directive1="SCALE=1\$"
directive2="NONE*"
9.5
# any given Uniplot directive has to end with an ’*’
Entering and Processing New Options
Entering new options certainly does not belong to the standard customizations which can be made in the ‘plotface’
file. However, ‘plotface’ makes their flexible expansion relatively simple.
As was already described on page 14, ‘plotface’ processes the options ‘ascale’, ‘noscale’, ‘rot’, and the sizes ‘a0 - a4’.
The options received from the ‘lp’ command are passed on to ‘plotface’ as positional parameter ‘$5’, which is a string.
The ‘plotface’ file sets the ‘options’ variable equal to this string. A Bourne shell ‘case’ statement checks the value of
the ‘options’ variable against known options, and performs the corresponding actions, usually by setting other variables.
Now it is very simple to insert new options to be checked into the case statement, and to handle them in the corresponding manner. Figure 39 shows the section of the ‘plotface2.1’ file containing the case statement which was mentioned.
9-8
9.5 Entering and Processing New Options
Figure 39
‘plotface’ options
#----------------------------------------------------------------------------#
# Parse options specified with ’lp -o’ option
#
#----------------------------------------------------------------------------for option in $options
do
case $option in
noscale)
directive1="SCALE=1\$"
;;
NOSCALE)
directive1="SCALE=1\$"
;;
ascale)
directive1="DRAW=1\$"
;;
ASCALE)
directive1="DRAW=1\$"
;;
rot)
directive2="ROTATE=ON*"
;;
ROT)
directive2="ROTATE=ON*"
;;
a0)
echo "$hpsizea0" > HPSIZE
;;
A0)
echo "$hpsizea0" > HPSIZE
;;
...
...
A4)
echo "$hpsizea4" > HPSIZE
;;
esac
done
Naturally, any new options which might be inserted, and the actions they perform must be reflected further on in the
‘plotface’ file.
9-9
9.6 Further Processing of Plot Files Created on the Hard Disk
9.6
Further Processing of Plot Files Created on the Hard Disk
The most common special customization in the ‘plotface’ file is further processing of plot files created on the hard
disk. This is because instead of directly outputting the ready-to-plot file to a physical interface, it is often desired to
make further manipulations in it, or to pass on the plot file in a completely different form. The following sections
show examples of how ‘plotface’ can be customized in a very targeted manner for a given problem. Figure 40 shows
the section of the file ‘plotface2.1’ which is to be changed by inserting any desired processing steps.
Figure 40
Processing of the ready-to-plot file 'PLOTF'
#----------------------------------------------------------------------------#
# Output or process the ready to plot plotfile PLOTF
#
#----------------------------------------------------------------------------/bin/cat ./PLOTF
# No redirection! The LP-Spooler does it for us!
# The above line may be replaced by any code processing the plotfile in
# any different way (i.e. ftp, rcp, lpr it to another system).
# rm PLOTF
mv PLOTF plotf
9.6.1
# Remove or move the plot file. This is important
# due to the fact that Uniplot just opens the file
# to write in without clearing it first!
Manipulating Plot Files
You can find examples of the manipulation of the ready-to-plot file with the name ‘PLOTF’ in the ‘plotface’ file
itself. Thus, ‘plotface’ uses the Uniplot PostScript postprocessor to manipulate the stroke width in the PostScript code
of the file ‘PLOTF’ after it has been created.
Attaching start/end sequences, if they are defined, at the beginning or end of the file is another example of changing
the ready-to-plot file after it has been created.
The ‘/bin/cat ./PLOTF’ command shown inFigure 41 can be replaced by any Bourne shell command for manipulating
the ‘PLOTF’ file. Please note that all operations are executed with the user ID ‘lp’, since the interface script ‘plotface’ is executed by the AT&T LP spooling system under this user ID. This is especially important if you copy or
move the ‘PLOTF’ file. The corresponding actions must be permitted for the ‘user’ ‘lp’!
9.6.2
Transferring Plot Files to the BSD Spooling System
Especially in heterogeneous environments, that is, environments consisting of different computers internetworked
together and numerous application programs, the task of transferring a ready-to-plot file to another spooling system
often arises. The ICEM PlotServer Package then forms a type of gateway which creates the necessary plotter format
out of the ICEM plot files and then passes it on to existing print/plot queues in the network.
Transfer to the BSD spooling system is very often necessary, since it is available on practically all UNIX computers.
The BSD spooling system is even supported on the PC side. Naturally, transferring the ‘PLOTF’ file created by ‘plotface’ using the BSD spooling system’s ‘lpr’ command first requires the installation and configuration of the BSD
spooling system on the IRIX Plotserver Workstation.
9-10
9.6 Further Processing of Plot Files Created on the Hard Disk
The BSD Spooling-System is usually not part of the installation under IRIX; if needed, it must be installed afterwards, from the IRIX operating system CD. The corresponding IRIX modules are called:
IRIX 4.x
IRIX 5.x/6.x
eoe2.*.bsdlpr
print.*.bsdlpr
After installation, the software necessary for the BSD spooling system is located on the plot server, and at least the
configuration file /etc/printcap needs to be customized for your system. Detailed notes on configuring the BSD spooling system can be found in the IRIX Insight Online manuals. Simply search for the term ‘printcap’ or ‘bsdlpr’. The
standard IRIX man pages could also be helpful (e.g., ‘man printcap’, ‘man lpr’, ‘man lpq’, etc.).
The file /etc/printcap must meet exact formatting requirements. Neglecting the smallest, inconspicuous things, e.g.,
using spaces instead of tabs, can make the BSD spooler malfunction! After making a change in the /etc/printcap file,
the BSD spooler daemon ‘lpd’ should be stopped and restarted. To do this, enter the following commands:
su
/etc/init.d/bsdlpr stop
/etc/init.d/bsdlpr start
The control possibilities of the BSD spooling system are very modest. The status of a BSD queue can be determined
with the command:
lpq -PBSD_queue_name
The command ‘lpc’ can be used to disable or to enable a BSD queue or in order to pass a file on to a BSD queue, use
the command:
lpr -h -PBSD_queue_name
plot_file_name
The parameter ‘-h’ is used to suppress a header page. If the BSD queue is functioning correctly this command would
also replace the ‘cat’ command in the ‘plotface’ file shown in figure 40
The following figure shows, by way of example, a ‘printcap’ entry which allows the plot server to pass ready- to-plot
files on to a BSD queue with the name ‘HP5’ on the computer ‘monsun’.
Figure 41
Example of a remote BSD queue entry in the /etc/printcap file
# typical remote printer entry in /etc/printcap
#
lp|hp5mp|HP 5MP laser on host monsun:\
:sd=/var/spool/lpd/hp5mp:lf=/var/adm/lpd-errs:\
:lp=/dev/null:rm=monsun:rp=HP5:\
:mx#0:sh:
If a BSD queue is supposed to undertake the output of plot files locally on the IRIX plot server, then the file /etc/
hosts.lpd should be created on the IRIX plot server for allowed access of other computers in the network. This file
must contain the foreign hosts which should have access to the locally-defined BSD queue, together with their computer names. The following figure shows an example of a local BSD queue entry.
9-11
9.7 Customizations to the Uniplot Postprocessors
Figure 42
Example of a local BSD queue entry in the /etc/printcap file
# typical local printer entry in /etc/printcap
#
lp|HP5|HP 5MP laser on /dev/plp:\
:sd=/var/spool/lpd/hp5mp:lf=/var/adm/lpd-errs:\
:lp=/dev/plp:mx#0:sh:
9.6.3
Sending Plot Files to an Output Device Connected via Ethernet
Modern Ethernet interfaces of printers or plotters, as a rule, have the ‘lpd’ protocol available, and therefore it is possible to address them with a BSD queue, as described in the previous section. The printer or plotter is then addressed
exactly like a remote BSD queue on another computer. It is important not to forget to enter the ‘hostname’ of the
printer or plotter, including its IP address, in the /etc/hosts file on the plot server. The ‘ping’ command should be used
to test the Ethernet connection to the output device before the BSD queue is defined on the plot server. Then, the
remaining steps correspond to those of the previous section.
Older Ethernet interfaces often require proprietary communications programs in order to send files from the plot
server to the printer or plotter. These programs are made available by the printer or plotter manufacturers either as
executable.
programs, or as source code. In the first case the binary program must naturally be compiled exactly for the operating
system, and in the second case it can be created on any platform, assuming it has a compiler, etc. The program to be
used should then be put in the ‘plotface’ file in the previously-described place (see figure 40), in order to send readyto-plot files to the output device over Ethernet.
9.6.4
Transferring Plot Files in Other Ways
It is also possible to transfer the ‘PLOTF’ file with the commands ‘cp’, ‘rcp’, ‘ftp’, and others. In so doing, keep in
mind that the user ‘lp’ must have permission to perform the desired operations. Before these actions are executed by
‘plotface’, you should run through them in the Bourne shell as user ‘lp’, e.g., by entering the command ‘su lp’ or
‘login lp’.
9.7
Customizations to the Uniplot Postprocessors
As has already been seen, the Uniplot postprocessors can be controlled to a certain extent by directives. More extensive settings are concealed in the file ‘DHCFILE’1 or ‘DHCEXT’2 belonging to each postprocessor. These files contain modifiable attributes for each postprocessor keyword, such as the number of pens, the resolution of the device,
the plotting surface, and other capabilities of the output device.
Except the new Uniplot postprocessor ‘HPGLU’, all others use one of the ‘DHCFILE’ binary files. The ‘HPGLU’
postprocessor takes its information from the ASCII file ‘DHCEXT’.
The following sections contain notes about how to change entries in the DHC files.
1.
2.
9-12
Device Hardware Characteristics FILE.
Device Hardware Characteristics EXTended.
9.7 Customizations to the Uniplot Postprocessors
9.7.1
Making Changes in the File DHCFILE
The file ‘DHCFILE’ has a binary format and can only be viewed and changed with a special Uniplot utility program.
The name of this program is ‘dhcutl’1 and is located in the directory:
PlotServer_installation_directory/uniplot
The file ‘DHCFILE’ is located together with the Uniplot postprocessor program ‘unipst’ in the respective subdirectories ‘CAL907’, ‘HPGLR’ and ‘POSTSC’:
PlotServer_installation_directory/uniplot/CAL907
PlotServer_installation_directory/uniplot/HPGLR
PlotServer_installation_directory/uniplot/POSTSC
To use ‘dhcutl’ it is necessary to be in the directory containing the ‘DHCFILE’ to be changed. You should definitely
make a backup copy of the file ‘DHCFILE’ before launching the ‘dhcutl’ program, since this program always makes
write access to the DHC file. So, change to the directory of the desired Uniplot postprocessor and enter the following
command:
su
../dhcutl
The ‘dhcutl’ program is launched. From now on, all input must be in uppercase letters. The program expects input of
a keyword valid for this postprocessor and a command, separated by a comma. Figure 44 shows a sample session in
the directory of the ‘HPGLR’ postprocessor. ‘HR7586R’ is entered as the keyword2 to be checked, and ‘PRINT’ as the
command. This command shows all the attributes which belong to the keyword to be entered.
Figure 43
The 'dhcutl' program
UNIPLOT DHCFILE UTILITY
COPYRIGHT CONTROL DATA 1995
THE DHCFILE UTILITY PROVIDES THE ABILITY TO
MANIPULATE A UNIPOST DEVICE HARDWARE CHARACTERISTICS FILE.
PLEASE ENTER KEYWORD,FUNCTION
HR7586R,PRINT
KEYWORD
D.D. NAME D.D. ID
HR7586R
HPGLR
1
DATE
FILE NAME USER NAME D.D. TYPE
95/10/03
0
DEF. MODE
UNITS INCREMENT
NPENS X SURFACE Y SURFACE
LINEAR
CM
400
8
110.950
78.700
HW CHAR
LC CHAR
HW DOT
HW DASH
HW ARC
YES
YES
YES
YES
YES
HW RCT F HW RCT S HW PLY F HW PLY S HW SCT F HW SCT S
YES
NO
NO
NO
YES
NO
PLEASE ENTER KEYWORD,FUNCTION
,END
1.
2.
Device Hardware Characteristics file utility.
section 11.7 “Notes about Uniplot Version 3.3 Release 01” on page 11-18 gives a list of the available keywords.
9-13
9.7 Customizations to the Uniplot Postprocessors
Entering ‘HR7586R,MODIFY’ allows one or several attributes to be changed. After a ‘MODIFY’ command has been
issued, the program will ask about all attributes in the series, for which reason it is strongly advised to display them
with the ‘PRINT’ command, in order that the correct answers can be entered. In the above example, when the program
asks about the number of pens (NPENS), 16 can be entered instead of 8, in order to take advantage of the capabilities
of a modern HPGL plotter.
A new keyword can also be entered into the DHC file with the
To quit out of the ‘dhcutl’ program use the command
‘INSERT’
command.
‘END’1.
The change will become effective the next time the Uniplot postprocessor is run with this keyword.
The ‘DHCFILE’ cannot be imported from older versions of Uniplot. Changes which might have been made must be
made again in a newer version of Uniplot using the ‘dhcutl’ program.
9.7.2
Making Changes in the File DHCEXT
The file ‘DHCEXT’ with its new ASCII format no longer has the shortcomings of the binary file ‘DHCFILE’. However, this new format is currently only supported by the Uniplot ‘HPGLU’ postprocessor. The file ‘DHCEXT’ does
not require any program to manipulate it, but rather can be viewed and changed using an editor. Figure 44 shows an
excerpt of the file ‘DHCEXT’. The original file contains notes at the beginning concerning the meaning of the individual values.
1.
9-14
That is, no keyword, but only ‘,’ and ‘END’.
9.7 Customizations to the Uniplot Postprocessors
Figure 44
Excerpt of the file ’DHCEXT’ (to be continued)
UNIPLOT EXTENDED DHCFILE VER. 3.3
* DDOPT,1=
*
BASE=64, 32, or 0
*
LONGAXIS=NO or YES - specifies if this keyword is to use Long Axis mode
*
PS=NO or YES - specifies if this plotter can use the Page Size command
*
PW=NO or Yes - specifies if this plotter can use the Pen Width command
*
HC=NO or Yes - specifies if this plotter can use the Hard Clip limits
*
...
...
*
DEVKEYWORD=HR7475; DDNAME=HPGLU; PROMPT=NO;
DEVMODE=SELECTIVE; PLOTUNITS=CM; INCREMENT=402;
NUMPENS=6; SURFACE=38.,25.;
HWCHAR=YES; LCCHAR=YES; HWDOT=YES; HWDASH=YES; HWARC=YES;
HWRCTF=YES; HWRCTS=NO; HWPLYF=NO; HWPLYS=NO; HWSCTF=YES; HWSCTS=NO;
PAPERADV=M; PLOTCOOR=522,259,15722,10258;
*
DEVKEYWORD=HR7550; DDNAME=HPGLU; PROMPT=NO;
DEVMODE=SELECTIVE; PLOTUNITS=CM; INCREMENT=400;
NUMPENS=8; SURFACE=38.,25.;
HWCHAR=YES; LCCHAR=YES; HWDOT=YES; HWDASH=YES; HWARC=YES;
HWRCTF=YES; HWRCTS=NO; HWPLYF=YES; HWPLYS=NO; HWSCTF=YES; HWSCTS=NO;
PAPERADV=M; PLOTCOOR=620,80,10620,7280;
*
DEVKEYWORD=HR7550S; DDNAME=HPGLU; PROMPT=NO;
DEVMODE=SELECTIVE; PLOTUNITS=CM; INCREMENT=400;
NUMPENS=8; SURFACE=38.,25.;
HWCHAR=YES; LCCHAR=YES; HWDOT=YES; HWDASH=YES; HWARC=YES;
HWRCTF=YES; HWRCTS=NO; HWPLYF=YES; HWPLYS=NO; HWSCTF=YES; HWSCTS=NO;
PAPERADV=P; PLOTCOOR=620,80,10620,7280;
*
* THIS SECTION RESERVED FOR HP758X AND HP759X PLOTTERS
*
DEVKEYWORD=******;
*
901 800
903 800
904 905 906 800
903 800 801 802 910 911
*BEGPLOT=HPON,FLUSH,ESC@,FLUSH,ESCM,ESCN,ESCI,FLUSH,ESC@,FLUSH,IP,IW,CS,CA
*803 804
*PA,SP
BEGPLOT=901,800,903,800,904,905,906,800,903,800,801,802,910,911,803,804;
*
HPOFF
ENDPLOT=902;
*
DEVKEYWORD=HR7580; DDNAME=HPGLU; PROMPT=NO;
DEVMODE=SELECTIVE; PLOTUNITS=CM; INCREMENT=400;
NUMPENS=8; SURFACE=75.6,53.8;
HWCHAR=YES; LCCHAR=YES; HWDOT=YES; HWDASH=YES; HWARC=YES;
HWRCTF=YES; HWRCTS=NO; HWPLYF=NO; HWPLYS=NO; HWSCTF=YES; HWSCTS=NO;
PAPERADV=M; PLOTCOOR=-15710,-10060,15710,10060
BEGPLOT=901,800,903,800,904,905,906,800,903,913,805,801,802,910,\
911,803,804;
ENDPLOT=902;
9-15
9.7 Customizations to the Uniplot Postprocessors
Figure 45
Excerpt of the file ’DHCEXT’ (continued)
*
DEVKEYWORD=HR7585; DDNAME=HPGLU; PROMPT=NO;
DEVMODE=SELECTIVE; PLOTUNITS=CM; INCREMENT=400;
NUMPENS=8; SURFACE=110.95,78.7;
HWCHAR=YES; LCCHAR=YES; HWDOT=YES; HWDASH=YES; HWARC=YES;
HWRCTF=YES; HWRCTS=NO; HWPLYF=NO; HWPLYS=NO; HWSCTF=YES; HWSCTS=NO;
PAPERADV=M; PLOTCOOR=-20840,-16180,20840,16180;
*
9-16
Chapter 10 Diagnosing and Correcting Plotting Problems
Chapter 10
Diagnosing and Correcting Plotting Problems
The standard AT&T spooling system, which is used by the ICEM PlotServer Package, along with additional diagnostic aids such as a log file and a diagnostic script, offer a good basis for identifying and correcting the cause of plotting
problems quickly and surely.
When searching for the cause of plotting problems, you should proceed in the order of the following sub-chapters. If
these aids do not bring any improvement, the error must have to do either with the transmission medium to the output
device (cable, physical interface, network), or the output device itself (incorrect settings or physical defect).
10.1
The Log File ‘plotlog’ on the Plot Server
The first place to start when searching for the cause of a plotting problem should be to check the ASCII log file ‘plotlog’. This log file is located on the plot server (and only there) in the ‘request’ directory of the corresponding plot
queue (that is, of an LP queue which uses the ‘plotface’ file as its interface script file). That is, generally speaking in
the directory:
/usr/spool/lp/request/plot_queue_name
The ‘plotlog’ file always contains the log entries of the last plotting run (that is, it is always overwritten). These
entries are made by the interface script file ‘plotface’ and reflect the progress of the diverse plot file conversions. Simple errors, such as, Uniplot preprocessors and postprocessors which are not (or are no longer) accessible because of
changed path names, etc., can thus be easily detected. In its various sections the ‘plotlog’ file shows the progress of
the sequence of plotting events and possible errors.
If the log file contains no current entries (date and time of the plot request), this shows that the interface script ‘plotface’ did not run on the plot server. This could be the cause of a malfunction of the spooling system of the plot server
or the client. The two next sections give procedures which can correct problems of the spooling system, among other
things.
10-1
10.1 The Log File ‘plotlog’ on the Plot Server
Figure 46
Log file ‘plotlog’
========================================================================
PLOT LOGFILE of ’plotface’ revision 2.1
========================================================================
Date of plot:____________ Mon Jan 11 14:21:56 PST 1999
Plotdevice:______________ QMSplot
Plot Port:_______________ /dev/plp
Username:________________ wku
Plotfile:________________ /usr/spool/lp/request/QMSplot/d0-2165
LP-ID:___________________ QMSplot-2165
Options:_________________ rot ascale
========================================================================
The plotfile is already a Uniplot NPFILE ...
========================================================================
Content of ’INPFILE’:
0
0
7.87
11.3
ROTATE=ON*
DRAW=1$
========================================================================
Content of ’OPFILE’:
INPFILE
/dev/tty
NPFILE
PLOTF
PSLINE
CM
OFFLINE
NO
wku
DHCFILE
========================================================================
-rw-r--r-1 lp
lp
1804 Jan 11 14:21 DHCFILE
-rw-rw-rw1 lp
lp
33 Jan 11 14:21 INPFILE
-rw-rw-r-1 lp
lp
960 Jan 11 14:21 NPFILE
-rw-rw-rw1 lp
lp
67 Jan 11 14:21 OPFILE
========================================================================
UNIPOST V3.3 RELEASE 01
COPYRIGHT CONTROL DATA 1995
PRINTER IMAGEABLE REGION IN INCHES:
ENTER THE LOWER LEFT X BOUNDARY.
ENTER THE LOWER LEFT Y BOUNDARY.
ENTER THE UPPER RIGHT X BOUNDARY.
ENTER THE UPPER RIGHT Y BOUNDARY.
ROTATE=ON*
DRAW=1$
THE FOLLOWING ERRORS WERE ENCOUNTERED **UMI615 AUTOMATIC SCALING HAS OCCURRED
INFORMATIVE
========================================================================
End of Plot Protocol ...
========================================================================
10-2
10.2 The Diagnostic Script ‘tst_plotter’ on the Plot Server
Figure 46 shows the content of a ‘plotlog’ file of a successful plot output on a PostScript laser printer.When using
ICEMview the log file ‘plotlog’ can be displayed in an elegant manner by performing an ‘ALT-OPEN’, that is by double-clicking on the corresponding plotter icon while simultaneously holding down the ALT key. If this action is performed on a client workstation, the corresponding log file is automatically accessed on the plot server. Thus, it is not
necessary to be on the plot server.
10.2
The Diagnostic Script ‘tst_plotter’ on the Plot Server
If the log file ‘plotlog’ gives no indication of the cause of the error, the second step should be to execute the diagnostic
script ‘tst_plotter’. The way to launch this script and the way it functions were described in detail in Chapter 6 “Testing a Plot Queue on the Plot Server” on page 6-1.
The diagnostic script can reliably identify errors in the plot server’s spooling system, among others. The next section
explains how to restart the LP spooling system without rebooting the workstation.
10.3
Restarting the LP Spooler without Rebooting
If the LP spooling system no longer functions as usual, it often helps to restart it. Typical errors of the spooling system
which, as a rule, can be corrected by a restart include:
•
Hanging plotting requests
•
Plotting jobs not appearing in the plot queue
•
Plotting jobs not being processed
It is usually enough to stop the spooling system with the appropriate system commands and to restart it. It is often not
possible to reboot the workstation just like that, especially with plot servers which also serve as NFS file servers.
Any plot requests which might be hanging should be removed from the LP queue using the ‘cancel’ command before
the spooling system is restarted.
To stop the spooling system, execute the following command with superuser privileges:
su
/etc/init.d/lp stop
After that, restart the spooling system as follows:
/etc/init.d/lp start
This sequence of commands is automatically executed when the workstation is rebooted and restarted (through the
symbolic links /etc/rc2.d/S60lp and /etc/rc0.d/K25lp).
However, if the malfunction of the spooling system should have to do with deadlocked serial ports, rebooting the
workstation is unavoidable.
It can happen that the LP spooling system has disabled an LP queue. Such a disabled queue can be re-enabled with the
‘enable’ command:
su
enable LP-queue_name
10-3
10.3 Restarting the LP Spooler without Rebooting
10-4
Chapter 11 Information on Output Devices and the Uniplot Software
Chapter 11
11.1
Information on Output Devices and the Uniplot
Software
Notes on the Operation of the PlotServer Package on AIX
The implementation and usage of the ICEM PlotServer Package for AIX differs from the other supported UNIX platforms. AIX uses a spooling system similar to the BSD spooling system. There is no option to use additionally an
AT&T compatible spooling system. To still keep full functionality of the plotface interface script, a normal script
based on plotface was created. This script is named ‘pll‘ (plot locally). Plot clients use a script similar to netface
named ‘plr‘ (plot remotely). After the installation of the ICEM PlotServer Package both scripts are located in the
installation directory. The usage of the scripts is identical to the lp-command. Both scripts should be customized and
copied in to a directory on the plot server beeing part of the user’s search path (i.e. /usr/bin). The plot client requires to
customize and copy the script ‘plr’ only.
The possible and necessary changes to both scripts ‘pll‘ and ‘plr‘ are well documented in the scripts and correspond to
the customizations of plotface.
11-1
11.1 Notes on the Operation of the PlotServer Package on AIX
Figure 47
Section of the customizing area of the file ’pll’
#----------------------------------------------------------------------------#----------------------------------------------------------------------------#- START OF CUSTOMIZING AREA ------------------------------------------------#----------------------------------------------------------------------------#----------------------------------------------------------------------------# Plotfile format to convert to
# Set the variable FORMAT below to "Cal907", "HPGL", "HPGL2", or "PostScript"
FORMAT="HPGL"
# License file variable, uncomment and adapt if needed
# LM_LICENSE_FILE=/icem/lic/license.dat; export LM_LICENSE_FILE
# Uniplot parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
#
#
#
#
The ’if’-blocks below define, according to the value of the variable FORMAT,
the Uniplot device driver and keyword to be used. It might be necessary
to change manually the keyword definition to a value as described in the
ICEM PlotServer User and Administrator Manual.
inpdirs=""
# Variable predefinition, don’t change!
if [ "$FORMAT" = "Cal907" ]
then
# Generic CalComp Cal907
dd=CAL907
d=CAL907
# Device Driver
# Device-Keyword
# Cal907 parameters (Uniplot standard values):
# Definition for the Generic CAL907 driver (dd=CAL907, d=CAL907):
# Nr. of Pens, Steps/cm, Paper Length/Width, Sync/EOB-Codes and Checksum
nrpens=8
steps=800
plength=3600
pwidth=86.4
sync=94
eob=13
csum=N
#
#
#
#
#
#
#
#
Number of Pens
Steps per cm
Paper Length in cm
Paper Width in cm
Double Sync Code with value 94 dez
A negative value will generate Single Sync
End Of Block (EOB) Code with value 13 dez
Checksum (Y)es/(N)o
inpdirs="$nrpens\n$steps\n$plength\n$pwidth\n$sync\n$eob\n$csum"
elif [ "$FORMAT" = "Calpm" ]
11-2
11.1 Notes on the Operation of the PlotServer Package on AIX
Figure 48
Customizing area of the file ’plr’
#----------------------------------------------------------------------------#----------------------------------------------------------------------------#- START OF CUSTOMIZING AREA ------------------------------------------------#----------------------------------------------------------------------------#----------------------------------------------------------------------------# Hostname of the ICEM PlotServer workstation
plotserver=""
# User account to use for rcp and rsh command
ruser=guest
#----------------------------------------------------------------------------#----------------------------------------------------------------------------#- END OF CUSTOMIZING AREA --------------------------------------------------#----------------------------------------------------------------------------#-----------------------------------------------------------------------------
The script ‘pll’ creates by usage of the ICEM PlotServer Package the ready to plot plot file. This file is either sent to
the spooling system using a dumb queue or copied in to the directory /tmp giving it a unique name. The next figure
shows the customizable area for this issue in the script ‘pll‘.
Figure 49
Customizing plot file handling in the file ‘pll‘
#----------------------------------------------------------------------------#
# Output or process the ready to plot plotfile PLOTF
#
#----------------------------------------------------------------------------if [ -n "$device" -a -x /usr/bsd/lpr ]
then
# Forward the ready to plot plotfile to the dumb queue $device using lpr
/usr/bsd/lpr -P$device -h PLOTF
else
# Just move the ready to plot plotfile to /tmp with a unique naming scheme
chmod 644 PLOTF
mv PLOTF /tmp/${FORMAT}_$$
fi
# The above lines may be replaced by any code processing the plotfile in
# any different way (i.e. ftp, rcp).
On principle the pair of both scripts ‘plr‘ and ‘pll‘ could also be used on any other supported UNIX platform.
11-3
11.2 Notes on the Operation of CalComp CAL907 Output Devices
11.2
Notes on the Operation of CalComp CAL907 Output Devices
The CAL907 format is, as a rule, used exclusively by plotters from the companies CalComp and Versatec. All
CAL907 output devices can be operated with the ‘plotface’ setting ‘Plotface 2.1 CAL907’. It is necessary to match
several parameters between the software and the plotter. The Uniplot CAL907 postprocessor uses the following standard values:Table 1 Standard Uniplot CAL907 parameters.
However, heterogeneous plotting environments often require other values. These values can be changed as desired in
the customizing area of the ‘plotface2.1’ file.
Table 1
Standard Uniplot CAL907 parameters
Parameter
Setting
No. of Sync characters
2
Sync value
94 dec. / 5E hex.
EOB value
13 dec. / 0D hex.
Checksum
None
Figure 50
'Plotface2.1 CAL907’ customizing area
if [ "$NAME" = "Plotface 2.1 Cal907" ]
then
# Generic CalComp Cal907
dd=CAL907
d=CAL907
# Device Driver
# Device-Keyword
# Cal907 parameters (Uniplot standard values):
# Definition for the Generic CAL907 driver (dd=CAL907, d=CAL907):
# Nr. of Pens, Steps/cm, Paper Length/Width, Sync/EOB-Codes and Checksum
nrpens=8
steps=800
plength=3600
pwidth=86.4
sync=94
eob=13
csum=N
...
...
11-4
#
#
#
#
#
#
#
#
Number of Pens
Steps per cm
Paper Length in cm
Paper Width in cm
Double Sync Code with value 94 dec
A negative value will generate Single Sync
End Of Block (EOB) Code with value 13 dec
Checksum (Y)es/(N)o
11.2 Notes on the Operation of CalComp CAL907 Output Devices
Note
The CAL907 postprocessor is only flexible with respect to the above values when the keyword ‘CAL907’ (= generic
keyword1) is used. For other keywords the standard settings listed in Table 1 on page 11-4 must be used. However, it is
not necessary to change the keyword, since all relevant parameters can be defined in ‘plotface’. The plotter’s transmission parameters should be set as follows.
Table 2
Uniplot CAL907 transmission parameters
Parameter
Setting
Serial connection:
Data bits
8
Parity
none
Stop bits
1
Baud
9600
Data format
PCI
Handshake
XON/XOFF
Parallel connection:
Data format
PCI
A shielded cable with at least 3 connections (transmitted data, received data, and signal ground) is adequate for the
serial connection. Whether the transmitting and receiving lines have to be crossed or not depends very much on the
CalComp plotter model. Thus, 104x series plotters even have two connections which can be used, depending on the
type of cable.
As a rule, parallel connections are more trouble-free; however they are possible only with modern plotters. Do not
scrimp on cable quality. Doubly-shielded special parallel cables (e.g., from CalComp) are recommended.
11.2.1
Pen Plotters
When using an (older) pen plotter without internal optimization, it is recommended to enable ICEM DDN plot file
optimization. This is done at the following place in the customizing area of ‘plotface2.1’:
ICEM DDN optimizer parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
optprms="coin=OFF dup=OFF zero=OFF grid=OFF pc=OFF stats=ON"
Change all values from ‘OFF’ to ‘ON’. The meaning of the optimizer parameters is given in Table 5 on page 11-16.
1.
The keyword with the name of the postprocessor.
11-5
11.2 Notes on the Operation of CalComp CAL907 Output Devices
11.2.2
Raster Plotters (Laser, Ink Jet, Thermal, Electrostatic)
Raster plotters have been more successful than pen plotters due to their clear advantages, such as high output speed
and low operating noise. Modern devices such as the CalComp CCL600 laser printer, the CalComp Drawing Master
thermal plotter, the CalComp Solus laser plotter, as well as the CalComp Techjet ink jet plotter even have emulation
recognition, which makes customization of the CAL907 parameters (see Table 1 on page 11-4) unnecessary, and often
even allows the output of HPGL files.
11.2.3
Using CDCL (CalComp Device Control Language)
CDCL can be used to make extensive plotter settings using software. These CDCL commands can be integrated without problems into the start sequence prepared by ‘plotface’. Thus, for example, implementing the capability of producing multiple plots in a CalComp Drawing Master is very elegant. The CDCL commands simply have to be added
to the ‘plotface’ file and then the ‘lp’ option ‘-nnumber’ can be used. The ‘plotface’ file has the number available in
the variable ‘$copies’, which can be passed as an argument to the CDCL command ‘COPIES()’. The bold part of figure 51, page 11-6 shows what must be added to the ‘plotface’ file.
Figure 51
Example of the use of CDCL commands
# Room for plotter specific start/end ’escape’ sequences
startsequ=""
endsequ=""
#----------------------------------------------------------------------------# Multi copy feature per Calcomp CDCL
#
copies=$4
if [ -n "$copies" ]
then
sq="&&&&CALCOMP DEVICE CONTROL\n"
sq=$sq"COPIES($copies)\n"
startsequ=$sq"^^^^END OF FILE\n"
fi
#-----------------------------------------------------------------------------
11-6
11.3 Notes on the Operation of HPGL and HPGL/2 Output Devices
11.3
Figure 52
Notes on the Operation of HPGL and HPGL/2 Output Devices
HPGL P1/P2 corners
P2
y
x
P1
HPGL is the most widely-used plotter format, even though using it is not as trouble-free as using the CAL907 format,
for example. HPGL uses different coordinate systems depending on the plotter type. Thus, DIN A3/A4 format HPGL
devices (HP7475 compatible) use a coordinate system whose origin is in the lower left, while large-format plotters
have their origin at the diagonal intersection point of the inserted sheet. This requires thinking things through carefully
ahead of time, especially for offline plot file creation. The output of extra-long plots, called long-axis plots in HPGL,
is very hard to manage, at least in HPGL. HPGL/2 offers language enhancements which match the capabilities of
modern raster output devices. In particular, now pen attributes such as color and stroke width can be defined.
Uniplot offers two HPGL postprocessors. The HPGLR postprocessor corresponds to the earlier HPGLRB postprocessor (from the ICEM PlotServer Package 3.03). The new HPGLU postprocessor is intended for both HPGL and
HPGL/2 formats (depending on what keyword is used). However, the selection ‘Plotface 2.1 HPGL’ in ‘plotface2.1’
uses the HPGLR postprocessor, and the selection ‘Plotface 2.1 HPGL/2’ uses the HPGLU postprocessor. Both postprocessors take the available plotting area from a file which has been prepared with the name ‘HPSIZE’. This file is
created by ‘plotface’ with its HPGL P1xy/P2xy coordinates depending on the ‘lp’ options ‘a0 - a4’. In HPGL the
points P1/P2 define the outer corners of the plotting area. The P1/P2 coordinates can be customized as desired in the
‘plotface’ file. The units used are steps (stepper motor units). 400 steps correspond to 1 cm, or 40 steps to 1 mm.
Therefore, the pair of P1/P2 values for the DIN A0 format is:
P 1x
P 1y
steps
1189mm ⋅ 40 ------------mm = – 23780steps
= – --------------------------------------------2
steps
841mm ⋅ 40 ------------mm = – 16820steps
= – -----------------------------------------2
The values for the P2 coordinates are obtained on the basis of symmetry from the P1 coordinates, however with a positive sign. Therefore ‘plotface’ has the following variable assignment for DIN A0 format:
11-7
11.3 Notes on the Operation of HPGL and HPGL/2 Output Devices
hpsizea0="-23780,-16820,23780,16820"
Figure 53, page 11-8 shows the customizing area in the ‘plotface2.1 HPGL’ file for the selection ‘Plotface 2.1’.
Figure 53
Customizing area for ‘Plotface 2.1 HPGL’
elif [ "$NAME" = "Plotface 2.1 HPGL" ]
then
# HPGL
dd=HPGLR
d=HR7586R
#
#
#
#
#
#
#
# Device Driver
# Device-Keyword
HPGL P1/P2 plot area coordinates
Only for HPGL-Plotters, n o t connected to a serial port.
The values are used to create the ’HPSIZE’ file for the Uniplot HPGLR and
HPGLU device drivers to overwrite the hardcoded P1/P2 values.
Depending on the given lp-option (-oa0 ... -oa4, -oA0 ... -oA4), the
corresponding hpsizea? variable will be echoed into the ’HPSIZE’ file.
400 steps correspond to 1 cm.
# For HP-Plotters DIN A0 - DIN A4:
hpsizea0="-23780,-16820,23780,16820"
hpsizea1="-16820,-11880,16820,11880"
hpsizea2="-11880,-8400,11880,8400"
# hpsizea3="-8400,-5940,8400,5940"
# hpsizea4="-5940,-4200,5940,4200"
#
#
#
#
#
DIN-A0
DIN-A1
DIN-A2
DIN-A3
DIN-A4
format
format
format
format
format
(1189x841)
( 841x594)
( 594x420)
( 420x297)
( 297x210)
# For HP-Plotters DIN A3 - DIN A4:
hpsizea4="0,0,11880,8400"
hpsizea3="0,0,16800,11880"
# DIN A4 format ( 297x210)
# DIN A3 format ( 420x297)
# Laser/Inkjet-printers as plotters with HP7475A emulation.
# Switch 1 of the values below from NO to YES to use predefined
# start/end-sequences for the printer/plotter.
hplj=NO
pjxl=NO
...
...
# HP Laserjet
(YES, NO)
# PaintJet XL300 (YES, NO)
As a rule, the keyword ‘HR7586R’ is the correct setting for all large-format plots (up to DIN A0) on roll paper. All
keywords are listed in Table 9 on page 11-20.
However, for extra-long plots (plots larger than DIN A0) the keyword ‘HR7586L’ must be entered. Since in HPGL,
‘long-axis plots’ require sending the plot multiple times, it is recommended that 2 plot queues be defined which differ
only in keyword. Or, if possible, you can switch to HPGL/2 by selecting ‘Plotface 2.1 HPGL/2’.
Figure 54, page 11-9 shows the customizing area in the ‘plotface2.1’ file for the selection ‘Plotface 2.1 HPGL/2’:
11-8
11.3 Notes on the Operation of HPGL and HPGL/2 Output Devices
Figure 54
Customizing area for ‘Plotface 2.1 HPGL/2’
elif [ "$NAME" = "Plotface 2.1 HPGL/2" ]
then
# HPGL/2
dd=HPGLU
d=HP650C
#
#
#
#
#
#
#
# Device Driver
# Device-Keyword
HPGL P1/P2 plot area coordinates:
Only for HPGL-Plotters, n o t connected to a serial port
The values are used to create the ’HPSIZE’ file for the Uniplot HPGLR and
HPGLU device drivers to overwrite the hardcoded P1/P2 values.
Depending on the given lp-option (-oa0 ... -oa4, -oA0 ... -oA4), the
corresponding hpsizea? variable will be echoed into the ’HPSIZE’ file.
400 steps correspond to 1 cm.
# For HP-Plotters DIN A0 - DIN A4:
hpsizea0="-23780,-16820,23780,16820"
hpsizea1="-16820,-11880,16820,11880"
hpsizea2="-11880,-8400,11880,8400"
# hpsizea3="-8400,-5940,8400,5940"
# hpsizea4="-5940,-4200,5940,4200"
#
#
#
#
#
DIN-A0
DIN-A1
DIN-A2
DIN-A3
DIN-A4
format
format
format
format
format
(1189x841)
( 841x594)
( 594x420)
( 420x297)
( 297x210)
# For HP-Plotters DIN A3 - DIN A4:
hpsizea4="0,0,11880,8400"
hpsizea3="0,0,16800,11880"
...
...
# DIN A4 format ( 297x210)
# DIN A3 format ( 420x297)
Table 10 on page 11-20 lists all valid keywords for the Uniplot HPGLU postprocessor.
A serial connection requires the following settings on the output device:
Table 3
Uniplot HPGLR/HPGLU transmission parameters
Parameter
Setting
Serial connection:
Data bits
8
Parity
none
Stop bits
1
Baud
9600
Handshake
XON/XOFF
11-9
11.3 Notes on the Operation of HPGL and HPGL/2 Output Devices
11.3.1
DIN A4/A3 Printers (Laser, Ink Jet)
Almost all DIN A3/A4 output devices have HP7475 compatible emulation, and therefore can be operated with the
selection ‘Plotface 2.1 HPGL’. Simply change the keyword setting to ‘HR7475’.
Laser printers require a change-over sequence for HPGL operation which changes the laser printer over from PCL
mode to HPGL mode, and at the end back to PCL mode. In this case set the prepared variable ‘hplj’ to ‘YES’ (see figure 53, page 11-8). Then ‘plotface’ will automatically create the necessary start and end sequences.
Note: The original HP pen plotter HP7475A had a resolution of 402 steps/cm, instead of the usual 400 steps/cm. Laser
printers and other HP7475-emulating output devices are based on the correct 400 steps/cm. Therefore, using the Uniplot keyword ‘HR7475’ will output the plots a little too big!
Possible remedies are:
•
Changing the resolution in the ‘DHCFILE’ file of the Uniplot HPGLR postprocessor. Change the ‘INCREMENTS’ entry for the keyword ‘HR7475’ from ‘402’ to ‘400’, as described in section 9.7.1 “Making Changes in
the File DHCFILE” on page 9-13.
•
Changing the standard directive ‘SCALE=1\$’ to ‘SCALE=0.995\$’.
•
Using the selection ‘Plotface 2.1 HPGL/2’ and the keyword ‘LASERJET4’ or ‘LASERJET4R’.
11.3.2
HP75XX Series Pen Plotters
When using a pen plotter without internal optimization, it is recommended that ICEM DDN plot file optimization be
enabled. This is done at the following place in the customizing area of ‘plotface2.1’:
ICEM DDN optimizer parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
optprms="coin=OFF dup=OFF zero=OFF grid=OFF pc=OFF stats=ON"
Change all values from ‘OFF’ to ‘ON’. The meaning of the optimizer parameters is given in Table 5 on page 11-16.
A different keyword must be used for single-sheet operation than for roll paper operation. Otherwise there is the danger that a single sheet plot which has not yet been taken out of the plotter could be overwritten by a subsequent plotting job. The keywords for roll paper operation end with the letter ‘R’. The responsible entry in the ‘DHCFILE’ or
‘DHCEXT’ file is the ‘DEF. MODE’. For single-sheet operation this is ‘SELECTIVE’, and for roll paper operation it
is ‘LINEAR’.
During a serial connection ‘plotface’ attempts to find out the size and orientation of the inserted paper from the output
device using HPGL output requests. The corresponding feedback from the plotter is used to create the ‘HPSIZE’ file.
The ‘plot log’ file of the affiliated plot queue contains detailed information about the plotting area reported back to
‘plotface’ (also converted into mm).
11.3.3
DesignJet Series Raster Plotters
HP’s successful DesignJet series has almost completely replaced the use of pen plotters. The DesignJet 6xx/7xx series
can be operated either with the selection ‘Plotface 2.1 HPGL’ or with ‘Plotface 2.1 HPGL/2’. The default keywords in
‘plotface’ can be left as they are. The possible keywords for the DesignJet are given in Table 10 on page 11-20.
The plotter should have the following settings:
11-10
11.3 Notes on the Operation of HPGL and HPGL/2 Output Devices
Table 4
DesignJet settings
Parameter
Setting
Language
HPGL/2, HP7586
Paper size
Plotting area
Pen palette
Palette or software
The capability of the plotter to queue received plots and nest them in order to minimize paper use requires expanding
the plotter’s memory to at least 8 MB.
Pen attributes such as color and stroke width can either be set through a pen palette default on the plotter, or through
the software. The appropriate operating mode must be set on the plotter (see Table 4 on page 11-11). If software control of the attributes is desired, the necessary entries must be made in the ‘plotface’ file, or, if ‘Plotface 2.1 HPGL/2’ is
selected, in the ‘DHCEXT’ file of the Uniplot HPGLU postprocessor. This is because of the fact that ICEM applications output a pen number as a single pen attribute. Thus, Uniplot cannot obtain the additionally needed pen attributes
from the plot files of ICEM applications.
The following figure shows the section of the ‘DHCEXT’ file with the default pen attributes for a DesignJet.
11-11
11.3 Notes on the Operation of HPGL and HPGL/2 Output Devices
Figure 55
Definition of pen attributes in the ‘DHCEXT’ file
*
* THIS SECTION RESERVED FOR HPGL2 PLOTTERS
*
DEVKEYWORD=******;
PARITY=NONE; DATABITS=8;
FORMAT=HPGL2; PAPERADV=A;
DDOPT,1=BASE=64; LONGAXIS=NO; PS=YES; PW=YES; HC=YES;
*
*
HPON=ESC . Y HPOFF=ESC . Z
*DDOPT,2=HPON=27,46,89; HPOFF=27,46,90;
*
PENMAP=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0;
PENTHICK=0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,\
0.35,0.35,0.35;
*
HPON IN IP IW NP PW CR PC CS CA SP PA
BEGPLOT=901,913,801,802,805,806,807,808,910,911,803,804;
*
HPOFF
ENDPLOT=902;
*
COLOREXT=0,255,0,255,0,255;
PENCOLOR=1,0,0,0;
PENCOLOR=2,255,0,0;
PENCOLOR=3,0,255,0;
PENCOLOR=4,255,255,0;
PENCOLOR=5,0,0,255;
PENCOLOR=6,255,0,255;
PENCOLOR=7,0,255,255;
PENCOLOR=8,0,0,0;
PENCOLOR=9,255,0,0;
PENCOLOR=10,0,255,0;
PENCOLOR=11,255,255,0;
PENCOLOR=12,0,0,255;
PENCOLOR=13,255,0,255;
PENCOLOR=14,0,255,255;
PENCOLOR=15,0,0,0;
PENCOLOR=16,255,0,0;
*
DEVKEYWORD=HP650C; INTKEYWORD=HR7586; DDNAME=HPGLU; PROMPT=NO;
DEVMODE=LINEAR; PLOTUNITS=CM; INCREMENT=400;
NUMPENS=16; SURFACE=110.95,78.7;
HWCHAR=YES; LCCHAR=YES; HWDOT=YES; HWDASH=YES; HWARC=YES;
HWRCTF=YES; HWRCTS=NO; HWPLYF=NO; HWPLYS=NO; HWSCTF=YES; HWSCTS=NO;
PAPERADV=A; PLOTCOOR=-20840,-16180,20840,16180;
*
It can be seen that all pens have been pre-assigned a stroke width of 0.35 mm. The color definitions expect data in
RGB notation1. The value ‘0’ designates none of the respective color, and the value ‘255’ sets it to its maximum. The
HP DesignJet offers the capability of making a test printout of 256 color settings. The color data is printed under the
color rectangles in RGB notation.
1.
11-12
Red Green Blue components for a color.
11.4 Notes on the Operation of PostScript Output Devices
Before the Uniplot HPGLU postprocessor became available, the pen attributes for an HP DesignJet had to be communicated in advance using the start sequence mechanism in the ‘plotface’ file. For this purpose the variable ‘startsequ’
was assigned a string with the HPGL/2 commands such as ‘PC’ and ‘PW’ for definition of color and stroke width.
Examples of this are given in section 9.3 “Entering and Changing a Start and End Sequence” on page 9-6.
11.4
Notes on the Operation of PostScript Output Devices
As a rule, powerful laser printers use the PostScript format. Uniplot creates vector data in PostScript format with its
POSTSC postprocessor. When the keyword ‘PSLINE’ is used, output takes place in different stroke widths, and when
the keyword ‘PSCOLOR’ is used, it takes place in different colors. The color cannot be defined, but rather is specified
by Uniplot.
The following figure shows the customizing area for the selection ‘Plotface 2.1 PostScript’. The variables ‘llx, lly,
urx, ury’ can be used to specify the available plotting area using ‘inches’ as the unit of length (up to 128 inches x 128
inches).
Figure 56
Customizing area for ‘Plotface 2.1 PostScript’
elif [ "$NAME" = "Plotface 2.1 PostScript" ]
then
# PostScript
dd=POSTSC
d=PSLINE
# Device Driver
# Device-Keyword (use PSCOLOR for color output)
# Plotregion definition for the POSTSC driver (up to 128x128 inches)
# DIN A4
llx=0
lly=0
urx=7.87
ury=11.3
#
#
#
#
Lower
Lower
Upper
Upper
left x in inches
left y in inches
right x in inches (=> 200 mm)
right y in inches (=> 287 mm)
#
#
#
#
#
#
#
#
#
Lower
Lower
Upper
Upper
left x in inches
left y in inches
right x in inches (=> 287 mm)
right y in inches (=> 410 mm)
DIN A3
llx=0
lly=0
urx=11.3
ury=16.14
11.4.1
troke Widths
The stroke widths created by Uniplot are likewise specified. In order to obtain finer grading, approximating that specified by DIN, ‘plotface’ postprocesses the plot file created by Uniplot. In the process, it attains the following stroke
widths:
Pen number:
1
2
3
4
...
11-13
11.4 Notes on the Operation of PostScript Output Devices
Stroke
width[mm]
0.25
0.30
0.35
0.40
...
The following figure shows the section toward the end of the ‘plotface2.1’ file which is responsible for manipulating
the stroke width in a Uniplot PostScript file.
Figure 57
Customizing stroke width in a PostScript file
# If the ’POSTSC’ device driver was used, substitute the setlinewidth
# PostScript command by a mathematic expression to get line width steps
# by 0.05 mm.
if [ "$dd" = "POSTSC" ]
then
if [ ! -f ./PLOTF ]
then
echo "Plotfile ’PLOTF’ expected, but not found!" >> $plotlog
echo "Abort plot-request ...\n\n$del" >> $plotlog
exit 13
fi
mv PLOTF PLOTF1
sed ’s/setlinewidth/3.6 mul 14.4 add 25.4 div setlinewidth/’ PLOTF1 > PLOTF
#
# Use the following line instead, if hair line width is required.
# sed ’s/setlinewidth/0 mul setlinewidth/’ PLOTF1 > PLOTF
#
rm PLOTF1
fi
The beginning of the PostScript file created by Uniplot redefines the PostScript commands into shorter expressions.
Thus, for example, ‘setlinewidth’ is abbreviated as ‘slw’. The ‘plotface’ file takes advantage of this by inserting a
mathematical expression into the ‘slw’ command; this expression is in PostScript syntax and calculates the pen number, so that an increase in stroke widths is attained, as shown in the above table. If it is desired to attain the finest possible stroke width (hair line, the same for all pens), the second ‘sed’ line has to be uncommented (see figure 57,
page 11-14).
11.4.2
DIN A4/A3 Laser Printers
Meanwhile, there are a number of PostScript-capable laser printers in DIN A3 format. These devices often also have
an additional paper tray for sheets in DIN A4 format.
If the printer allows software selection of the paper tray, ‘plotface’ can be expanded to take advantage of this capability. The way this is done depends on the manner in which the printer selects the paper tray.
In the simplest case this can be done by a command preceding the PostScript file. Then the start sequence can be set
accordingly in the ‘plotface’ file, depending on the format size which is passed on. However, printers of this type
often require that the commands be incorporated into the PostScript file which is to be output.
For example, for the QMS 860 laser printer the command to be inserted is ‘statusdict begin a4tray/a3tray end’.
In this case, the following changes would be necessary in the ‘plotface’ file:
11-14
11.5 Supporting Other Output Devices
•
In the section which checks the options which are passed on, such as ‘a3, A3, a4, A4’, the plotting area variables
‘urx’ and ‘ury’ must be set according to the format. A new variable ‘tray’ should be set, which will control the
manipulation of the Uniplot PostScript file, which will still be necessary later.
•
The ready PostScript file should be manipulated before it is output, in the section ‘Output or process the ready to
plot plotfile PLOTF’ using the newly introduced format variables, in order to insert the necessary commands into
it for the selection of the paper tray.
The manipulation of the Uniplot PostScript file ‘PLOTF’ would then look like this:
Figure 58
Incorporation of paper tray selection into the PostScript file 'PLOTF'
#----------------------------------------------------------------------------#
# Output or process the ready to plot plotfile PLOTF
#
#----------------------------------------------------------------------------# Insert the paper tray select command
echo ″%!″ > PLOTF.temp# Create temp file
# with PS header
if [ ″$tray″ = ″a4″ ]
then
echo ″statusdict begin a4tray end″ >> PLOTF.temp# Select A4 tray
else
echo ″statusdict begin a3tray end″ >> PLOTF.temp# Select A3 tray else
fi
sed ″1d″ PLOTF >> PLOTF.temp# Append plotfile
# except 1st line
mv PLOTF.temp PLOTF# Move PLOTF.temp to PLOTF
/bin/cat ./PLOTF
# No redirection! The LP-Spooler does it for us!
# The above line may be replaced by any code processing the plotfile in
# any different way (i.e. ftp, rcp, lpr it to another system).
# rm PLOTF
mv PLOTF plotf
11.5
# Remove or move the plot file. This is important
# due to the fact that Uniplot just opens the file
# to write in without clearing it first!
Supporting Other Output Devices
Output devices which cannot process one of the vector formats supported by Uniplot require additional software
which can create the required format from one of the vector formats which is offered.
Economical color printers which can only process either the PCL1 or the ESC/P2 formats are examples of this. These
devices require the optional product ‘Impressario Server’ for IRIX. This software contains a PostScript interpreter
and can create PCL as well as ESC/P formats.
1.
2.
E.g., the HP DeskJet series.
E.g., the Epson Stylus II color ink jet printer.
11-15
11.6 Manual Use of the Uniplot Preprocessors and Postprocessors
The PlotServer Package is customized by using the LP queue template ‘Plotface 2.1 PostScript’, but, instead of using
the ‘cat’ command to output the PostScript file which is created, it is passed on to the Impressario software, which
has final control of the output device.
By supporting the PostScript format the ‘Impressario Server’ software offers ideal integration with the IRIX system.
This is because this format allows optimal use to be made of all IRIX application programs, which create only PostScript files. This makes it possible to output screendumps1, vector plots, and the output of the IRIX programs Insight2,
Showcase3, etc., on non-PostScript-compatible devices.
11.6
Manual Use of the Uniplot Preprocessors and Postprocessors
Manual use of the Uniplot postprocessors requires an input file in the neutral Uniplot format ‘NPFILE’. Preprocessors
can be used to create this format from the ICEM application plot formats as follows:
ICEM DDN - tape9:
/icem/bin/optim i=tape9_file o=NPFILE fmt=NPFILE
Duct - plot.npf
/duct/plotter/ductuni -iplot.npf
ICEM Surf creates this format directly, so that in this case no preconversion is necessary. When using the programs
‘optim’ and ‘ductuni’ make sure that there is not already a file having the name ‘NPFILE’ in the current directory,
otherwise the plot file will be appended to it. The programs ‘optim’ and ‘ductuni’ are also found in the ICEM PlotServer installation directory under the subdirectory ‘app2uni’.
The program ‘optim’ also offers a series of other parameters which can be passed and which can be used to control the
plot file optimization (e.g., the sorting of vectors by pen, deletion of overlapping vectors, etc.). However, as a rule,
optimization is not necessary if the final output of the plot file is to be done on a raster device. And this ‘optim’ process can require a great deal of computing time and working memory. For the sake of completeness, here is a table
giving the possible ‘optim’ parameters4.
Table 5
Optimization parameters of the ‘optim‘ program
Parameter
Description
zero=[ON,OFF]
Remove vectors with length
dup=[ON,OFF]
Remove duplicate vectors
coin=[ON,OFF]
Combine overlapping vectors
pc=[ON,OFF]
Sort by pen
grid=[ON,OFF]
Optimize in an imposed raster
stats=[ON,OFF]
Display optimization statistics
1.
2.
3.
4.
11-16
Created with the IRIX program ‘snapshot’ or ‘scrsave’.
IRIX Online manuals.
A simple IRIX DTP multimedia program.
In the ‘plotface’ file the ‘optim’ parameters are controlled by the ‘optprms’ variable.
11.6 Manual Use of the Uniplot Preprocessors and Postprocessors
Manual use of the Uniplot postprocessors is made through the ‘unipost’ script. This requires an environment variable
‘UNIPLOT’ whose value is the path to the Uniplot directory:
setenv UNIPLOT <PlotServer_installation_directory>/uniplot
$UNIPLOT/unipost dd=pp_name d=keyword f=NPFILE p=output_file pd=OFFLINE
Where the meaning of the ‘unipost’ switches is as follows:
•
’dd=’ designates the Uniplot postprocessor. Thus, one of the values ‘CAL907’, ‘CALPM’, ‘HPGLR’, ‘HPGLU’
and ‘POSTSC’ should be specified here.
•
’d=’ gives the keyword to use (see the tables with all keywords in section 11.7 “Notes about Uniplot Version 3.3
Release 01” on page 11-18).
•
’f=’ specifies the input file. As a rule, this has the file name ‘NPFILE’.
•
’p=’ specifies the output file name. If a serial port (e.g., /dev/ttyd2) is specified instead of a file name, then Uniplot
communicates directly with the output device. It is not possible to specify the parallel port /dev/plp.
•
’i=’ can be used to specify an input file, which can communicate the necessary answers to the postprocessor when
the generic keyword is used. If this is missing, the questions of the postprocessor must be answered interactively.
Even the request for input directives made by the postprocessor with all keywords can be answered automatically
using this file.
•
’pd=’ communicates to the postprocessor whether it should communicate interactively with the output device (if
so, use the value ‘ONLINE’, otherwise ‘OFFLINE’).
After the Uniplot postprocessor starts, the request to enter directives appears. Here either only a <CR> should be
entered (= no directives), or the possible directives can be entered separated by the ‘*’ character and terminated by a
‘$’ character. If no directives are issued, then Uniplot uses the standard directive ‘DRAW=1$’. This processes the first
plot in the file ‘NPFILE’ with possible scaling down to the plotting area specified by the keyword.
Thus, in order to be certain to obtain a scaled plot, the directive ‘SCALE=1$’ should be entered.
Figure 59
Running the Uniplot postprocessor manually
mistral: wku > setenv UNIPLOT /usr/applications/plotserver4.1/uniplot
mistral: wku > $UNIPLOT/unipost dd=HPGLU d=HR7475 f=NPFILE p=plot.hpg pd=OFFLINE
UNIPOST V3.3 RELEASE 01
COPYRIGHT CONTROL DATA 1995
PLEASE ENTER DIRECTIVES.
SCALE=1$
mistral: 112 wku > head plot.hpg
Y
@9999;2:
M50;10;03:N10;19:I150;0;17:
@9999;2:
IP522,259,15722,10258;
IW522,259,15722,10258;CS0;SP1;PA522,259;
PA522,259,6150,674;PD;PA4542,674;PU;PA6150,2282;PD;PA6150,674;PU;
PA4542.0,2282.0;PD;PA6150,2282;PU;PA4542,674;PD;PA4542,2282,5001,2282;PU;
PA4961,1244;PD;PA4961,2282;PU;PA4979,2141;PD;PA4961,2282,4942,2141,4979,2141;PU;
mistral: 117 wku >
11-17
11.7 Notes about Uniplot Version 3.3 Release 01
The result obtained will be the plot file specified with the ‘p=’ switch, which can now be output or undergo further
processing.
The following table shows once again the most important Uniplot directives:
Table 6
The most important Uniplot directives
Directive
Description
DRAW=1
Standard directive, use autoscaling
SCALE=Factor
Scale by the given factor
SCALE=x-Factor,y-Factor
Scale asymmetrically
ROTATE=ON
Rotate plot by 90× counterclockwise
11.7
Notes about Uniplot Version 3.3 Release 01
A new version of Uniplot is supplied with the ICEM PlotServer Package. This new version of Uniplot no longer contains the postprocessors ‘HPGLRB’ and ‘POSTSCB’. Their functionality has been taken over by the ‘HPGLR’ and
‘POSTSC’ postprocessors. The file ‘plotface2.1’ has been arranged to work together with Uniplot version 3.3 release
01.
Another innovation in Uniplot is the new, universal HPGL-HPGL/2 postprocessor ‘HPGLU’. This postprocessor uses
a new DHC file in ASCII format. Thus, it is easier to make changes. Furthermore, the number of possible changes has
also been adapted to the new capabilities of raster output devices.
The following tables list all Uniplot postprocessors and their keywords. However, as a rule, the keywords used automatically by ‘plotface2.1’ or those recommended in section 11.2 “Notes on the Operation of CalComp CAL907 Output Devices” on page 11-4 through section 11.4 “Notes on the Operation of PostScript Output Devices” on page 11-13
are all that are needed.
11.7.1
Table 7
The Uniplot Postprocessors and their Keywords
CAL907 Keywords
Keyword
Model
C7936
Model 936
C7945
Model 945
C7960
Model 960
C7965
Model 965
C7970
Model 970
C71037
Model 1037
C71039
Model 1039
C71041
Model 1041
11-18
11.7 Notes about Uniplot Version 3.3 Release 01
Keyword
Model
C71042C
Model 1042 with cut paper option
C71042R
Model 1042 with roll paper option
C71043
Model 1043
C71044C
Model 1044 with cut paper option
C71044R
Model 1044 with roll paper option
C71051
Model 1051
C71055
Model 1055
C71060
Model 1060
C71065
Model 1065
C71073C
Model 1073 with cut paper option
C71073R
Model 1073 with roll paper option
C71075C
Model 1075 with cut paper option
C71075R
Model 1075 with roll paper option
C71077C
Model 1077 with cut paper option
C71077R
Model 1077 with roll paper option
CP5732
Model 5732 - 200 dots per cm
CP5734
Model 5734 - 400 dots per cm
CP5742
Model 5742 - 200 dots per cm
CP5744
Model 5744 - 400 dots per cm
CP5752
Model 5752 - 200 dots per cm
CP5754
Model 5754 - 400 dots per cm
CAL907
Generic keyword
Table 8
CALPM Keywords
Keyword
Model
CX1023
Model 1023
X1041
Model 1041
X1042C
Model 1042 with cut paper option
X1042R
Model 1042 with roll paper option
X1043
Model 1043
X1044C
Model 1044 with cut paper option
X1044R
Model 1044 with roll paper option
CX5723
Model 5723 - 200 dots per cm
11-19
11.7 Notes about Uniplot Version 3.3 Release 01
Keyword
Model
CX5725
Model 5725 - 400 dots per cm
CX5733
Model 5733 - 200 dots per cm
CX5735
Model 5735 - 400 dots per cm
V8524
Versatec Model 8524 (Calcomp emulation)
V8536
Versatec Model 8536 (Calcomp emulation)
CALPM
Generic keyword
Table 9
HPGLR Keywords
Keyword
Model
HR7220A
Model 7220A
HR7220C
Model 7220C
HR7220S
Model 7220S
HR7220T
Model 7220T
HR7470
Model 7470A
HR7475
Model 7475A
HR7550
Model 7550A
HR7550S
Model 7550A - automatic sheet feed
HR7580
Model 7580B
HR7585
Model 7585B
HR7586
Model 7586B - sheet mode
HR7586R
Model 7586B - roll mode
HR7586L
Model 7586B - long axis mode
HR7596
Model 7596B - sheet mode
HR7596R
Model 7596B - roll mode
HR7596L
Model 7596B - long axis mode
HPGLR
Generic keyword
Table 10 HPGLU Keywords
Keyword
Model
Alle HPGLR-Schlüsselwärter außer HPGLR
HP650C
11-20
DesignJet 650C - (all HPGL/2 plotters can use a copy of
this keyword by changing parameters such as size, number
of pens, etc.)
11.8 The LP Spooler Interface File ‘plotface2.1’
Keyword
Model
HP650CL
DesignJet 650C - Prints Long Axis plots using the PS command.
HP650CM
DesignJet 650C - Manual paper advance - sheet paper feed
HP650CR
DesignJet 650C - Same as HP650C keyword but it will
rotate the plot to save paper.
LASERJET4
LaserJet 4 with PCL5 and HPGL/2 - portrait mode
LASERJET4R
LaserJet 4 with PCL5 and HPGL/2 - landscape mode
Table 11 POSTSC Keywords
Keyword
Model
APPLE
Apple Laser Writer
PSLINE
Line thickness varies with pen number
PSCOLOR
Color varies with pen number
QMS
QMS PS 810
FRAME
FrameMaker (no embedded image)
IMAGE
FrameMaker (with embedded image)
POSTEN
Encapsulated PostScript
POSTSC
Generic keyword
11.8
The LP Spooler Interface File ‘plotface2.1’
The LP spooler interface file ‘plotface’ has already been mentioned in many places in this manual. The innovations
and changes in it compared with the previous version 2.0, which was supplied with ICEM PlotServer Package 4.0, are
listed below.
Following that, a full-length listing of the file ‘plotface2.1’ is printed out with line numbers for reference purposes.
11.8.1
Innovations and Changes in ‘plotface2.1’
Version 2.1 of the ‘plotface’ file, referred to in short as ‘plotface2.1’, contains many practical enhancements as
well as adaptations to the current versions of IRIX. These enhancements and adaptations have pursued essentially two
goals:
•
Compatibility with the IRIX 5.x/6.x Printer Manager
Both defining the local plot queue on the plot server and setting up network queues on the client workstation can,
as a rule, be done in a graphical manner with the IRIX Printer Manager without further intervention in (i.e. customization of) the ‘plotface’ file. During queue definition the desired plotter format can be conveniently selected,
and the ‘plotface’ file is automatically configured.
11-21
11.8 The LP Spooler Interface File ‘plotface2.1’
•
Further expansion of the customizing area and its clear separation from the code area
The result is that all customizations which are possible for a given plotter format have been grouped together in an
understandable way. Expansions in the code area of ‘plotface’ are only necessary in a few exceptional cases.
Other important changes are:
•
Support of floating licenses (network license)
Using floating licenses can make independant from a dedicated plot server. Then the ICEM PlotServer Package
may be installed and customized on any/each workstation having access to the license server. In case of a license
conflict due too less licenses plotface2.1 retries per default up to 50 times the current plot request. After that number of retries the plot job is cancelled and a note is written in to the plotlog file.
•
Performance improvements
Big plot files slowed down the detection of the plot format. Now the performance is greatly improved.
•
Prepared support of the multi copy feature of printers/plotters
Some printers/plotters support multi copies of print requests on their own. The necessary printer/plotter commands
may be defined in the prepared start sequence. The number of copies is defined by the lp command option ‘-n#’
(with # = nr of copies).
•
Prepared transfer of the ready to plot plot file to the BSD spooling system
Plotface2.1 offers easy transfer of the ready to plot plot file to the BSD spooling system by prepared, minimal to
customize command lines.
The next section gives a complete listing of the file ‘plotface2.1’ printed out for reference purposes.
11.8.2
Listing of the LP Spooler Interface File ‘plotface2.1’
Note
Compared with the file on your harddisk we made some minor editorial changes in the following listing in order to
keep it readable on-line in PDF as well as in HTML format.
The file on your harddisk drive is the relevant resource !!!
1
#!/bin/sh
2
#
3
# ---------------------------------------------------------------------
4
#
5
#
6
#
7
# Plotter LP-Spooler Script
8
# Author: W. Kunert, Mgr. European HELPdesk, Neu-Isenburg, Germany
9
#
ICEM Technologies, Division of Parametric Technology
10
# Revision: 2.1
11
#
12
#----------------------------------------------------------------------
13
# H O W
14
#
15
# DESCRIPTION:
16
#
17
# - This version of ’plotface’ supports the Uniplot Device drivers
11-22
T O
|
Date: 15.01.1999
I N S T A L L
|
ICEM PlotServer Package 4.1
’P L O T F A C E’:
11.8 The LP Spooler Interface File ‘plotface2.1’
18
#
19
# - Supported Ports: /dev/ttyd*, /dev/plp (see remark).
CAL907, (CALPM), HPGLR, HPGLU, POSTSC of the Uniplot Release V3.x
20
# - Supported Plot Files: a) ICEM DDN tape9
21
#
b) ICEM Duct npfile (Duct Version 4.4, 5.x)
22
#
c) Uniplot NPFILE
23
#
24
# INSTALLATION:
25
#
26
# 1) If a serial port is used, make sure there are no processes running
27
#
28
#
There is no need to define a running ’sleep’ on a serial port.
29
#
’plotface’ handles this automatically!
(DDN Version 2.x, 3.x)
(Uniplot Version 3.x)
on the desired port (/etc/inittab).
30
# 2) Copy this ’plotface’ script to /usr/spool/lp/model,
31
#
32
# 3) On IRIX use as Superuser either the graphical ’Printer Manager’
33
#
and open the Printer Manager to add a lp-device or
34
#
enter on command level:
35
#
36
#
37
#
38
#
39
#
model set to the name of the ’plotface’ script
40
#
in the directory /usr/spool/lp/model.
41
#
name
42
#
43
#
44
#
45
#
46
#
47
# 4) If the lp-queue was installed via the ’lputil’ command, ’plotface’
48
#
must be customized in the ’CUSTOMIZING AREA’. At least the
49
#
variable NAME must be set correctly.
50
#
51
# 5) To create a network LP-queue on a client use either again the
52
#
53
#
54
#
55
#
56
#
57
#
server
set to the hostname of the server ws.
58
#
name
set to the LP-Spooler name on the server ws.
59
#
60
# USAGE:
61
#
giving owner&group to lp and permissions 755.
/usr/lib/lputil add dev model name
with: dev
set to the desired port (/dev/ttyd*, /dev/plp)
set to the desired LP-Spooler device name.
If ICEMview is installed, create a plotter icon by entering:
$ICEM_VIEW/util/lp_autodetect
’Printer-Manager’ of IRIX or just enter:
mknetpr localname server name
with: localname set to the desired LP-Spooler name on the client.
62
# To use a defined ’plotface’ LP-Spooler device for plotting, enter:
63
#
64
#
65
#
66
#
67
#
68
#
69
#
70
#
lp -dname -ooptions plotfile
with: name
options
set to the LP-Spooler device name.
set to any quoted combination of respected
options (See lines 465 to 559)
plotfile set to the pathname of the plotfile
11-23
11.8 The LP Spooler Interface File ‘plotface2.1’
71
#
The plotfile needs permissions 644,
72
#
the directory of the plotfile needs permissions 755.
73
#
74
# IMPORTANT REMARK:
75
#
76
# This version of ’plotface’ plots on disk first (file PLOTF) and
77
# cats it on the port. Even if no plotting on a port is desired
78
# the port /dev/plp should be used when creating the lp-queue. The port
79
# /dev/null is no longer supported as in prior versions of ’plotface’!
80
# This circumvents problems with the IRIX Printer Manager and the
81
# ’mknetpr’-command.
82
# Code to process the plotfile may be added after the line headed
83
# ’# Output or process the ready to plot plotfile PLOTF’
84
#
85
#----------------------------------------------------------------------
86
#
87
# Variables for script-internal usage - don’t change!
88
#
89
#----------------------------------------------------------------------
90
plotter="‘basename $0‘" # lp-spooler device name
91
seqid="$1"
# request id
92
name="$2"
# user name
93
title="$3"
# title string (lp -t) - won’t be used by default!
94
copies=$4
# number of copies (lp -n) - won’t be used by default!
95
options="$5" # options string (lp -o)
96
pfile="$6"
97
plotlog="plotlog"
98
del="================================================================="
99
port="‘cat /usr/spool/lp/member/$plotter | grep /dev/‘"
# only 1 plotfile will be plotted!
100
p="$port"
101
ssequsent="false"
102
inpdirs=""
103
#---------------------------------------------------------------------
104
#---------------------------------------------------------------------
105
#- START OF CUSTOMIZING AREA -----------------------------------------
106
#---------------------------------------------------------------------
107
#---------------------------------------------------------------------
108
# Information for the IRIX 5.x/6.x Printer Manager, don’t change!
109
# NAME=Plotface 2.1 Cal907
110
# NAME=Plotface 2.1 HPGL
111
# NAME=Plotface 2.1 HPGL/2
112
# NAME=Plotface 2.1 PostScript
113
# Set the NAME variable below to 1 of the 4 values shown above,
114
# filling the double quotes with 1 of the 4 strings shown above.
115
# The NAME variable below will be set autom. by the Printer Manager,
116
# if the IRIX Printer Manager is used to install the plot queue!
11-24
11.8 The LP Spooler Interface File ‘plotface2.1’
117
NAME=""
118
#
119
TYPE="Plotface 2.1"
120
# License file variable, uncomment and adapt path if necessary
121
# LM_LICENSE_FILE=/icem/lic/license.dat; export LM_LICENSE_FILE
122
# Uniplot parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
123
# The ’if’-blocks below define, according to the value of the variable
124
# NAME, the Uniplot device driver and keyword to be used. It might be
125
# necessary to change manually the keyword definition to a value as
126
# described in the ICEM PlotServer User and Administrator Manual.
127
if [ "$NAME" = "Plotface 2.1 Cal907" ]
128
then
129
# Generic CalComp Cal907
130
dd=CAL907
131
d=CAL907
# Device Driver
# Device-Keyword
132
# Cal907 parameters (Uniplot standard values):
133
# Definition for the Generic CAL907 driver (dd=CAL907, d=CAL907):
134
# No. of Pens, Steps/cm, Paper Length/Width, Sync/EOB-Codes, Chksum
135
nrpens=8
# Number of Pens
136
steps=800
# Steps per cm
137
plength=3600 # Paper Length in cm
138
pwidth=86.4
# Paper Width in cm
139
sync=94
# Double Sync Code with value 94 dez
140
# A negative value will generate Single Sync
141
eob=13
# End Of Block (EOB) Code with value 13 dez
142
csum=N
# Checksum (Y)es/(N)o
143
inpdirs="$nrpens\n$steps\n$plength\n$pwidth\n$sync\n$eob\n$csum"
144
elif [ "$NAME" = "Plotface 2.1 Calpm" ]
145
then
146
# CalComp CALPM, this device drive seems to be obsolete.
147
# Mentioned here just for compatibility.
148
dd=CALPM
149
d=CX1044R
# Device Driver
# Device-Keyword
150
elif [ "$NAME" = "Plotface 2.1 HPGL" ]
151
then
152
# HPGL
11-25
11.8 The LP Spooler Interface File ‘plotface2.1’
153
dd=HPGLR
154
d=HR7586R
# Device Driver
# Device-Keyword
155
# HPGL P1/P2 plot area coordinates
156
# Only for HPGL-Plotters,
157
# The values are used to create the ’HPSIZE’ file for the Uniplot
158
# HPGLR and HPGLU device drivers to overwrite the hardcoded
159
# P1/P2 values. Depending on the given lp-option (-oa0 ... -oa4,
160
#
161
# echoed into the ’HPSIZE’ file. 400 steps correspond to 1 cm.
162
# For HP-Plotters DIN A0 - DIN A4:
163
hpsizea0="-23780,-16820,23780,16820"
164
hpsizea1="-16820,-11880,16820,11880"
# DIN-A1 format ( 841x594)
165
hpsizea2="-11880,-8400,11880,8400"
# DIN-A2 format ( 594x420)
166
# hpsizea3="-8400,-5940,8400,5940"
# DIN-A3 format ( 420x297)
167
# hpsizea4="-5940,-4200,5940,4200"
# DIN-A4 format ( 297x210)
168
# For HP-Plotters DIN A3 - DIN A4:
169
hpsizea4="0,0,11880,8400"
# DIN A4 format ( 297x210)
170
hpsizea3="0,0,16800,11880"
# DIN A3 format ( 420x297)
171
# Laser/Inkjet-printers as plotters with HP7475A emulation.
172
# Switch 1 of the values below from NO to YES to use predefined
173
# start/end-sequences for the printer/plotter.
174
hplj=NO
# HP Laserjet
175
pjxl=NO
# PaintJet XL300 (YES, NO)
n o t
connected to a serial port.
-oA0 ... -oA4), the corresponding hpsizea? variable will be
(YES, NO)
176
elif [ "$NAME" = "Plotface 2.1 HPGL/2" ]
177
then
178
# HPGL/2
179
dd=HPGLU
180
d=HP650C
# DIN-A0 format (1189x841)
# Device Driver
# Device-Keyword
181
# HPGL P1/P2 plot area coordinates:
182
# Only for HPGL-Plotters,
183
# The values are used to create the ’HPSIZE’ file for the Uniplot
184
# HPGLR and HPGLU device drivers to overwrite the hardcoded
185
# P1/P2 values. Depending on the given lp-option (-oa0 ... -oa4,
186
# -oA0 ... -oA4), the corresponding hpsizea? variable will be
187
# echoed into the ’HPSIZE’ file. 400 steps correspond to 1 cm.
188
# For HP-Plotters DIN A0 - DIN A4:
189
hpsizea0="-23780,-16820,23780,16820"
# DIN-A0 format (1189x841)
190
hpsizea1="-16820,-11880,16820,11880"
# DIN-A1 format ( 841x594)
191
hpsizea2="-11880,-8400,11880,8400"
# DIN-A2 format ( 594x420)
192
# hpsizea3="-8400,-5940,8400,5940"
# DIN-A3 format ( 420x297)
193
# hpsizea4="-5940,-4200,5940,4200"
# DIN-A4 format ( 297x210)
11-26
n o t
connected to a serial port
11.8 The LP Spooler Interface File ‘plotface2.1’
194
# For HP-Plotters DIN A3 - DIN A4:
195
hpsizea4="0,0,11880,8400"
# DIN A4 format ( 297x210)
196
hpsizea3="0,0,16800,11880"
# DIN A3 format ( 420x297)
197
elif [ "$NAME" = "Plotface 2.1 PostScript" ]
198
then
199
# PostScript
200
dd=POSTSC
201
d=PSLINE
# Device Driver
# Device-Keyword (use PSCOLOR for color output)
202
# Plotregion definition for POSTSC driver (up to 128x128 inches)
203
# DIN A4
204
llx=0
# Lower left x in inches
205
lly=0
# Lower left y in inches
206
urx=7.87
# Upper right x in inches (=> 200 mm)
207
ury=11.3
# Upper right y in inches (=> 287 mm)
208
# DIN A3
209
# llx=0
# Lower left x in inches
210
# lly=0
# Lower left y in inches
211
# urx=11.3
# Upper right x in inches (=> 287 mm)
212
# ury=16.14
# Upper right y in inches (=> 410 mm)
213
inpdirs="$llx\n$lly\n$urx\n$ury"
214
else
215
echo "No NAME variable defined!" >> $plotlog
216
echo "Check the Customizing Area of plotface." >> $plotlog
217
echo "Abort plot-request ...\n\n$del" >> $plotlog
218
exit 5
219
fi
220
# Path to Uniplot <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
221
plotserver=/usr/applications/plotserver4.1
222
# Default directives <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
223
directive1="SCALE=1\$"
224
directive2="NONE*"
225
# any Uniplot directive has to end with an ’*’
# (ROTATE=ON, ORIGIN=x.x,y.y, etc)
226
# Path to the ICEM DDN converter program (tape9 -> NPFILE) <<<<<<<<<<<
227
ddn2npf=$plotserver/app2uni/optim
228
# Path to the ICEM DUCT converter program (duct.npf -> NPFILE) <<<<<<<
229
duct2npf=$plotserver/app2uni/ductuni
11-27
11.8 The LP Spooler Interface File ‘plotface2.1’
230
# Path to the HPGL to NPFILE converter program (HPGL -> NPFILE) <<<<<<
231
hp2npf=$plotserver/app2uni/hp2npf
232
# ICEM DDN optimizer parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
233
optprms="coin=OFF dup=OFF zero=OFF grid=OFF pc=OFF stats=ON"
234
# Enable/Disable auto sleep setup/verify function
235
autosleep="YES"
236
# Enable/Disable dumping of non ICEM plotfiles directly on the port
237
dumpnonicem="NO"
238
#---------------------------------------------------------------------
239
# Room for plotter specific start/end ’escape’ sequences
240
startsequ=""
241
endsequ=""
242
if [ -n "$copies" ]
243
then
244
# Assign code here controlling the multi copy feature of your plotter
# (YES, NO)
# (YES, NO)
245
startsequ=$startsequ""
246
endsequ=$endsequ""
247
fi
248
# Predefined sequences for the above mentioned laser printers
249
if [ "$hplj" = "YES" ]
250
then
# HP Laserjet Laser printer
251
startsequ=$startsequ"\033&l1O\033%0B"
252
endsequ=$endsequ"\033%0A\033E\033&l0O\014" # PCL mode, reset,
# landscape, HPGL/2 on
# portrait, ff
253
fi
254
if [ "$pjxl" = "YES" ]
255
then
256
# PaintJet XL300
startsequ=$startsequ"\033&l1O\033%-1BIN;"
# landscape,
# HPGL/2 on, Init
257
endsequ=$endsequ"\033%0A\033&l0O"
# PCL mode, portrait
258
fi
259
#---------------------------------------------------------------------
260
#---------------------------------------------------------------------
261
#- END OF CUSTOMIZING AREA -------------------------------------------
262
#---------------------------------------------------------------------
263
#---------------------------------------------------------------------
11-28
11.8 The LP Spooler Interface File ‘plotface2.1’
264
#---------------------------------------------------------------------
265
#
266
# Change dir to plot directory /usr/spool/lp/request/"lp-device-name"
267
#
268
#---------------------------------------------------------------------
269
cd /usr/spool/lp/request/$plotter
270
# Remove previous files used by ’unipst’
271
rm [DION]*FILE [OU]*ERR DHCEXT HPSIZE 2>/dev/null
272
#---------------------------------------------------------------------
273
#
274
# Parse options specified with ’lp -o’ option
275
#
276
#---------------------------------------------------------------------
277
for option in $options
278
do
279
280
case $option in
noscale)
281
directive1="SCALE=1\$"
282
;;
283
NOSCALE)
284
directive1="SCALE=1\$"
285
;;
286
ascale)
287
directive1="DRAW=1\$"
288
;;
289
ASCALE)
290
directive1="DRAW=1\$"
291
;;
292
rot)
293
directive2="ROTATE=ON*"
294
;;
295
ROT)
296
directive2="ROTATE=ON*"
297
;;
298
a0)
299
300
echo "$hpsizea0" > HPSIZE
;;
11-29
11.8 The LP Spooler Interface File ‘plotface2.1’
301
A0)
302
echo "$hpsizea0" > HPSIZE
303
;;
304
a1)
305
echo "$hpsizea1" > HPSIZE
306
;;
307
A1)
308
echo "$hpsizea1" > HPSIZE
309
;;
310
a2)
311
echo "$hpsizea2" > HPSIZE
312
;;
313
A2)
314
echo "$hpsizea2" > HPSIZE
315
;;
316
a3)
317
echo "$hpsizea3" > HPSIZE
318
;;
319
A3)
320
echo "$hpsizea3" > HPSIZE
321
;;
322
a4)
323
echo "$hpsizea4" > HPSIZE
324
;;
325
A4)
326
echo "$hpsizea4" > HPSIZE
327
;;
328
esac
329
done
330
#---------------------------------------------------------------------
331
#
332
# Automatically ensure running ’sleep’ on the serial plotter port
333
#
334
#---------------------------------------------------------------------
335
if [ "$autosleep" = "YES" ]
336
then
337
if [ "$port" != "/dev/plp" -a "$port" != "/dev/null" ]
338
then
339
# Hold port open with a ’sleep’ command (only for a serial port)
340
ok=0
341
tmpfile="/tmp/$plotter.sleep"
342
if [ -f $tmpfile ];
343
then
11-30
11.8 The LP Spooler Interface File ‘plotface2.1’
344
pid="‘cat $tmpfile 2>/dev/null‘" # Read PID of sleep process
345
if ps -p $pid > /dev/null;
346
then
347
ok=1
348
# ’sleep’ is still running
fi
349
fi
350
if [ "$ok" = "0" ]
351
then
# The ’sleep’ has to be started
352
export port
353
echo ’#!/bin/sh’
354
echo ’nohup sleep 10000000 <$port 2>/dev/null &’ >>/tmp/$plotter
355
echo ’sleep 2’
>>/tmp/$plotter
356
echo ’echo "$!" > $0.sleep’
>>/tmp/$plotter
357
chmod +x /tmp/$plotter
358
/tmp/$plotter >/dev/null
359
rm /tmp/$plotter
360
>/tmp/$plotter
# Start ’sleep’ and save PID
fi
361
fi
362
fi
363
# Set serial plotter port parameters ---------------------------------
364
if [ "$port" != "/dev/plp" -a "$port" != "/dev/null" ]
365
then
366
# reset port parameters to default
367
stty sane <$port
368
# change port parameters according to device
369
if [ "$dd" = "CAL907" -o "$dd" = "CALPM" ]
370
then
371
stty ixoff -ixany -onlcr <$port
372
# IRIX Default
# CALCOMP
else
373
if [ "$dd" = "HPGLR" -o "$dd" = "HPGLU" ]
374
then
375
stty ixoff -ixany -hupcl -echo ignbrk <$port
376
# HP
fi
377
fi
378
fi
379
#---------------------------------------------------------------------
380
#
381
# Open plotlog file
382
#
383
#---------------------------------------------------------------------
384
echo "$del\n" > $plotlog
385
echo "PLOT LOGFILE of ’plotface’ revision 2.1" >> $plotlog
386
echo "\n$del\n" >> $plotlog
387
echo "Date of plot:____________ ‘date‘" >> $plotlog
388
echo "Plotdevice:______________ $plotter" >> $plotlog
389
echo "Plot Port:_______________ $port" >> $plotlog
390
echo "Username:________________ $name" >> $plotlog
11-31
11.8 The LP Spooler Interface File ‘plotface2.1’
391
echo "Plotfile:________________ $pfile" >> $plotlog
392
echo "LP-ID:___________________ $seqid" >> $plotlog
393
echo "Options:_________________ $options" >> $plotlog
394
echo "\n$del\n" >> $plotlog
395
#---------------------------------------------------------------------
396
#---------------------------------------------------------------------
397
#
398
# (1) CONVERT APPLICATION SPECIFIC PLOTFILE FORMAT TO UNIPLOT (NPF)
399
#
400
#---------------------------------------------------------------------
401
#---------------------------------------------------------------------
402
# Is the plotfile readable? If not, exit ...
403
if [ ! -r $pfile ]
404
then
405
echo "Can not read the plotfile! Abort plot-request ..." \
406
echo "\n$del" >> $plotlog
>> $plotlog
407
exit 6
408
fi
409
# AUTO-Detect type of plotfile (currently DDN, DUCT and NPFILE)
410
# Previously: ddnpf=‘strings $pfile | grep "ICEM PLOT FILE"‘
411
ddnpf=‘head -1 $pfile | grep "ICEM PLOT FILE"‘
412
if [ -n "$ddnpf" ]
413
then
414
echo "DDN plotfile conversion:\n" >> $plotlog
415
if [ ! -x $ddn2npf ]
416
then
417
if [ ! -x $plotserver/app2uni/‘basename $ddn2npf‘ ]
418
then
419
echo "Conversion program ‘basename $ddn2npf‘ not found" \
420
echo "in ‘dirname $ddn2npf‘ and $plotserver/app2uni !" \
421
echo "Abort plot-request ...\n\n$del" >> $plotlog
>> $plotlog
>> $plotlog
422
exit 7
423
else
424
echo "Conversion program $ddn2npf not found, but" \
425
echo "$plotserver/app2uni/‘basename $ddn2npf‘." \
426
echo "Plotface takes this program ...\n\n" >> $plotlog
>> $plotlog
>> $plotlog
427
ddn2npf="$plotserver/app2uni/‘basename $ddn2npf‘"
428
429
430
431
fi
fi
$ddn2npf i=$pfile o=NPFILE fmt=NPFILE $optprms >> $plotlog 2>&1
else
432
# Previously: dctpf=‘strings $pfile | grep "DOGPLOT"‘
433
dctpf=‘head -1 $pfile | strings | grep "DOGPLOT"‘
434
if [ -n "$dctpf" ]
435
then
11-32
11.8 The LP Spooler Interface File ‘plotface2.1’
436
echo "DUCT plotfile conversion:\n" >> $plotlog
437
if [ ! -x $duct2npf ]
438
then
439
if [ ! -x $plotserver/app2uni/‘basename $duct2npf‘ ]
440
then
441
echo "Conversion progr.‘basename $duct2npf‘ not found"\
442
>> $plotlog
443
echo "in dir. ‘$duct2npf‘ and $plotserver/app2uni !" \
444
echo "Abort plot-request ...\n\n$del" >> $plotlog
>> $plotlog
445
exit 8
446
else
447
echo "Conversion program $duct2npf not found, but" \
448
echo "$plotserver/app2uni/‘basename $duct2npf‘." \
449
echo "Plotface takes this program ...\n\n" >> $plotlog
>> $plotlog
>> $plotlog
450
duct2npf="$plotserver/app2uni/‘basename $duct2npf‘"
451
452
453
454
fi
fi
$duct2npf -i$pfile >> $plotlog 2>&1
else
455
# Previously: npfile=‘strings $pfile | grep "NPF V3"‘
456
npfile=‘head -1 $pfile | grep "NPF V3"‘
457
if [ -n "$npfile" ]
458
then
459
echo "The plotfile is already a Uniplot NPFILE ..." \
460
cp $pfile NPFILE
>> $plotlog
461
else
462
ipsfile=‘cat $pfile | od -x | line | awk ’{print $2}’‘
463
if [ "$ipsfile" = "1b2e" ]
464
then
465
echo " ICEM PS plotfile conversion:\n" >> $plotlog
466
if [ ! -x $hp2npf ]
467
then
468
echo "Conversion program $hp2npf not found !" \
469
>> $plotlog
470
echo "Abort plot-request ...\n\n$del" >> $plotlog
471
472
exit 9
else
473
474
$hp2npf -f $pfile >> $plotlog 2>&1
fi
475
elif [ "$dumpnonicem" = "NO" ]
476
then
477
echo "Wrong plotfile format! Abort plot-request ..." \
478
echo "\n$del" >> $plotlog
>> $plotlog
479
exit 10
480
else
481
#
482
# Non ICEM plotfile assumed to be ready to plot
483
#
11-33
11.8 The LP Spooler Interface File ‘plotface2.1’
484
echo " Non ICEM plotfile. Assumed ready to plot." \
485
echo " Direct output (dump) to $port." >> $plotlog
486
#
487
cat $pfile
488
#
489
echo "\n$del\nEnd of Plot Protocol ...\n$del" >> $plotlog
>> $plotlog
490
exit 0
491
fi
492
fi
493
fi
494
fi
495
#---------------------------------------------------------------------
496
#---------------------------------------------------------------------
497
#
498
# (2) CONVERT NPF-FILE TO PLOTTERSPECIFIC COMMANDS BY UNIPLOT
499
#
500
#---------------------------------------------------------------------
501
#---------------------------------------------------------------------
502
# Some automatism for HP-Plotters connected to a serial port:
503
# The HP-Plotter is asked for its HardClip P1/P2 positions.
504
# These values are written to the HPSIZE file for Uniplot.
505
if [ "$dd" = "HPGLR" -o "$dd" = "HPGLU" ] # Only for HP-Plotters ...
506
then
507
if [ "$p" != "/dev/plp" -a \
508
"$p" != "/dev/null" ] \
# ... on a serial port (bidirection required!)
509
then
510
if [ -n "$startsequ" ]
511
then
512
echo "$startsequ"
513
ssequsent="true"
514
sleep 5
515
fi
516
echo "\033.Y;"
# Plotter ’on’
517
echo "OI;"
# Output Identification Request
518
sleep 1
519
oi="‘line <$port‘"
520
echo "\n$del\n" >> $plotlog
521
echo "Connected is a $oi plotter:\n" >> $plotlog
522
echo "OH;"
523
sleep 1
524
oh="‘line <$port‘"
525
p1x="‘echo $oh | cut -d, -f1‘"
526
p1y="‘echo $oh | cut -d, -f2‘"
527
p2x="‘echo $oh | cut -d, -f3‘"
528
p2y="‘echo $oh | cut -d, -f4‘"
529
x="‘expr $p2x - $p1x‘"; xmax="‘expr $x / 40‘"
11-34
# Read the plotter answer
# Output HardClip Limits Request
# Read the plotter answer
11.8 The LP Spooler Interface File ‘plotface2.1’
530
y="‘expr $p2y - $p1y‘"; ymax="‘expr $y / 40‘"
531
echo "HardClip limit response (P1x,P1y,P2x,P2y): $oh" \
532
echo "Max. plot area: $xmax mm X $ymax mm" >> $plotlog
533
echo "OP;"
534
sleep 1
535
op="‘line <$port‘"
536
p1x="‘echo $op | cut -d, -f1‘"
537
p1y="‘echo $op | cut -d, -f2‘"
538
p2x="‘echo $op | cut -d, -f3‘"
539
p2y="‘echo $op | cut -d, -f4‘"
540
x="‘expr $p2x - $p1x‘"; x="‘expr $x / 40‘"
541
y="‘expr $p2y - $p1y‘"; y="‘expr $y / 40‘"
542
echo "P1/P2 scaling points response (P1x,P1y,P2x,P2y): $op" \
543
echo "Max. plot area: $x mm X $y mm" >> $plotlog
544
echo "OW;"
545
sleep 1
546
ow="‘line <$port‘"
547
echo "Output window response
>> $plotlog
# Output Scaling Points Request
# Read the plotter answer
>> $plotlog
# Output Window Request
# Read the plotter answer
(P1x,P1y,P2x,P2y): $ow\n" \
>> $plotlog
548
echo "The scaling points P1/P2 will be set to
: $oh" \
>> $plotlog
549
echo "With max. plot area: $xmax mm X $ymax mm" >> $plotlog
550
echo "\033.Z"
# Plotter ’off’
551
echo "$oh" > HPSIZE
# Set up of HPSIZE with the OH-values
552
if [ $xmax -lt $ymax ]
# Rotate plot if ((P2x-P1x)<(P2y-P1y))
553
then
554
directive2="ROTATE=ON*"
555
fi
556
fi
557
fi
558
#---------------------------------------------------------------------
559
#
560
# Log current port settings, if plotter is connected to a serial port
561
#
562
#---------------------------------------------------------------------
563
if [ "$port" != "/dev/plp" -a "$port" != "/dev/null" ]
564
then
565
echo "\n$del\n" >> $plotlog
566
echo "Current Port Settings for $port:\n" >> $plotlog
567
echo "‘ls -l $port‘\n" >> $plotlog
568
echo "‘stty -a <$port‘" >> $plotlog
569
fi
570
#---------------------------------------------------------------------
571
#
572
# Create files needed by Uniplot postprocessor (INPFILE, OPFILE ...)
573
#
11-35
11.8 The LP Spooler Interface File ‘plotface2.1’
574
#---------------------------------------------------------------------
575
# Create input directive file for ’unipst’
576
rm INPFILE 2>/dev/null
577
if [ -n "$inpdirs" ]
578
then
579
echo "$inpdirs"
# Clear input directive file
> INPFILE
580
fi
581
if [ "$directive2" != "NONE*" ]
582
then
583
echo "$directive2" >> INPFILE
# Directive for ’unipst’
584
fi
585
echo "$directive1"
586
# Create operation file for ’unipst’
587
echo "INPFILE"
588
echo "/dev/tty"
>> OPFILE
# Operator output
589
echo "NPFILE"
>> OPFILE
# Name of Neutral Picture Format file
590
echo "PLOTF"
>> OPFILE
# Plotfile on disk
591
echo "$d"
>> OPFILE
# Device keyword
592
echo "CM"
>> OPFILE
# Measurement (INCH, CM)
593
echo "OFFLINE"
>> OPFILE
# Plot disposition
594
echo "NO"
>> OPFILE
# Banner (NO or text)
595
echo "$name"
>> OPFILE
# User name
596
echo "DHCFILE"
>> OPFILE
# Device Hardware Characteristics File
597
echo " "
>> OPFILE
# Parameter lf1 (local font 1)
598
echo " "
>> OPFILE
# Parameter lf2 (local font 2)
599
echo "DHCEXT"
>> OPFILE
# Extended DHCFILE
600
#
601
echo "\n$del\n" >> $plotlog
602
echo "Content of ’INPFILE’:\n" >> $plotlog
603
/bin/cat INPFILE >> $plotlog
604
echo "\n$del\n" >> $plotlog
605
echo "Content of ’OPFILE’:\n" >> $plotlog
606
/bin/cat OPFILE >> $plotlog
607
echo "\n$del\n" >> $plotlog
608
if [ -f HPSIZE ]
609
then
>> INPFILE
> OPFILE
# Directive for ’unipst’
# Source of input directives
610
echo "Content of ’HPSIZE’:\n" >> $plotlog
611
/bin/cat HPSIZE >> $plotlog
612
echo "\n$del\n" >> $plotlog
613
fi
614
# Copy the DHCFILE or DHCEXT file into current directory for ’unipst’
615
if [ -f $plotserver/uniplot/$dd/DHCFILE ]
616
then
617
11-36
cp $plotserver/uniplot/$dd/DHCFILE ./
11.8 The LP Spooler Interface File ‘plotface2.1’
618
elif [ -f $plotserver/uniplot/$dd/DHCEXT ]
619
then
620
621
cp $plotserver/uniplot/$dd/DHCEXT ./
else
622
echo "File $plotserver/uniplot/$dd/DHCFILE or DHCEXT not found!" \
623
echo "Abort plot-request ...\n\n$del" >> $plotlog
>> $plotlog
624
exit 11
625
fi
626
#
627
/bin/ls -l [A-Z]* >> $plotlog
628
echo "\n$del\n" >> $plotlog
629
#---------------------------------------------------------------------
630
#
631
# Run the Uniplot post processor
632
#
633
#---------------------------------------------------------------------
634
if [ -x $plotserver/uniplot/$dd/unipst ]
635
then
636
errcnt=1
637
# Maximum retries when float license request failed
638
maxerr=50
639
# Pause in seconds between retries
640
sleep=5
641
licerr="error"
642
# Run loop until either Uniplot was run successfully
643
# or number of retries exhausted
644
while [ -n "$licerr" -a $errcnt -lt $maxerr ]
645
do
646
$plotserver/uniplot/$dd/unipst > tmplog 2>&1
647
licerr="‘grep -i license tmplog‘"
648
echo $errcnt >> $plotlog
649
cat tmplog >> $plotlog
650
errcnt=‘expr $errcnt + 1‘
651
sleep $sleep
652
done
653
654
rm tmplog
else
655
echo "Uniplot pp $plotserver/uniplot/$dd/unipst not found!" \
656
echo "Abort plot-request ...\n\n$del" >> $plotlog
>> $plotlog
657
exit 12
658
fi
659
#---------------------------------------------------------------------
660
#
661
# Process PostScript plotfile PLOTF for fine line width
662
#
663
#---------------------------------------------------------------------
11-37
11.8 The LP Spooler Interface File ‘plotface2.1’
664
# If the ’POSTSC’ device driver was used, substitute the setlinewidth
665
# PostScript command by a mathematic expression to get line width
666
# steps by 0.05 mm.
667
if [ "$dd" = "POSTSC" ]
668
then
669
if [ ! -f ./PLOTF ]
670
then
671
echo "Plotfile ’PLOTF’ expected, but not found!" >> $plotlog
672
echo "Abort plot-request ...\n\n$del" >> $plotlog
673
exit 13
674
fi
675
mv PLOTF PLOTF1
676
sed ’s/setlinewidth/3.6 mul 14.4 add 25.4 div setlinewidth/’ PLOTF1 > PLOTF
677
#
678
# Use the following line instead, if hair line width is required.
679
# sed ’s/setlinewidth/0 mul setlinewidth/’ PLOTF1 > PLOTF
680
#
681
rm PLOTF1
682
fi
683
#---------------------------------------------------------------------
684
#
685
# Add start/endsequences to the plotfile PLOTF
686
#
687
#---------------------------------------------------------------------
688
if [ ! -f ./PLOTF ]
689
then
690
echo "Plotfile ’PLOTF’ expected, but not found!" >> $plotlog
691
echo "Abort plot-request ...\n\n$del" >> $plotlog
692
exit 14
693
fi
694
if [ -n "$startsequ" -a "$ssequsent" = "false" ]
695
then
696
mv PLOTF PLOTF1
697
echo "$startsequ"
698
cat PLOTF1 >> PLOTF
699
rm PLOTF1
700
fi
701
if [ -n "$endsequ" ]
702
then
703
echo "$endsequ"
> PLOTF
# Concatenate start sequence with the plotfile
>> PLOTF # Append defined end sequence to plotfile
704
fi
705
#---------------------------------------------------------------------
706
#
707
# Output or process the ready to plot plotfile PLOTF
708
#
709
#---------------------------------------------------------------------
710
/bin/cat ./PLOTF
11-38
# No redirection! The LP-Spooler does it!
11.8 The LP Spooler Interface File ‘plotface2.1’
711
# The above line may be replaced by any code processing the plotfile
712
# in any different way (i.e. ftp, rcp, lpr it to another system).
713
# rm PLOTF
714
mv PLOTF plotf
715
# Remove/move the plot file. This is important
# because Uniplot just opens the file
# to write in without clearing it first!
716
# Example how to send the plotfile plotf to a printer/plotter via lpr
717
# Uncomment the next 2 lines, replace the BSD queuename wdv by yours
718
# (Requires installed and customized BSD Spooling System!)
719
# /usr/bsd/lpr -h -Pwdv plotf
720
# /usr/bsd/lpq -Pwdv
721
#---------------------------------------------------------------------
722
#
723
# Clean up the request directory and close the plotlog file
724
#
725
#---------------------------------------------------------------------
726
rm [DION]*FILE [OU]*ERR DHCEXT HPSIZE 2>/dev/null
727
echo "\n$del\nEnd of Plot Protocol ...\n$del" >> $plotlog
728
#---------------------------------------------------------------------
729
exit 0
>> $plotlog
11-39
11.8 The LP Spooler Interface File ‘plotface2.1’
11-40
Index
Index
6-2, 7-1, 8-1, 9-1, 9-8, 9-10, 9-12, 10-1, 10-3, 11-6
lp_autodetect 3-6
lpadmin 3-2
lpstat 3-1 – 3-2, 3-4, 3-6, 5-2
lputil 2-2, 5-1, 9-4
A
addclient 7-1
ascale 3-3, 9-8
autoplot 3-8 – 3-9
C
CAL907 2-1 – 2-2, 5-1 – 5-2, 5-4, 9-1, 9-4 – 9-6, 9-13, 11-4
6, 11-17 – 11-19
CALPM 11-19
cancel 3-4, 3-6, 10-3
Cartridge drive 4-1
CD 9-11
CDCL 11-6
CGM 3-3
Checksum 11-4
chmod 3-3
Client/server 2-1
Customizing area 9-1, 9-3, 9-6, 9-8, 11-4 – 11-5, 11-8, 11-10
– 11-
D
Manual
Organization 0-1
mknetpr 2-2, 7-1 – 7-2
N
Network 5-3, 7-1 – 7-2
Network interface 3-2
NPFILE 3-3, 3-11, 9-1, 11-16
– 11-17
O
optim 11-16
P
ductuni 11-16
E
END OF CUSTOMIZING AREA 9-2
End sequence 9-6 – 9-7, 11-10
EOB 11-4
Ethernet 2-1, 9-12
H
HPGL 2-1 – 2-2, 3-2 – 3-3, 5-1 – 5-2, 5-4, 9-1, 9-4 – 9-7, 9-14, 117 – 11-8, 11-10, 11-18, 11-20 – 11-21
HPGL/2 2-1 – 2-2, 5-1 – 5-2, 5-4, 9-4 – 9-7, 11-7 – 11-8, 11-18,
11-20 – 11-21
HPGLR 11-20
HPGLU 11-20
I
ICEM DDN 3-3, 3-8, 3-11, 6-1 – 6-2, 11-5, 11-10, 11-16
ICEM DUCT 3-3, 3-12, 6-1, 11-16
ICEM Installer 4-1, 4-3 – 4-5, 4-7
ICEM PlotServer Package 1-1 – 1-3, 2-1 – 3-1, 3-8, 3-11, 4-1, 4-4 –
4-6, 5-1, 5-4 – 6-1, 9-10, 10-1, 11-7, 11-18, 11-21
ICEM SURF 3-3, 3-11, 11-16
ICEMview 1-1, 3-4 – 3-6, 3-11, 10-3
Icon Catalog 3-4
Impressario 2-2, 3-8, 5-1, 11-15 – 11-16
IndigoMagic Desktop 1-1, 3-4
Installation 1-1, 4-3, 5-1, 9-10 – 9-11, 11-1
IRIS WorkSpace 1-1
IRIX 4.x 1-1, 3-4, 5-3, 6-2, 9-11
IRIX 5.x 1-1, 3-3 – 3-4, 5-1, 9-11, 11-21
K
Keywords 9-5, 9-8, 9-13
keywords 9-13
M
– 9-14, 11-5, 11-8 – 11-10, 11-17 – 11-18
R
Raster formats 2-2
rmprinter 8-1
rot 3-3, 9-8, 10-2
S
Serial 1-1, 2-1
START OF CUSTOMIZING AREA 9-2
Start sequence 9-7, 11-6, 11-14
Sync 11-4
T
L
Local 5-3 – 5-4, 9-12
lp 3-1 – 3-3, 3-5 – 3-6, 3-8
P1/P2 3-3, 11-7
Paper tray 11-14
Parallel 1-1, 2-1
PCL 2-2, 3-8, 9-6 – 9-7, 11-15
Pen attributes 9-6, 11-7, 11-11, 11-13
Plot server 1-2 – 1-3, 2-1 – 3-5, 4-5 – 4-6, 5-1, 6-1, 6-4 – 7-2, 101, 10-3
Plot_server 7-1
plota3.com 3-12
plota4.com 3-12
plotface 2-1 – 2-2, 3-2 – 3-3, 3-8, 4-4, 5-1 – 5-2, 5-4, 6-2, 8-1, 9-1
– 9-3, 9-6 – 9-12, 10-1, 11-5 – 11-6, 11-16, 11-21 – 1122
plotface2.0 9-1 – 9-2, 9-4 – 9-5
plotlog 2-2, 3-3, 3-5, 6-2, 9-1 – 9-2, 10-1 – 10-3
plotter_configuration 3-11
Postprocessor 9-1, 9-4 – 9-5, 9-8, 9-12 – 9-14, 11-4 – 11-5, 11-7,
11-13, 11-17 – 11-18
POSTSC 11-21
PostScript 2-1 – 2-2, 5-1 – 5-2, 5-4, 9-4 – 9-6, 9-10, 10-3, 11-14 –
11-16
Printer Manager 2-2, 5-1 – 5-4, 7-1 – 8-1, 9-4, 11-21
Printserver Box 2-1
PTC.Setup Program 4-6
– 3-9, 3-11 – 4-1, 4-4, 5-1 – 5-2, 5-4,
tape9 3-3, 3-9, 11-16
tar 4-1
telinit 5-2
Index-1
Index
TIFF 2-2
tst_plotter 2-2, 4-4, 6-1
– 6-2, 10-3
U
Uniplot 1-2, 3-11, 4-4, 9-1, 9-4 – 9-6, 9-8, 9-10, 9-12 – 9-14, 10-1,
11-4 – 11-5, 11-15 – 11-18
userlib 3-12
V
Vector formats 2-2, 11-15
W
WorkSpace 1-1, 3-4
Index-2