ICEM PlotServer Package Version 4 - Dassault...

117
ICEM PlotServer Package Version 4.1 User and Administrator Manual April 2003 © ICEM Ltd. 2003

Transcript of ICEM PlotServer Package Version 4 - Dassault...

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 GmbHSiemensstrasse 963263 Neu-IsenburgGermany

Phone:Fax:E-mail:

+49 (0) 6102 366 9090+49 (0) 6102 366 [email protected]

outside Europe:

ICEM Technologies, Inc.38705 Seven Mile RoadSuite 320 Livonia, MI 48152USA

Phone: USA & Canada:outside USA:

+1 800 692 7322+1 734 462 1795

Fax:E-mail:

+1 734 462 [email protected]

Sales

in Europe:

ICEM Technologies GmbHSiemensstrasse 963263 Neu-IsenburgGermany

Phone:Fax:E-mail:

+49 6102 366 9000+49 6102 366 [email protected]

outside Europe:

ICEM Technologies, Inc.38705 Seven Mile RoadSuite 320 Livonia, MI 48152USA

Phone:Fax:E-mail:

+1 734 462 1795+1 734 462 [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.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

9.7 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.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

11.3 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

2

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 The Uniplot Postprocessors and their Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18

11.8 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 sys-

tem. 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:

0.2 Manual History

The ICEM DDN 5.0 release does not contain any changes.

This edition obsoletes all previous editions.1

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 Uni-plot software.

1. © 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 by ICEM TechnologiesAll 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.

• Technical changes are indicated by a vertical bar in the margin next to the change.

0-2

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 agree-

ment. 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 appro-

priate 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 Introduction

1.1 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 under-

standable 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 advan-

tages 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. AIX, HP/UX and/or Solaris respectively.2. IRIS WorkSpace or IndigoMagic Desktop are the graphical user interfaces of IRIX 4.x and 5.x, respectively.3. 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

Figure 1 represents one of many possible scenarios which shows any UNIX workstation with a laser printer con-

nected, 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 for-

mat 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 DDN-

PCUBE, 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. AIX, HP/UX und/oder Solaris respectively.2. A neutral format independent of output device.3. This has to do with the Uniplot product from ICEM Technologies.

Client AUNIX Workstation

Client BIRIX Workstation

PlotserverIRIX Workstation

Plotter

Laserprinter ICEM

ICEMEthernet

1-2

1.3 Plot Scenario and Purpose of the PlotServer Package

Figure 2 LP spooler integrated plot format creation

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 pass-

ing 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 previ-

ously-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.

Applications

ICEM DDN

Duct

ICEM Surf

Applicationplot format

tape9

UniplotNPFILE

CAL907

HPGL, HPGL/2

PostScript

Neutral Uniplotformat

Preprocessor run Postprozessorlauf

Plotter formats

Integration into AT & T LP spooler

plot.npf

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 device-

specific 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 cre-

ated by ICEM applications, are transferred.

Figure 3 Client/Server Principle

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. CAL907, HPGL, HPGL/2, PostScript, etc.2. Made-up word derived from Plotter Interface.3. Except for AIX. See section 11.1 “Notes on the Operation of the PlotServer Package on AIX” on page 11-1 for details.4. That is, the content of the plot files can be processed directly on the output device.5. E.g. through an Ethernet interface card or Ethernet Printserver Box.6. This program must be available and capable of running on the plot server, i.e., under IRIX.

PlotserverIRIX Workstation

Ethernet

Plotter

ClientIRIX Workstations Laserprinter

ICEMICEM

ICEM

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, addi-

tional 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 “Cus-

tomizing 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’ inter-

face 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. Except for AIX. See section 11.1 “Notes on the Operation of the PlotServer Package on AIX” on page 11-1 for details.2. Hewlett Packard Printer Control Language.3. Tagged Image File Format.4. E.g., Impressario Server, an optional IRIX product.5. IRIX only.

2-2

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 man-

aged 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

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 out-

put 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.

scheduler is runningsystem default destination: QMSdevice for QMS: /dev/plpdevice for QMSplot: /dev/plpQMS accepting requests since Apr 29 07:06QMSplot accepting requests since Jan 11 12:47printer QMS is idle. enabled since Apr 29 07:06printer QMSplot is idle. enabled since Jan 11 12:47

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 prob-

lem:

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’. Natu-

rally, 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. Square brackets [] show optional switches.

3-2

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 dis-

plays an error message if ‘lp’ has problems with permissions. Therefore ‘plotface’ writes an unambiguous error mes-

sage 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 sur-

rounded 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 sur-

face 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’ com-

mand is entered every printing or plotting job which has not yet been processed is displayed in the form queue_name-

ID. 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 supe-

ruser 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 automati-

cally created on the plot server. You can find further details in the Online Manual by entering the command ‘man can-

cel’.

3.2 Identifying and Using Plotters under the ICEMview1 User Interface

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. IRIX only.2. Several files can also be dragged and dropped onto a printer icon simultaneously.

3-4

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 pop-

up 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. ICEM-

view 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 ICEM-

view plotter dialog box always appears, you can easily check options which might have been stored in this way.

1. This can only take place for files for which the user has the appropriate privileges to change.2. 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 com-

mand 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. The Toolchest menu is usually located on the top left of the desktop.2. If you attempt this you will get an error message for the ‘routeprint’ command.

3-6

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’ pull-

down 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 selec-

tion 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 applica-

tions 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 custom-

ized. 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. Optional IRIX product to support PCL- and ESC/P-compatible printers.

3-8

3.3 Plotting from Inside an ICEM Application

Figure 12 Orga Autoplot DDN menu definitions, etc.

The area for creating the DDN plot file ‘tape9’ (trace part) can, as a rule, remain unchanged. Figure 13 shows the sec-

tion 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 fig-

ure 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.

***************************************************************************** ** A U T O M A T I C P L O T T I N G ** *****************************************************************************

MENU/NODISPLAY ’AUTOMATIC PLOTTING ’ ISW CONTROL ’CURRENT DRAWING ’ PLTYP PLOT_AKT ’DISPLAY PLOT STATUS ’ PLSTAT QUEUE

SUBMENU/PLTYP ’OUTPUT DEVICE: ’ ISWTYP CONTROL ’QMS-LASERDRUCKER ’ ’CALCOMP 1043 ’ SUBMENU/PLSTAT ’DISPLAY PLOT STATUS ’ ISWQUE CONTROL ’ - OF ALL REQUESTS ’ ’ - OF LOCAL REQUESTS ONLY’

3-9

3.3 Plotting from Inside an ICEM Application

Figure 13 Orga Autoplot DDN trace definition, etc.

CONTROL/PLOT_AKT

MODAL RTL=1 REPLACE=1PROCEDURE LP_SYSTEMTRACEFILE 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 plottingUNIX: ’orga/approc &’ ’F.M’ ’|’ ’ ’ ’ PROZESS ABGESCHICKT. ’ ’|’

3-10

3.3 Plotting from Inside an ICEM Application

Figure 14 Orga autoplot procedure definition

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.

************************** 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-11

3.3 Plotting from Inside an ICEM Application

Figure 15 Surf Plotter Configuration File

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 Pack-

age may not be guaranteed for most recent and/or future Duct releases.

############################################################ 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=CMlp -c -s -dQMSplot -oascale <metafile>rm <metafile>### E N D ###

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 CD-

ROM. 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 CD-

ROM, please refer to the SGI Administrators Guide for more information about mounting and unmounting file sys-

tems.

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

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

look forunit andcontroller num-ber here

1 100 MHZ IP22 ProcessorFPU: MIPS R4010 Floating Point Chip Revision: 0.0CPU: MIPS R4000 Processor Chip Revision: 3.0On-board serial ports: 2On-board bi-directional parallel portData cache size: 8 KbytesInstruction cache size: 8 KbytesMain memory size: 128 MbytesIntegral Ethernet: ec0, version 1Tape drive: unit 6 on SCSI controller 0: QIC 150Disk drive: unit 2 on SCSI controller 0Disk drive: unit 1 on SCSI controller 0Integral SCSI controller 0: Version ...Iris Audio Processor: version A2 revision 4.1.0Graphics board: Indy 8-bitVino video: unit 0, revision 0, Indycam connected

4-2

4.3 Installation with the ICEM Installer

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 dia-

log 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).

…CDROM: unit 7 on SCSI controller 0Tape drive: unit 6 on SCSI controller 0: QIC 150Disk drive: unit 2 on SCSI controller 0Disk drive: unit 1 on SCSI controller 0…

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 con-

tain 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

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 ‘plot-

face’ 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.

Installation Directory/

Preprocessors Postprocessors

plotface2.1 uniplot/ diag/app2uni/

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 worksta-

tions 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 environ-

ment 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 applica-

tions 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 proce-

dure 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 adminis-

trator 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:

• add instructs ‘lputil’ to create an LP queue.

• 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 pro-

cessed 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).

• plot_queue_name 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.

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 opera-

tion 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 Man-

ager already mentioned in section 3.2 “Identifying and Using Plotters under the ICEMview User Interface” on page 3-

4 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 inter-

face. 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…’ but-

ton 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, con-

tains 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

Figure 25 Diagnostic script — phase 2

Figure 26 Diagnostic script — phase 3

Figure 27 Diagnostic script — phase 4

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:

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>:

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>:

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

Figure 29 Diagnostic script — phase 5

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.

PLOT LOGFILE of ’plotface’ revision 2.1

========================================================================

Date of plot:____________ Mon Jan 11 15:00:59 PST 1999Plotdevice:______________ QMSplotPlot Port:_______________ /dev/plpUsername:________________ rootPlotfile:________________ /usr/spool/lp/request/QMSplot/d0-2076LP-ID:___________________ QMSplot-2076Options:_________________

========================================================================

DDN plotfile conversion:

--More--(25%)

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 ...

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 privi-

leges and is used as follows:

su

mknetpr local_pl_queue plot_server_host_name pl_server_pl_queue

where

• local_pl_queue 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)

• plot_server_host_name stands for the computer name of the plot servers

• pl_server_pl_queue_name 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 pass-

word 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 cus-

tomized ‘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’ com-

mand. 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 preproces-sor 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 speci-

fied 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 pro-

cessors.

• 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’

Area in the file ‘plotlog’ is marked with the labels ‘START OF CUSTOMIZING AREA’ and ‘END OF CUSTOMIZ-

ING 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.

Customizing area

Here you will find variable assignments which you

should use to customize your system.

Commentary area

Here you will find notes on the installion and use of

‘plotface’.

Code area

As a rule this area remains unchanged. But even here there

are places prepared for special cases which can be custom-

ized and/or expanded.

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 2.1 Cal907# NAME=Plotface 2.1 HPGL# NAME=Plotface 2.1 HPGL/2# NAME=Plotface 2.1 PostScript

# Set the NAME variable below to 1 of the 4 values shown above,# filling the double quotes with 1 of the 4 strings shown above.# The NAME variable below will be set automatically by the Printer Manager,# if the IRIX Printer Manager is used 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 # Device Driver d=CAL907 # 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)

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 rele-

vant.

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. See section 11.7 “Notes about Uniplot Version 3.3 Release 01” on page 11-18.

# 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 # Number of Pens steps=800 # Steps per cm plength=3600 # Paper Length in cm pwidth=86.4 # Paper Width in cm sync=94 # Double Sync Code with value 94 dez # A negative value will generate Single Sync eob=13 # End Of Block (EOB) Code with value 13 dez csum=N # Checksum (Y)es/(N)

inpdirs="$nrpens\n$steps\n$plength\n$pwidth\n$sync\n$eob\n$csum"

elif [ "$NAME" = "Plotface 2.1 Calpm" ]

9-4

9.2 Entering the Uniplot Postprocessor and Keyword

Figure 35 Selection of the Uniplot postprocessor

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 com-

plete listing of the file ‘plotface2.1’ is printed out in section 11.8 “The LP Spooler Interface File ‘plotface2.1’” on

page 11-21.

#-----------------------------------------------------------------------------#-----------------------------------------------------------------------------#- START OF CUSTOMIZING AREA -------------------------------------------------#-----------------------------------------------------------------------------#-----------------------------------------------------------------------------

# Information for the IRIX 5.x/6.x Printer Manager, don’t change!

# NAME=Plotface 2.1 Cal907# NAME=Plotface 2.1 HPGL# NAME=Plotface 2.1 HPGL/2# NAME=Plotface 2.1 PostScript

# Set the NAME variable below to 1 of the 4 values shown above,# filling the double quotes with 1 of the 4 strings shown above.# The NAME variable below will be set automatically by the Printer Manager,# if the IRIX Printer Manager is used to install the plot queue!

NAME="Plotface 2.1 HPGL"...

TYPE="Plotface 2.1"

9-5

9.3 Entering and Changing a Start and End Sequence

Figure 36 Selection of the Uniplot keyword

section 11.2 “Notes on the Operation of CalComp CAL907 Output Devices” on page 11-4 through section 11.5 “Sup-

porting 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 neces-

sary 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.

if [ "$NAME" = "Plotface 2.1 Cal907" ]then # Generic CalComp Cal907

dd=CAL907 # Device Driver d=CAL907 # 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 # Number of Pens steps=800 # Steps per cm plength=3600 # Paper Length in cm pwidth=86.4 # Paper Width in cm sync=94 # Double Sync Code with value 94 dez # A negative value will generate Single Sync eob=13 # End Of Block (EOB) Code with value 13 dez csum=N # Checksum (Y)es/(N)o

inpdirs="$nrpens\n$steps\n$plength\n$pwidth\n$sync\n$eob\n$csum"

elif ["$NAME" = ...

9-6

9.3 Entering and Changing a Start and End Sequence

Figure 37 Definition of a start/end sequence

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 non-

printing 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).

# 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 printerthen startsequ=$startsequ"\033&l1O\033%0B" # landscape, HPGL/2 on endsequ=$endsequ"\033%0A\033E\033&l0O\014" # PCL mode, reset, portrait, fffiif [ "$pjxl" = "YES" ] # PaintJet XL300then startsequ=$startsequ"\033&l1O\033%-1BIN;" # landscape, HPGL/2 on, Init endsequ=$endsequ"\033%0A\033&l0O" # PCL mode, portraitfi

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-Fac-

tor\$’.

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)

9.5 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 vari-

ables.

Now it is very simple to insert new options to be checked into the case statement, and to handle them in the corre-

sponding manner. Figure 39 shows the section of the ‘plotface2.1’ file containing the case statement which was men-

tioned.

# Default directives <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< directive1="SCALE=1\$"directive2="NONE*" # any given Uniplot directive has to end with an ’*’

9-8

9.5 Entering and Processing New Options

Figure 39 ‘plotface’ options

Naturally, any new options which might be inserted, and the actions they perform must be reflected further on in the

‘plotface’ file.

#-----------------------------------------------------------------------------## Parse options specified with ’lp -o’ option##-----------------------------------------------------------------------------

for option in $optionsdo 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 ;; esacdone

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'

9.6.1 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 ‘plot-

face’ 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 ‘plot-

face’ using the BSD spooling system’s ‘lpr’ command first requires the installation and configuration of the BSD

spooling system on the IRIX Plotserver Workstation.

#-----------------------------------------------------------------------------## 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 # Remove or move the plot file. This is importantmv PLOTF plotf # due to the fact that Uniplot just opens the file # to write in without clearing it first!

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 after-

wards, from the IRIX operating system CD. The corresponding IRIX modules are called:

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 spool-

ing 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

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 com-

puter names. The following figure shows an example of a local BSD queue entry.

IRIX 4.x IRIX 5.x/6.x

eoe2.*.bsdlpr print.*.bsdlpr

# 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:

9-11

9.7 Customizations to the Uniplot Postprocessors

Figure 42 Example of a local BSD queue entry in the /etc/printcap file

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 possi-

ble 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 ready-

to-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 exten-

sive settings are concealed in the file ‘DHCFILE’1 or ‘DHCEXT’2 belonging to each postprocessor. These files con-

tain 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. Device Hardware Characteristics FILE.2. Device Hardware Characteristics EXTended.

# 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-12

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 subdirecto-

ries ‘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

1. Device Hardware Characteristics file utility.2. section 11.7 “Notes about Uniplot Version 3.3 Release 01” on page 11-18 gives a list of the available keywords.

UNIPLOT DHCFILE UTILITY COPYRIGHT CONTROL DATA 1995 THE DHCFILE UTILITY PROVIDES THE ABILITY TO MANIPULATE A UNIPOST DEVICE HARDWARE CHARACTERISTICS FILE. PLEASE ENTER KEYWORD,FUNCTIONHR7586R,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

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 ‘INSERT’ command.

To quit out of the ‘dhcutl’ program use the 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’. How-

ever, 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 individ-

ual values.

1. That is, no keyword, but only ‘,’ and ‘END’.

9-14

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,SPBEGPLOT=901,800,903,800,904,905,906,800,903,800,801,802,910,911,803,804;* HPOFFENDPLOT=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,10060BEGPLOT=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 diagnos-

tic 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 ‘plot-

log’. 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. Sim-

ple 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 ‘plot-

face’ 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 1999Plotdevice:______________ QMSplotPlot Port:_______________ /dev/plpUsername:________________ wkuPlotfile:________________ /usr/spool/lp/request/QMSplot/d0-2165LP-ID:___________________ QMSplot-2165Options:_________________ rot ascale========================================================================The plotfile is already a Uniplot NPFILE ...========================================================================Content of ’INPFILE’:007.8711.3ROTATE=ON*DRAW=1$========================================================================Content of ’OPFILE’:INPFILE/dev/ttyNPFILEPLOTFPSLINECMOFFLINENOwkuDHCFILE ========================================================================-rw-r--r-- 1 lp lp 1804 Jan 11 14:21 DHCFILE-rw-rw-rw- 1 lp lp 33 Jan 11 14:21 INPFILE-rw-rw-r-- 1 lp lp 960 Jan 11 14:21 NPFILE-rw-rw-rw- 1 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 dou-

ble-clicking on the corresponding plotter icon while simultaneously holding down the ALT key. If this action is per-

formed 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 “Test-

ing 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 Information on Output Devices and the Uniplot Software

11.1 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 plat-

forms. 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 # Device Driver d=CAL907 # 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 # Number of Pens steps=800 # Steps per cm plength=3600 # Paper Length in cm pwidth=86.4 # Paper Width in cm sync=94 # Double Sync Code with value 94 dez # A negative value will generate Single Sync eob=13 # End Of Block (EOB) Code with value 13 dez csum=N # 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’

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‘

On principle the pair of both scripts ‘plr‘ and ‘pll‘ could also be used on any other supported UNIX platform.

#-----------------------------------------------------------------------------#-----------------------------------------------------------------------------#- 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 ---------------------------------------------------#-----------------------------------------------------------------------------#-----------------------------------------------------------------------------

#-----------------------------------------------------------------------------## 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 PLOTFelse # 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).

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 stan-

dard 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

Figure 50 'Plotface2.1 CAL907’ customizing area

Parameter Setting

No. of Sync characters 2

Sync value 94 dec. / 5E hex.

EOB value 13 dec. / 0D hex.

Checksum None

if [ "$NAME" = "Plotface 2.1 Cal907" ]then # Generic CalComp Cal907 dd=CAL907 # Device Driver d=CAL907 # 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 # Number of Pens steps=800 # Steps per cm plength=3600 # Paper Length in cm pwidth=86.4 # Paper Width in cm sync=94 # Double Sync Code with value 94 dec # A negative value will generate Single Sync eob=13 # End Of Block (EOB) Code with value 13 dec csum=N # Checksum (Y)es/(N)o ... ...

11-4

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 trans-

mission parameters should be set as follows.

Table 2 Uniplot CAL907 transmission parameters

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’:

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.

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

ICEM DDN optimizer parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< optprms="coin=OFF dup=OFF zero=OFF grid=OFF pc=OFF stats=ON"

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 with-

out problems into the start sequence prepared by ‘plotface’. Thus, for example, implementing the capability of pro-

ducing 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 fig-

ure 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 Notes on the Operation of HPGL and HPGL/2 Output Devices

Figure 52 HPGL P1/P2 corners

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 postpro-

cessor (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 post-

processors 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:

The values for the P2 coordinates are obtained on the basis of symmetry from the P1 coordinates, however with a pos-

itive sign. Therefore ‘plotface’ has the following variable assignment for DIN A0 format:

x

y

P2

P1

P1x

1189mm 40stepsmm

-------------⋅

2---------------------------------------------– 23780steps–= =

P1y

841mm 40stepsmm

-------------⋅

2------------------------------------------– 16820steps–= =

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’

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’:

elif [ "$NAME" = "Plotface 2.1 HPGL" ]then

# HPGL

dd=HPGLR # Device Driver d=HR7586R # 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" # DIN-A0 format (1189x841) hpsizea1="-16820,-11880,16820,11880" # DIN-A1 format ( 841x594) hpsizea2="-11880,-8400,11880,8400" # DIN-A2 format ( 594x420) # hpsizea3="-8400,-5940,8400,5940" # DIN-A3 format ( 420x297) # hpsizea4="-5940,-4200,5940,4200" # DIN-A4 format ( 297x210)

# For HP-Plotters DIN A3 - DIN A4:

hpsizea4="0,0,11880,8400" # DIN A4 format ( 297x210) hpsizea3="0,0,16800,11880" # 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 # HP Laserjet (YES, NO) pjxl=NO # PaintJet XL300 (YES, NO) ... ...

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’

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

elif [ "$NAME" = "Plotface 2.1 HPGL/2" ]then

# HPGL/2

dd=HPGLU # Device Driver d=HP650C # 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" # DIN-A0 format (1189x841) hpsizea1="-16820,-11880,16820,11880" # DIN-A1 format ( 841x594) hpsizea2="-11880,-8400,11880,8400" # DIN-A2 format ( 594x420) # hpsizea3="-8400,-5940,8400,5940" # DIN-A3 format ( 420x297) # hpsizea4="-5940,-4200,5940,4200" # DIN-A4 format ( 297x210)

# For HP-Plotters DIN A3 - DIN A4:

hpsizea4="0,0,11880,8400" # DIN A4 format ( 297x210) hpsizea3="0,0,16800,11880" # DIN A3 format ( 420x297) ... ...

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 fig-

ure 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 Uni-

plot 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 ‘INCRE-

MENTS’ 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’:

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 dan-

ger that a single sheet plot which has not yet been taken out of the plotter could be overwritten by a subsequent plot-

ting 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:

ICEM DDN optimizer parameters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< optprms="coin=OFF dup=OFF zero=OFF grid=OFF pc=OFF stats=ON"

11-10

11.3 Notes on the Operation of HPGL and HPGL/2 Output Devices

Table 4 DesignJet settings

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 con-

trol 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 applica-

tions 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.

Parameter Setting

Language HPGL/2, HP7586

Paper size Plotting area

Pen palette Palette or software

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

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. Red Green Blue components for a color.

** 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 PABEGPLOT=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;*

11-12

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 commu-

nicated 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’

11.4.1 troke Widths

The stroke widths created by Uniplot are likewise specified. In order to obtain finer grading, approximating that spec-

ified 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 ...

elif [ "$NAME" = "Plotface 2.1 PostScript" ]then

# PostScript

dd=POSTSC # Device Driver d=PSLINE # Device-Keyword (use PSCOLOR for color output)

# Plotregion definition for the POSTSC driver (up to 128x128 inches)

# DIN A4 llx=0 # Lower left x in inches lly=0 # Lower left y in inches urx=7.87 # Upper right x in inches (=> 200 mm) ury=11.3 # Upper right y in inches (=> 287 mm)

# DIN A3 # llx=0 # Lower left x in inches # lly=0 # Lower left y in inches # urx=11.3 # Upper right x in inches (=> 287 mm) # ury=16.14 # Upper right y in inches (=> 410 mm)

11-13

11.4 Notes on the Operation of PostScript Output Devices

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

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 num-

ber, so that an increase in stroke widths is attained, as shown in the above table. If it is desired to attain the finest pos-

sible 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 capabil-

ity. 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:

Stroke width[mm]

0.25 0.30 0.35 0.40 ...

# 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 PLOTF1fi

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'

11.5 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. E.g., the HP DeskJet series.2. E.g., the Epson Stylus II color ink jet printer.

#-----------------------------------------------------------------------------## 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 trayelse echo ″statusdict begin a3tray end″ >> PLOTF.temp# Select A3 tray elsefised ″1d″ PLOTF >> PLOTF.temp# Append plotfile# except 1st linemv 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 # Remove or move the plot file. This is importantmv PLOTF plotf # due to the fact that Uniplot just opens the file # to write in without clearing it first!

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 Post-

Script 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 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 Plot-

Server 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’ pro-

cess 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

1. Created with the IRIX program ‘snapshot’ or ‘scrsave’.2. IRIX Online manuals.3. A simple IRIX DTP multimedia program.

ICEM DDN - tape9: /icem/bin/optim i=tape9_file o=NPFILE fmt=NPFILE

Duct - plot.npf /duct/plotter/ductuni -iplot.npf

4. In the ‘plotface’ file the ‘optim’ parameters are controlled by the ‘optprms’ variable.

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

11-16

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/uniplotmistral: 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.hpgY@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

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 con-

tains 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 auto-

matically by ‘plotface2.1’ or those recommended in section 11.2 “Notes on the Operation of CalComp CAL907 Out-

put 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 The Uniplot Postprocessors and their Keywords

Table 7 CAL907 Keywords

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

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

Table 8 CALPM Keywords

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

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

Keyword Model

11-19

11.7 Notes about Uniplot Version 3.3 Release 01

Table 9 HPGLR Keywords

Table 10 HPGLU Keywords

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

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

Keyword Model

Alle HPGLR-Schlüsselwärter außer HPGLR

HP650C DesignJet 650C - (all HPGL/2 plotters can use a copy of this keyword by changing parameters such as size, number of pens, etc.)

Keyword Model

11-20

11.8 The LP Spooler Interface File ‘plotface2.1’

Table 11 POSTSC Keywords

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. cus-

tomization of) the ‘plotface’ file. During queue definition the desired plotter format can be conveniently selected,

and the ‘plotface’ file is automatically configured.

HP650CL DesignJet 650C - Prints Long Axis plots using the PS com-mand.

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

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

Keyword Model

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 num-

ber 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 # ICEM Technologies, Division of Parametric Technology

6 #

7 # Plotter LP-Spooler Script

8 # Author: W. Kunert, Mgr. European HELPdesk, Neu-Isenburg, Germany

9 #

10 # Revision: 2.1 | Date: 15.01.1999 | ICEM PlotServer Package 4.1

11 #

12 #----------------------------------------------------------------------

13 # H O W T O I N S T A L L ’P L O T F A C E’:

14 #

15 # DESCRIPTION:

16 #

17 # - This version of ’plotface’ supports the Uniplot Device drivers

11-22

11.8 The LP Spooler Interface File ‘plotface2.1’

18 # CAL907, (CALPM), HPGLR, HPGLU, POSTSC of the Uniplot Release V3.x

19 # - Supported Ports: /dev/ttyd*, /dev/plp (see remark).

20 # - Supported Plot Files: a) ICEM DDN tape9 (DDN Version 2.x, 3.x)

21 # b) ICEM Duct npfile (Duct Version 4.4, 5.x)

22 # c) Uniplot NPFILE (Uniplot Version 3.x)

23 #

24 # INSTALLATION:

25 #

26 # 1) If a serial port is used, make sure there are no processes running

27 # on the desired port (/etc/inittab).

28 # There is no need to define a running ’sleep’ on a serial port.

29 # ’plotface’ handles this automatically!

30 # 2) Copy this ’plotface’ script to /usr/spool/lp/model,

31 # giving owner&group to lp and permissions 755.

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 # /usr/lib/lputil add dev model name

37 #

38 # with: dev set to the desired port (/dev/ttyd*, /dev/plp)

39 # model set to the name of the ’plotface’ script

40 # in the directory /usr/spool/lp/model.

41 # name set to the desired LP-Spooler device name.

42 #

43 # If ICEMview is installed, create a plotter icon by entering:

44 #

45 # $ICEM_VIEW/util/lp_autodetect

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 # ’Printer-Manager’ of IRIX or just enter:

53 #

54 # mknetpr localname server name

55 #

56 # with: localname set to the desired LP-Spooler name on the client.

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 #

62 # To use a defined ’plotface’ LP-Spooler device for plotting, enter:

63 #

64 # lp -dname -ooptions plotfile

65 #

66 # with: name set to the LP-Spooler device name.

67 # options set to any quoted combination of respected

68 # options (See lines 465 to 559)

69 # plotfile set to the pathname of the plotfile

70 #

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" # only 1 plotfile will be plotted!

97 plotlog="plotlog"

98 del="================================================================="

99 port="‘cat /usr/spool/lp/member/$plotter | grep /dev/‘"

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 # Device Driver

131 d=CAL907 # 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 # Device Driver

149 d=CX1044R # 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 # Device Driver

154 d=HR7586R # Device-Keyword

155 # HPGL P1/P2 plot area coordinates

156 # Only for HPGL-Plotters, n o t connected to a serial port.

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 # -oA0 ... -oA4), the corresponding hpsizea? variable will be

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" # DIN-A0 format (1189x841)

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 (YES, NO)

175 pjxl=NO # PaintJet XL300 (YES, NO)

176 elif [ "$NAME" = "Plotface 2.1 HPGL/2" ]

177 then

178 # HPGL/2

179 dd=HPGLU # Device Driver

180 d=HP650C # Device-Keyword

181 # HPGL P1/P2 plot area coordinates:

182 # Only for HPGL-Plotters, n o t connected to a serial port

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

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 # Device Driver

201 d=PSLINE # 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*" # any Uniplot directive has to end with an ’*’

225 # (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" # (YES, NO)

236 # Enable/Disable dumping of non ICEM plotfiles directly on the port

237 dumpnonicem="NO" # (YES, 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

245 startsequ=$startsequ""

246 endsequ=$endsequ""

247 fi

248 # Predefined sequences for the above mentioned laser printers

249 if [ "$hplj" = "YES" ] # HP Laserjet Laser printer

250 then

251 startsequ=$startsequ"\033&l1O\033%0B" # landscape, HPGL/2 on

252 endsequ=$endsequ"\033%0A\033E\033&l0O\014" # PCL mode, reset,

# portrait, ff

253 fi

254 if [ "$pjxl" = "YES" ] # PaintJet XL300

255 then

256 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 case $option in

280 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 echo "$hpsizea0" > HPSIZE

300 ;;

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 # ’sleep’ is still running

348 fi

349 fi

350 if [ "$ok" = "0" ] # The ’sleep’ has to be started

351 then

352 export port

353 echo ’#!/bin/sh’ >/tmp/$plotter

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 # Start ’sleep’ and save PID

359 rm /tmp/$plotter

360 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 # IRIX Default

368 # change port parameters according to device

369 if [ "$dd" = "CAL907" -o "$dd" = "CALPM" ]

370 then

371 stty ixoff -ixany -onlcr <$port # CALCOMP

372 else

373 if [ "$dd" = "HPGLR" -o "$dd" = "HPGLU" ]

374 then

375 stty ixoff -ixany -hupcl -echo ignbrk <$port # HP

376 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 ..." \

>> $plotlog

406 echo "\n$del" >> $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" \

>> $plotlog

420 echo "in ‘dirname $ddn2npf‘ and $plotserver/app2uni !" \

>> $plotlog

421 echo "Abort plot-request ...\n\n$del" >> $plotlog

422 exit 7

423 else

424 echo "Conversion program $ddn2npf not found, but" \

>> $plotlog

425 echo "$plotserver/app2uni/‘basename $ddn2npf‘." \

>> $plotlog

426 echo "Plotface takes this program ...\n\n" >> $plotlog

427 ddn2npf="$plotserver/app2uni/‘basename $ddn2npf‘"

428 fi

429 fi

430 $ddn2npf i=$pfile o=NPFILE fmt=NPFILE $optprms >> $plotlog 2>&1

431 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 !" \

>> $plotlog

444 echo "Abort plot-request ...\n\n$del" >> $plotlog

445 exit 8

446 else

447 echo "Conversion program $duct2npf not found, but" \

>> $plotlog

448 echo "$plotserver/app2uni/‘basename $duct2npf‘." \

>> $plotlog

449 echo "Plotface takes this program ...\n\n" >> $plotlog

450 duct2npf="$plotserver/app2uni/‘basename $duct2npf‘"

451 fi

452 fi

453 $duct2npf -i$pfile >> $plotlog 2>&1

454 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 ..." \

>> $plotlog

460 cp $pfile NPFILE

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 exit 9

472 else

473 $hp2npf -f $pfile >> $plotlog 2>&1

474 fi

475 elif [ "$dumpnonicem" = "NO" ]

476 then

477 echo "Wrong plotfile format! Abort plot-request ..." \

>> $plotlog

478 echo "\n$del" >> $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." \

>> $plotlog

485 echo " Direct output (dump) to $port." >> $plotlog

486 #

487 cat $pfile

488 #

489 echo "\n$del\nEnd of Plot Protocol ...\n$del" >> $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‘" # Read the plotter answer

520 echo "\n$del\n" >> $plotlog

521 echo "Connected is a $oi plotter:\n" >> $plotlog

522 echo "OH;" # Output HardClip Limits Request

523 sleep 1

524 oh="‘line <$port‘" # Read the plotter answer

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

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" \

>> $plotlog

532 echo "Max. plot area: $xmax mm X $ymax mm" >> $plotlog

533 echo "OP;" # Output Scaling Points Request

534 sleep 1

535 op="‘line <$port‘" # Read the plotter answer

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" \

>> $plotlog

543 echo "Max. plot area: $x mm X $y mm" >> $plotlog

544 echo "OW;" # Output Window Request

545 sleep 1

546 ow="‘line <$port‘" # Read the plotter answer

547 echo "Output window response (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 # Clear input directive file

577 if [ -n "$inpdirs" ]

578 then

579 echo "$inpdirs" > INPFILE

580 fi

581 if [ "$directive2" != "NONE*" ]

582 then

583 echo "$directive2" >> INPFILE # Directive for ’unipst’

584 fi

585 echo "$directive1" >> INPFILE # Directive for ’unipst’

586 # Create operation file for ’unipst’

587 echo "INPFILE" > OPFILE # Source of input directives

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

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 cp $plotserver/uniplot/$dd/DHCFILE ./

11-36

11.8 The LP Spooler Interface File ‘plotface2.1’

618 elif [ -f $plotserver/uniplot/$dd/DHCEXT ]

619 then

620 cp $plotserver/uniplot/$dd/DHCEXT ./

621 else

622 echo "File $plotserver/uniplot/$dd/DHCFILE or DHCEXT not found!" \

>> $plotlog

623 echo "Abort plot-request ...\n\n$del" >> $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 rm tmplog

654 else

655 echo "Uniplot pp $plotserver/uniplot/$dd/unipst not found!" \

>> $plotlog

656 echo "Abort plot-request ...\n\n$del" >> $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" > PLOTF

698 cat PLOTF1 >> PLOTF # Concatenate start sequence with the plotfile

699 rm PLOTF1

700 fi

701 if [ -n "$endsequ" ]

702 then

703 echo "$endsequ" >> 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 # No redirection! The LP-Spooler does it!

11-38

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 # Remove/move the plot file. This is important

714 mv PLOTF plotf # because Uniplot just opens the file

715 # 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 >> $plotlog

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

11-39

11.8 The LP Spooler Interface File ‘plotface2.1’

11-40

Index

Index

Aaddclient 7-1ascale 3-3, 9-8autoplot 3-8 – 3-9

CCAL907 2-1 – 2-2, 5-1 – 5-2, 5-4, 9-1, 9-4 – 9-6, 9-13, 11-4 – 11-

6, 11-17 – 11-19CALPM 11-19cancel 3-4, 3-6, 10-3Cartridge drive 4-1CD 9-11CDCL 11-6CGM 3-3Checksum 11-4chmod 3-3Client/server 2-1Customizing area 9-1, 9-3, 9-6, 9-8, 11-4 – 11-5, 11-8, 11-10

Dductuni 11-16

EEND OF CUSTOMIZING AREA 9-2End sequence 9-6 – 9-7, 11-10EOB 11-4Ethernet 2-1, 9-12

HHPGL 2-1 – 2-2, 3-2 – 3-3, 5-1 – 5-2, 5-4, 9-1, 9-4 – 9-7, 9-14, 11-

7 – 11-8, 11-10, 11-18, 11-20 – 11-21HPGL/2 2-1 – 2-2, 5-1 – 5-2, 5-4, 9-4 – 9-7, 11-7 – 11-8, 11-18,

11-20 – 11-21HPGLR 11-20HPGLU 11-20

IICEM DDN 3-3, 3-8, 3-11, 6-1 – 6-2, 11-5, 11-10, 11-16ICEM DUCT 3-3, 3-12, 6-1, 11-16ICEM Installer 4-1, 4-3 – 4-5, 4-7ICEM 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-21ICEM SURF 3-3, 3-11, 11-16ICEMview 1-1, 3-4 – 3-6, 3-11, 10-3Icon Catalog 3-4Impressario 2-2, 3-8, 5-1, 11-15 – 11-16IndigoMagic Desktop 1-1, 3-4Installation 1-1, 4-3, 5-1, 9-10 – 9-11, 11-1IRIS WorkSpace 1-1IRIX 4.x 1-1, 3-4, 5-3, 6-2, 9-11IRIX 5.x 1-1, 3-3 – 3-4, 5-1, 9-11, 11-21

KKeywords 9-5, 9-8, 9-13 – 9-14, 11-5, 11-8 – 11-10, 11-17 – 11-18keywords 9-13

LLocal 5-3 – 5-4, 9-12lp 3-1 – 3-3, 3-5 – 3-6, 3-8 – 3-9, 3-11 – 4-1, 4-4, 5-1 – 5-2, 5-4,

6-2, 7-1, 8-1, 9-1, 9-8, 9-10, 9-12, 10-1, 10-3, 11-6lp_autodetect 3-6lpadmin 3-2lpstat 3-1 – 3-2, 3-4, 3-6, 5-2lputil 2-2, 5-1, 9-4

MManual

Organization 0-1mknetpr 2-2, 7-1 – 7-2

NNetwork 5-3, 7-1 – 7-2Network interface 3-2NPFILE 3-3, 3-11, 9-1, 11-16 – 11-17

Ooptim 11-16

PP1/P2 3-3, 11-7Paper tray 11-14Parallel 1-1, 2-1PCL 2-2, 3-8, 9-6 – 9-7, 11-15Pen attributes 9-6, 11-7, 11-11, 11-13Plot server 1-2 – 1-3, 2-1 – 3-5, 4-5 – 4-6, 5-1, 6-1, 6-4 – 7-2, 10-

1, 10-3Plot_server 7-1plota3.com 3-12plota4.com 3-12plotface 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 – 11-22

plotface2.0 9-1 – 9-2, 9-4 – 9-5plotlog 2-2, 3-3, 3-5, 6-2, 9-1 – 9-2, 10-1 – 10-3plotter_configuration 3-11Postprocessor 9-1, 9-4 – 9-5, 9-8, 9-12 – 9-14, 11-4 – 11-5, 11-7,

11-13, 11-17 – 11-18POSTSC 11-21PostScript 2-1 – 2-2, 5-1 – 5-2, 5-4, 9-4 – 9-6, 9-10, 10-3, 11-14 –

11-16Printer Manager 2-2, 5-1 – 5-4, 7-1 – 8-1, 9-4, 11-21Printserver Box 2-1PTC.Setup Program 4-6

RRaster formats 2-2rmprinter 8-1rot 3-3, 9-8, 10-2

SSerial 1-1, 2-1START OF CUSTOMIZING AREA 9-2Start sequence 9-7, 11-6, 11-14Sync 11-4

Ttape9 3-3, 3-9, 11-16tar 4-1telinit 5-2

Index-1

Index

TIFF 2-2tst_plotter 2-2, 4-4, 6-1 – 6-2, 10-3

UUniplot 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-18userlib 3-12

VVector formats 2-2, 11-15

WWorkSpace 1-1, 3-4

Index-2