0% found this document useful (0 votes)
429 views71 pages

Pod Graphics Processor Users Guide

Uploaded by

Asma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
429 views71 pages

Pod Graphics Processor Users Guide

Uploaded by

Asma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71

POD Graphics Processor

User's Guide
Version 2016
May 2016/November 2017
Copyright
Copyright © 1991-2017 Hexagon AB and/or its subsidiaries and affiliates. All rights reserved.
This computer program, including software, icons, graphic symbols, documentation, file formats, and audio-visual displays; may be
used only as pursuant to applicable software license agreement; contains confidential and proprietary information of Hexagon AB
and/or third parties which is protected by patent, trademark, copyright law, trade secret law, and international treaty, and may not be
provided or otherwise made available without proper authorization from Hexagon AB and/or its subsidiaries and affiliates.

U.S. Government Restricted Rights Legend


Use, duplication, or disclosure by the government is subject to restrictions as set forth below. For civilian agencies: This was
developed at private expense and is "restricted computer software" submitted with restricted rights in accordance with
subparagraphs (a) through (d) of the Commercial Computer Software - Restricted Rights clause at 52.227-19 of the Federal
Acquisition Regulations ("FAR") and its successors, and is unpublished and all rights are reserved under the copyright laws of the
United States. For units of the Department of Defense ("DoD"): This is "commercial computer software" as defined at DFARS
252.227-7014 and the rights of the Government are as specified at DFARS 227.7202-3.
Unpublished - rights reserved under the copyright laws of the United States.
Hexagon PPM
305 Intergraph Way
Madison, AL 35758

Documentation
Documentation shall mean, whether in electronic or printed form, User's Guides, Installation Guides, Reference Guides,
Administrator's Guides, Customization Guides, Programmer's Guides, Configuration Guides and Help Guides delivered with a
particular software product.

Other Documentation
Other Documentation shall mean, whether in electronic or printed form and delivered with software or on Intergraph Smart Support,
SharePoint, or box.net, any documentation related to work processes, workflows, and best practices that is provided by Intergraph
as guidance for using a software product.

Terms of Use
a. Use of a software product and Documentation is subject to the Software License Agreement ("SLA") delivered with the software
product unless the Licensee has a valid signed license for this software product with Intergraph Corporation. If the Licensee has
a valid signed license for this software product with Intergraph Corporation, the valid signed license shall take precedence and
govern the use of this software product and Documentation. Subject to the terms contained within the applicable license
agreement, Intergraph Corporation gives Licensee permission to print a reasonable number of copies of the Documentation as
defined in the applicable license agreement and delivered with the software product for Licensee's internal, non-commercial
use. The Documentation may not be printed for resale or redistribution.
b. For use of Documentation or Other Documentation where end user does not receive a SLA or does not have a valid license
agreement with Intergraph, Intergraph grants the Licensee a non-exclusive license to use the Documentation or Other
Documentation for Licensee’s internal non-commercial use. Intergraph Corporation gives Licensee permission to print a
reasonable number of copies of Other Documentation for Licensee’s internal, non-commercial use. The Other Documentation
may not be printed for resale or redistribution. This license contained in this subsection b) may be terminated at any time and
for any reason by Intergraph Corporation by giving written notice to Licensee.

Disclaimer of Warranties
Except for any express warranties as may be stated in the SLA or separate license or separate terms and conditions, Intergraph
Corporation disclaims any and all express or implied warranties including, but not limited to the implied warranties of merchantability
and fitness for a particular purpose and nothing stated in, or implied by, this document or its contents shall be considered or deemed
a modification or amendment of such disclaimer. Intergraph believes the information in this publication is accurate as of its
publication date.
The information and the software discussed in this document are subject to change without notice and are subject to applicable
technical product descriptions. Intergraph Corporation is not responsible for any error that may appear in this document.
The software, Documentation and Other Documentation discussed in this document are furnished under a license and may be used
or copied only in accordance with the terms of this license. THE USER OF THE SOFTWARE IS EXPECTED TO MAKE THE FINAL
EVALUATION AS TO THE USEFULNESS OF THE SOFTWARE IN HIS OWN ENVIRONMENT.

POD Graphics Processor User's Guide 2


Intergraph is not responsible for the accuracy of delivered data including, but not limited to, catalog, reference and symbol data.
Users should verify for themselves that the data is accurate and suitable for their project work.

Limitation of Damages
IN NO EVENT WILL INTERGRAPH CORPORATION BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL INCIDENTAL,
SPECIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, LOSS OF USE OR PRODUCTION, LOSS OF
REVENUE OR PROFIT, LOSS OF DATA, OR CLAIMS OF THIRD PARTIES, EVEN IF INTERGRAPH CORPORATION HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
UNDER NO CIRCUMSTANCES SHALL INTERGRAPH CORPORATION’S LIABILITY EXCEED THE AMOUNT THAT
INTERGRAPH CORPORATION HAS BEEN PAID BY LICENSEE UNDER THIS AGREEMENT AT THE TIME THE CLAIM IS
MADE. EXCEPT WHERE PROHIBITED BY APPLICABLE LAW, NO CLAIM, REGARDLESS OF FORM, ARISING OUT OF OR IN
CONNECTION WITH THE SUBJECT MATTER OF THIS DOCUMENT MAY BE BROUGHT BY LICENSEE MORE THAN TWO (2)
YEARS AFTER THE EVENT GIVING RISE TO THE CAUSE OF ACTION HAS OCCURRED.
IF UNDER THE LAW RULED APPLICABLE ANY PART OF THIS SECTION IS INVALID, THEN INTERGRAPH LIMITS ITS
LIABILITY TO THE MAXIMUM EXTENT ALLOWED BY SAID LAW.

Export Controls
Intergraph Corporation’s commercial-off-the-shelf software products, customized software and/or third-party software, including any
technical data related thereto (“Technical Data”), obtained from Intergraph Corporation, its subsidiaries or distributors, is subject to
the export control laws and regulations of the United States of America. Diversion contrary to U.S. law is prohibited. To the extent
prohibited by United States or other applicable laws, Intergraph Corporation software products, customized software, Technical Data,
and/or third-party software, or any derivatives thereof, obtained from Intergraph Corporation, its subsidiaries or distributors must not
be exported or re-exported, directly or indirectly (including via remote access) under the following circumstances:
a. To Cuba, Iran, North Korea, the Crimean region of Ukraine, or Syria, or any national of these countries or territories.
b. To any person or entity listed on any United States government denial list, including, but not limited to, the United States
Department of Commerce Denied Persons, Entities, and Unverified Lists, the United States Department of Treasury Specially
Designated Nationals List, and the United States Department of State Debarred List
(https://build.export.gov/main/ecr/eg_main_023148).
c. To any entity when Customer knows, or has reason to know, the end use of the software product, customized software,
Technical Data and/or third-party software obtained from Intergraph Corporation, its subsidiaries or distributors is related to the
design, development, production, or use of missiles, chemical, biological, or nuclear weapons, or other un-safeguarded or
sensitive nuclear uses.
d. To any entity when Customer knows, or has reason to know, that an illegal reshipment will take place.
Any questions regarding export/re-export of relevant Intergraph Corporation software product, customized software, Technical Data
and/or third-party software obtained from Intergraph Corporation, its subsidiaries or distributors, should be addressed to PPM’s
Export Compliance Department, 305 Intergraph Way, Madison, Alabama 35758 USA or at exportcompliance@intergraph.com.
Customer shall hold harmless and indemnify PPM and Hexagon Group Company for any causes of action, claims, costs, expenses
and/or damages resulting to PPM or Hexagon Group Company from a breach by Customer.

Trademarks
Intergraph®, the Intergraph logo®, Intergraph Smart®, SmartPlant®, SmartMarine®, SmartSketch®, SmartPlant Cloud®, PDS®,
Frameworks®, I-Route, I-Export, Isogen®, SPOOLGEN, SupportManager®, SupportModeler®, SAPPHIRE®, TANK, PV Elite®,
CADWorx®, CADWorx DraftPro®, GTSTRUDL®, and CAESAR II® are trademarks or registered trademarks of Intergraph Corporation
or its affiliates, parents, subsidiaries. Hexagon and the Hexagon logo are registered trademarks of Hexagon AB or its subsidiaries.
Microsoft and Windows are registered trademarks of Microsoft Corporation. DotNetMagic is a trademark of Crownwood Software. All
rights reserved. PDMS is a trademark of AVEVA. AutoDesk is a registered trademark of Bentley Corporation. Other brands and
product names are trademarks of their respective owners.

POD Graphics Processor User's Guide 3


Contents
Preface ....................................................................................................................................................... 5
What's New in the POD Graphics Processor ........................................................................................ 5

POD Graphics Processor.......................................................................................................................... 7

Getting Started ........................................................................................................................................ 10


Configure the Isogen POD processor ................................................................................................. 10

POD Graphics Processor Configuration File ........................................................................................ 12


GET-EXTERNAL-DATA element ........................................................................................................ 14
FABRICATION-INTERFACE element ................................................................................................. 15
PDS_UCI element ............................................................................................................................... 18
REPLACE element ............................................................................................................................. 20
TABLE element ................................................................................................................................... 24
COLUMN and COLUMNS element .............................................................................................. 25
VIEW element............................................................................................................................... 26
REPORT element ......................................................................................................................... 28
GROUPBYTABLE element........................................................................................................... 30
IMAGE element ................................................................................................................................... 32
QRCODE element .............................................................................................................................. 33

Isogen Fabrication Interface XML (FIX) File .......................................................................................... 35


Example Configurations ...................................................................................................................... 43
Work Piece Components: Pipe ........................................................................................................... 47
Work Piece Components: Weld .......................................................................................................... 51
Work Piece Components: Part ............................................................................................................ 52
Work Piece Connections ..................................................................................................................... 53

Best Practices.......................................................................................................................................... 54
Replace text strings with values from the POD file ............................................................................. 55
Plot a table on the generated drawing ................................................................................................ 57
Create an Excel report from selected attributes .................................................................................. 60

Appendix: Syntax of EXPRESSION statements and FILTER expressions ......................................... 62

Appendix: Extending the POD Graphics Processor............................................................................. 65


Implementing ICustomOutputCommand ............................................................................................. 67
Implementing ICustomOutputElement ................................................................................................ 69
Sample project .................................................................................................................................... 70

Index ......................................................................................................................................................... 71

POD Graphics Processor User's Guide 4


Preface
This document is a user's guide for Isogen's POD Graphics Processor and provides guidelines
for pre-processing the piping data input files used by Isogen to produce drawings and reports.
Hexagon PPM gives you permission to print as many copies of this document as you need for
non-commercial use at your company. You cannot reprint this document for resale or
redistribution outside your company.

Documentation Comments
For the latest support information for this product, comments, or suggestions about this
documentation, and documentation updates for supported software versions, please visit
customer support (https://smartsupport.intergraph.com).

What's New in the POD Graphics Processor


The following changes have been made to the POD Graphics Processor:
Hot Fix and Service Pack Updates
▪ The functionality of the POD Graphics Processor configuration file has been expanded to
support the ability to create or insert Quick Response (QR) codes, images, and 3D POD
pipeline views into the drawing. For more information, see IMAGE element (on page 32) and
QRCODE element (on page 33). (P2 AL:17555)
▪ The following enhancements have been implemented to the Isogen FIX file generated by
the software:
▪ All spool and cut piece attributes are now exported to the FIX file. For more information,
see Attributes in Isogen Fabrication Interface XML (FIX) File (on page 35). (P2
AL:16484)
▪ Attribute metadata is automatically added to the FIX file. For more information, see
Attributes in Isogen Fabrication Interface XML (FIX) File (on page 35). (P2 AL:16516)
▪ The Isogen FIX file now supports cut pieces with bends. For more information, see Pipe
bending data in Work Piece Components: Pipe (on page 46). (P3 AL:16423)
▪ You can now transform FIX file output using XSL. For more information, see XSL
transformations in FABRICATION-INTERFACE element (on page 14). (P3 AL:16499)
▪ The FIX file now adjusts fabrication coordinates for the actual cut piece length. For more
information, see Actual Length versus true length in Work Piece Components: Pipe (on
page 46). (P2 AL:16483)
▪ Updated the information provided in the following Best Practices topics:
▪ Replace text strings with values from the POD file (on page 54)
▪ Plot a table on the generated drawing (on page 56)
▪ Added a new Best Practices topic. For more information, see Create an Excel report from
selected attributes (on page 59).

POD Graphics Processor User's Guide 5


Preface

Version 2016 (5.0)


▪ The application now supports two optional output file formats: the HGG format file and a
new Intergraph generic format file, the Isogen Fabrication Interface XML (FIX) file. For more
information, see Output format files in POD Graphics Processor (on page 7). (P2 AL:15249
and P2 AL:15371)
▪ The POD Graphics Processor supports a plug-in mechanism that allows you to create
additional outputs in any .NET language. For more information, see Appendix: Extending the
POD Graphics Processor (on page 65).

POD Graphics Processor User's Guide 6


SECTION 1

POD Graphics Processor


Isogen's POD Graphics Processor is a data-driven application that enables you to customize
Isogen-generated drawings and produce Excel reports. This application is supplied as a
stand-alone executable file provided with SmartPlant Isometrics, SmartPlant Spoolgen, and
CADWorx Plant.
Isogen runs the POD Graphics Processor at an intermediate point in the overall drawing
generation process. During the creation of graphics, a temporary Piping Object Data (POD) file
is created. This POD file contains, in a neutral format, all of the graphics vectors and the text
that is converted to the user-specified format in the final isometric drawing output. The diagram
illustrates the basic POD Graphics Processor workflow.

The POD Graphics Processor works only with smart output, such as Smart
DWG, DGN, SHA, and IGR.

POD Graphics Processor User's Guide 7


POD Graphics Processor

The POD Graphics Processor enables you to modify the intermediate POD file and change the
final drawing or create additional data tables to output on the drawing or in the reports. Writing
code to access the POD and change its contents requires an advanced level of knowledge and
expertise. However, the POD Graphics Processor enables you to perform a range of powerful
actions without any programming knowledge, including:
▪ Running the Get External Data (GED) function.
▪ Replacing text strings with specific values from the POD file.
▪ Creating tables on the drawing or reports in spreadsheets using selected properties in the
POD file.
Tables can contain calculated values, such as one column being the sum of two
or more columns, and aggregated values, such as the sum of a column.
▪ Creating and inserting Quick Response (QR) codes and images into the drawing.
Using the POD Graphics Processor, requires you to complete the following tasks:
▪ Configure Isogen to output strings to the POD file that are replaced with data during the
POD processing step. This usually involves creating pipeline attributes and giving them fixed
or default values.
▪ Reference the POD Graphics Processor executable (.exe) file in the isometric drawing style.
For more information, see Configure the Isogen POD processor (on page 10).
▪ Create an .xml configuration file that defines the behavior and content of the table. For more
information, see POD Graphics Processor Configuration File (on page 12).

Output format files


POD Graphics Processor supports two output format files that create data to interact with the
fabrication process: the HGG file and the Isogen Fabrication Interface XML (FIX) file. POD
Graphics Processor enables the creation of reports and tables that cannot be produced using
existing Isogen capabilities, such as the sum of weld attribute for all welds on a sheet or an
arbitrary table of values extracted from component attributes. The HGG and FIX output are
extensions of this. To produce either of these optional output format files, you must include a
FABRICATION-INTERFACE element (on page 14) within the POD Graphics Processor .xml
configuration file.

HGG
HGG cutting machines are controlled using their ProCAM® software package, which accepts a
.pcd XML file. The .pcd file contains a list of pipe parts that the machine needs to cut.
The pipe parts are in plant coordinates. The .pcd file contains extra unselected plates, which are
not real, to form the ends of the pipes. The POD processor also unfolds bends to produce
straight pipe, and adds holes in the pipe for olets and branches.
There is a limitation for calculating the position of holes in bent pipe, as the exact
position depends on the bending machine and is not definable.

POD Graphics Processor User's Guide 8


POD Graphics Processor

Isogen FIX
The Isogen FIX format file is an Intergraph generic .xml file that provides a consistent and
seamless method of data exchange. The output FIX file contains all of the information needed to
support the main operations required for pipe fabrication, namely cutting, drilling, welding, and
bending. For more information about the FIX file, see Isogen Fabrication Interface XML (FIX)
File (on page 35).
See Also
Getting Started (on page 10)
POD Graphics Processor Configuration File (on page 12)
Isogen Fabrication Interface XML (FIX) File (on page 35)

POD Graphics Processor User's Guide 9


SECTION 2

Getting Started
Before you can use the POD Graphics Processor, you must configure the POD processor by
referencing it in the active style and specifying the location of the POD Graphics Processor .xml
configuration file. Optionally, you can configure the POD Graphics Processor to generate one of
the supported output format files.
For information about customizing the .xml configuration file, see POD Graphics
Processor Configuration File (on page 12).

Configure the Isogen POD processor


1. Open I-Configure, select the style to use, and then click Edit.
Isogen Configuration opens and displays the Home screen.
2. Select Pre and Post Processors in the Drawing Manager pane.
The software switches to the Configuration view and displays the contents of the Settings
panel.
3. In the POD-processor box, type the full path location and file name of the POD Graphics
Processor utility (PODGraphicsProcessor.exe). Alternatively, click the browse button, and
navigate to the executable file.
4. Return to the Home screen, and select Input Files in the Drawing Manager pane.
The software switches to the Configuration view and displays the contents of the Input
Files panel.
5. Expand the Summary options group.
6. Click Show to open the Input Files grid.
7. Select PODGRAPHICS-CONFIG-FILE in the Type list.
8. Type the full path location and file name of the POD Graphics Processor .xml configuration
file in the Path list.
9. If you need to edit the contents of the .xml file, click the browse button in the Content
box.
The software opens a free-form text box in which you can edit the file contents. Click OK to
save your changes. To close the text editor without saving your changes, click Cancel.

POD Graphics Processor User's Guide 10


Getting Started

10. Click to update the style file with the new settings.
The default folder location of the POD Graphics Processor .exe file for each of the
supported applications is listed below:
▪ For SmartPlant Spoolgen, the default folder location is [Product Folder].
▪ For SmartPlant Isometrics, the default folder location is [Product Folder].
▪ For CADWorx Plant, the default folder location is [Product
Folder]\Plant\Isogen\I-Configure\I-Configure\Tutorial Data.

POD Graphics Processor User's Guide 11


SECTION 3

POD Graphics Processor Configuration


File
Typcially, you use the POD Graphics Processor to perform the following functions:
▪ Run the Get External Data function.
▪ Replace text strings with values from the POD file, including values computed by special
functions.
▪ Create tables on the drawing or reports in spreadsheets from selected properties and
attributes in the POD file. The tables can contain calculated values, such as one column
being the sum of two or more columns, and aggregated values, such as the sum of a
column.
▪ Create and insert Quick Response (QR) codes and images into the drawing.
The POD Graphics Processor configuration .xml file controls the type of processing activities
that Isogen performs. When Isogen runs the POD Graphics Processor, it first reads the
configuration file to determine what parameters are in effect. The POD Graphics Processor
configuration file follows the standard XML file structure, where data is organized into a series of
elements.
In CADWorx Plant, a sample POD Graphics Processor .xml configuration file
(PGP.xml) is delivered to the [Product Folder]\Isogen\I-Configure\I-Configure\Tutorial Data
folder.
At a minimum, the configuration file supports one <GET-EXTERNAL-DATA> element and any
number of <REPLACE> and <TABLE> elements. Other elements are optional depending on your
specific project requirements. The example shows the basic layout of the configuration file.
<POD-GRAPHICS-PROCESSOR>
<GET-EXTERNAL-DATA File=’’ LogFile=’’/>
<FABRICATION-INTERFACE=''/>
<PDS_UCI Signature=’’ />
<REPLACE String=’’ function=’object.attribute’ Format=’’/>
<TABLE Name=’’ Source=’’>
<COLUMNS>
<COLUMN Name=’’ Content=’’ Expression=’’ Type=’’/>
</COLUMNS>
<VIEW Name=’’ Sort=’’ Filter=’’ Display=’’
MaxRows=’’ Direction=’’ VerticalSpacing=’’ />
<GROUPBYTABLE Name=’’ Filter=’’ Fields=’’ GroupBy=’’>
</VIEW>
</GROUPBYTABLE>
</TABLE>
<QRCODE X=’’ Y=’’ Width=’’ Height=’’ QRText=’’ Embed=’’ />
<IMAGE X=’’ Y=’’ Width=’’ Height=’’ FileName=’’ Embed=’’ />
</POD-GRAPHICS-PROCESSOR>

POD Graphics Processor User's Guide 12


POD Graphics Processor Configuration File

In This Section
GET-EXTERNAL-DATA element .................................................. 13
FABRICATION-INTERFACE element ........................................... 14
PDS_UCI element ......................................................................... 17
REPLACE element ........................................................................ 20
TABLE element ............................................................................. 23
IMAGE element ............................................................................. 32
QRCODE element ......................................................................... 33

POD Graphics Processor User's Guide 13


POD Graphics Processor Configuration File

GET-EXTERNAL-DATA element
Basic syntax:
<GET-EXTERNAL-DATA File=’c:\sample\ged.xml’ LogFile=’c:\temp\ged.log’
/>
The GET-EXTERNAL-DATA element contains two attributes:
▪ File specifies the path to the GED configuration file, which is automatically applied to the
temporary file created during drawing output. For information about the syntax of this
configuration file, see Appendix: Get External Data Configuration File in the online Help
delivered with the software.
▪ LogFile specifies the path to the GED log file.
A sample GED script (PGP_GED.xml) is delivered with CADWorx Plant in the
[Product Folder]\Isogen\I-Configure\I-Configure\Tutorial Data folder.

POD Graphics Processor User's Guide 14


POD Graphics Processor Configuration File

FABRICATION-INTERFACE element
Generates the specified output format file. The POD Graphics Processor supports two type of
output files: the HGG format file and the Isogen Fabrication Interface XML (FIX) file. Within the
FABRICATION-INTERFACE element, you use the <HGG> and <ISOGEN> tags to specify which
output format file to produce. For more information, see Output format files in POD Graphics
Processor (on page 7).
Basic syntax:
<FABRICATION-INTERFACE>
<HGG ... HGG-specific settings/>
<ISOGEN ... Generic Isogen (FIX) settings/>
</FABRICATION-INTERFACE>

HGG .pcd output file


To produce the HGG output file, you use an HGG tag to specify the full path location and
filename of the output file and the template file. An example of the basic syntax used to request
.pcd file output is shown below.
The example includes a Get External Data operation to ensure that the wall
thickness, outside diameter, and bevel angle are available. The MAPPING tag identifies where
the wall thickness, outside diameter, and bevel angle are stored in the POD file. These attributes
are crucial for cutting machines.
<POD-GRAPHICS-PROCESSOR>

<!-- Run GED to assign weld properties -->


<GET-EXTERNAL-DATA File="$PROJECT$\Data\Get External
Data\SetPipeProperties.xml" LogFile="C:\Temp\PGP_HGG.log"/>

<FABRICATION-INTERFACE>
<HGG Path="D:\TestID\HGGTest\Data\Processing|All_hgg.pcd"
ReportMode="Overwrite" GroupBy="Spool"
Template="D:\TestID\HGGTest\Data\Processing\HGG.xml"?
<MAPPING>
<WALL-THICKNESS> WALL-THICKNESS </WALL-THICKNESS>
<OUTSIDE-DIAMTER> OUTSIDE-DIAMETER </OUTSIDE-DIAMETER>
</MAPPING>
<HGG>
<FABRICATION-INTERFACE>
</POD-GRAPHICS-PROCESSOR>

POD Graphics Processor User's Guide 15


POD Graphics Processor Configuration File

The HGG tag can contain the following attributes.


▪ Path specifies the full path location and filename of the output .pcd file. Insert $PIPELINE$
or $SPOOL$ to the filename to produce separate files name after each pipeline or spool. This
attribute is mandatory.
▪ Template specifies the PCD .xml file into which the generated parts are added. The
template must be a valid ProCAM file. This attribute is mandatory. An example of the
template .xml file is shown below.

The software adds the parts inside the Assemblies tag.


▪ ReportMode specifies whether the output file is opened in appended mode or overwrite
mode.
▪ GroupBy defines whether the cut pieces are grouped into assemblies by spool or by
pipeline.

Isogen FIX output file


To produce the Isogen FIX output file, you use an ISOGEN tag and include a Path attribute to
specify the full path location and filename of the output FIX file.
<POD-GRAPHICS-PROCESSOR>
...
<FABRICATION-INTERFACE>
<ISOGEN Path="D:\Data\Processing|Isogen.FIX"/>
</FABRICATION-INTERFACE>
...
</POD-GRAPHICS-PROCESSOR>

POD Graphics Processor User's Guide 16


POD Graphics Processor Configuration File

XSL transformations
Because FIX file output is relatively dense and contains a myriad of information about the pipe,
POD Graphics Processor supports transforming this output into a more readable format using
XSL (Extensible Styles Language). To create an XSL transformation, requires you to insert a
TRANSFORM statement within the ISOGEN tag. Multiple TRANSFORM statements are allowed in
the .xml configuration file with each statement generating a different output based on the
contents of the XSL file.
<FABRICATION-INTERFACE>
<ISOGEN>
<!-- Transform statement allows transformation of default -->
<!-- FIX file using an XSL -->
<!-- Multiple TRANSFORM elements can be included -->
<TRANSFORM Path="Path to output file 1"
XSL="Path to XSL file 1" />
<TRANSFORM Path="Path to output file 2"
XSL="Path to XSL file 2" />
</ISOGEN>
</FABRICATION-INTERFACE>

▪ You can include multiple FABRICATION-INTERFACE elements in the POD Graphics


Processor .xml configuration file.
▪ All output formats use common attributes for shared parameters, such as Path or GroupBy.
See Also
Isogen Fabrication Interface XML (FIX) File (on page 35)

POD Graphics Processor User's Guide 17


POD Graphics Processor Configuration File

PDS_UCI element
Supports publishing of isometric data to SmartPlant Foundation (SPF) for correlation with Plant
Design System (PDS) model data in SmartPlant Construction (SPC). When PDS publishes data
to SPF/SPC, the format of the identifier placed on each component is
<signature>_<component>_<partition>_<unique_no>:
AAAB_PIPPIPE_2233_1234566
Basic syntax:
<PDS_UCI Signature=’ATTRIBUTE100’ />
The PDS_UCI element contains a single attribute:
▪ Signature specifies the pipeline attribute that contains the PDS signature to be used in
constructing the modified unique component identifier (UCI).
When PDS sends piping data to SmartPlant Spoolgen using the Isogen Data File (IDF), the UCI
on each component takes the following form:
5 82 -22568 62 -2256 8
When the four-character tool signature is recognized, the POD Graphics Processor can reformat
the IDF UCI into the modified UCI format that PDS uses for publishing. This four-character
signature, such as AAAB, is associated with the PDS project in the SPF instance being
populated.
The signature is typically contained in a look-up table that is accessed by Get
External Data and stored in a pipeline attribute.
During processing, the PDS_UCI command checks the format of the UCI on each element and
performs one of the following actions:
▪ Reformats any IDF-type UCI to match the modified form.
▪ Updates the signature of any previously modified UCI (if required), and recalculates the
partition number to update pre-existing invalid rules.
▪ All other UCI types remain unchanged.

POD Graphics Processor User's Guide 18


POD Graphics Processor Configuration File

Log file
Output from the PDS_UCI command is written to the standard POD Graphics Processor log file,
which is stored in the TEMP folder:
Processing PDS_UCI command (modify PDS UCI for SPF)
PDS Signature read from JACKET-SPEC
PDS Signature = AAAY
Pipe[60" PIPE PRKG0Z0J] ExternalUCI =
F8E44A60-5807-4C76-A307-169C0492DE02 [Not changed]
Workshop-Weld[60" WW ] ExternalUCI =
6BA3BDC1-6F2A-4551-A945-F6E21B61487A [Not changed]
Pipe[60" PIPE PRKG0Z0J] ExternalUCI Original = @@@@@@@5 82 -22568
62 -22568 Updated = AAAY_PIPPIPE_5371_-1479016366
Workshop-Weld[60" WW ] ExternalUCI =
7D1C5428-C744-4CD3-B314-145CAB602599 [Not changed]
Tee[60x30" TEBW WVGA0ZXJ] ExternalUCI Original = @@@@@@@3 31
-22568 62 -22568 Updated = AAAY_PIPCOMP_5371_-1479016417
Workshop-Weld[30" WW ] ExternalUCI =
1A84D208-51C4-41D1-917E-7A869193207D [Not changed]
Pipe[30" PIPE PRKG0Z0G] ExternalUCI Original = @@@@@@@5 60 -22568
61 -22568 Updated = AAAY_PIPPIPE_5371_-1479016388

POD Graphics Processor User's Guide 19


POD Graphics Processor Configuration File

REPLACE element
Replaces a fixed string in the POD file with a value that is returned by one of a number of
different supported functions, including Sum, Count, Min, and Max. The Function attribute uses
all of the occurrences of a specified attribute or property in the pipeline or sheet as input. For
more information about using the REPLACE element, see Replace text strings with values from
the POD file (on page 54).
Basic syntax:
<REPLACE String=’~X01~’ Sum=’C.WELD-ATTRIBUTE1’ Format=’F2’/>
<REPLACE String=’~X02~’ SumBySheet=’C.WELD-ATTRIBUTE2’ Format=’F1’/>
The REPLACE element contains the attributes listed below.
▪ String specifies a string in the POD file graphics to find and replace. Because all
occurrences of this string are replaced during processing, it is important that the string is
unique.
▪ Function indicates the type of calculation to perform using the specified argument. The
Function attribute contains an argument expressed as object.attribute, where object is
defined using one of the following alpha characters: P (Pipeline), C (Component), M
(Material), I (Information Element), or PGS (Pipeline Graphic Sheet).
Supported functions are listed below. An example of the basic syntax follows each function
description.
▪ Sum computes the sum of all: Sum=‟C.WELD-ATTRIBUTE4‟.
▪ SumBySheet computes the sum of all occurrences of the specified:
SumBySheet=‟C.WELD-ATTRIBUTE5‟.
▪ Count computes the number of occurrences: Count=‟C.WELD-ATTRIBUTE3‟.
▪ CountBySheet computes the number of occurrences.
▪ Max computes the maximum (largest) of all occurrences of the specified attribute in the
POD file: Max=‟C.REPEAT-WELD-IDENTIFIER‟.
▪ MaxBySheet computes the maximum (largest) of all occurrences of the specified
attribute in each graphics sheet in the POD file:
MaxBySheet=‟C.REPEAT-WELD-IDENTIFIER‟.
▪ Min computes the minimum (smallest) of all occurrences of the specified attribute in the
POD file: Min=‟C.REPEAT-WELD-IDENTIFIER‟.
▪ MinBySheet computes the minimum (smallest) of all occurrences of the specified
attributed in each graphics sheet in the POD file:
Min=‟C.REPEAT-WELD-IDENTIFIER‟.
▪ Substitute replaces all occurrences of "String" with the specified value:
Substitute="PGS.Count".
▪ SubstituteBySheet replaces all occurrences on each sheet with the specified value.
The argument to the function should be something that varies on each sheet, such as
the sheet number: SubstitueBySheet="PGS.NUMBER".

POD Graphics Processor User's Guide 20


POD Graphics Processor Configuration File

▪ Format specifies the output format for any computed numbers. In the table below, n is the
precision specifier. Typically, this value indicates the number of digits or decimal places to
use in the output. If Format is not defined, the default value is N. You can use upper or
lower case for the attribute string.

Format String Name Description

Cn Currency The number is converted to a string that


represents a currency amount. The
number is output using the local currency
unit.

Dn Decimal The number is converted to a string of


decimal digits (0-9), prefixed by a minus
sign ( - ) if the number is negative. The
precision specifier indicates the minimum
number of digits in the resulting string. If
required, the number is padded with zeros
to its left to produce the number. This
format is supported only for integer types.

En Scientific The number is converted to a string using


(exponential) the format -d.ddd...E+ddd or
-d.ddd...e+ddd, where each d indicates a
digit (0-9). The string is prefixed with a
minus sign ( - ) if the number is negative.
One digit always precedes the decimal
point. The precision specifier indicates the
number of digits needed after the decimal
point. If the precision specifier is omitted,
a default of six digits after the decimal
point is used. The case of the format
specifier indicates whether to prefix the
exponent with an E or an e. The exponent
always consists of a plus or minus sign
and a minimum of three digits. The
exponent is padded with zeros to meet
this minimum, if required.

Fn Fixed-point The number is converted to a string using


the format -ddd.ddd..., where each d
indicates a digit (0-9). The string is
prefixed with a minus sign ( - ) if the
number is negative. The precision
specifier indicates the required number of
decimal places. For example, the string
F2 outputs 1 as 1.00.

POD Graphics Processor User's Guide 21


POD Graphics Processor Configuration File

Format String Name Description

Gn General The number is converted to the most


compact of fixed-point or scientific
notation, depending on the type of the
number and whether a precision specifier
is present. If the precision specifier is
omitted or set to zero, the number type
determines the default precision, as
indicated by the following list.
▪ Byte or SByte: 3
▪ Int16 or UInt16: 5
▪ Int32 or UInt32: 10
▪ Int64 or UInt64: 19
▪ Single: 7
▪ Double: 15
▪ Decimal: 29
Fixed-point notation is used if the
exponent that results from expressing the
number in scientific notation is greater
than -5 and less than the precision
specifier; otherwise, scientific notation is
used. The result contains a decimal point
if required and trailing zeros are omitted.
If the precision specifier is present and
the number of significant digits in the
result exceeds the specified precision,
then the excess trailing digits are
removed by rounding. If scientific notation
is used, the exponent in the result is
prefixed with E if the format specifier is G,
or e if the format specifier is g. The
exception to the preceding rule is if the
number is a decimal and the precision
specifier is omitted. In that case,
fixed-point notation is always used and
trailing zeros are preserved.

Nn Number The number is converted to a string using


the format -d,ddd,ddd.ddd... where each d
indicates a digit (0-9). The string starts
with a minus sign if the number is
negative. Thousand separators are
inserted between each group of three
digits to the left of the decimal point. The
precision specifier indicates the required
number of decimal places.

POD Graphics Processor User's Guide 22


POD Graphics Processor Configuration File

Format String Name Description

Pn Percent The number is converted to a string that


represents a percent as defined by the
NumberFormatInfo.PercentNegativePat
tern property or the
NumberFormatInfo.PercentPositivePatt
ern property. The precision specifier
indicates the required number of decimal
places.

Xn Hexadecimal The number is converted to a string of


hexadecimal digits. The case of the
format specifier indicates whether to use
uppercase or lowercase characters for the
hexadecimal digits greater than 9. For
example, use X to produce ABCDEF, and
x to produce abcdef.

POD Graphics Processor User's Guide 23


POD Graphics Processor Configuration File

TABLE element
Replaces a string in the POD file with a column of values. The spacing and direction of the
output is controlled by the configuration file. The column is taken from a data table constructed
from the POD file. As such, any property or attribute in the POD file can be tabulated. In
addition, you can create derived tables that contain aggregated values, such as Sum, Count,
Min and Max.
Basic syntax:
<TABLE Name='PODCPTS' Source='Components'>
<COLUMNS …>
<COLUMN …. />
<COLUMN … />
</COLUMNS>

<VIEW …. />

<GROUPBYTABLE … >
<VIEW … />
</GROUPBYTABLE>
</TABLE>
The TABLE element contains the following mandatory attributes:
▪ Name indicates the name of the table.
Name="Table01"
▪ Source specifies the source of the data in the table. You can set Source to one of the
following object types in the POD file: Components, Materials, or InformationElements.
Source="Components"

▪ The elements listed below are mandatory in a TABLE element.


▪ A COLUMNS element, which defines the columns of data in the table. For more
information, see COLUMN and COLUMNS element (on page 24).
▪ At least one VIEW element, which defines how the table data is displayed on the
drawing. Multiple VIEW elements are allowed if more than one display is required. For
more information, see VIEW element (on page 26).
▪ Optionally, a TABLE element can contain one or more GROUPBYTABLE elements, which
allow the creation of aggregated data, such as the sum, count, minimum, or maximum of
columns in the table.
▪ For more information about using the TABLE element, see Plot a table on the generated
drawing (on page 56).

POD Graphics Processor User's Guide 24


POD Graphics Processor Configuration File

COLUMN and COLUMNS element


Defines the content of the table output during drawing generation. At least one COLUMNS
element is mandatory in the .xml configuration file.
The table can have columns that do not display on the drawing but are used to
contain intermediate or calculated values.
Basic syntax:
<COLUMNS>
<COLUMN Name='TAG' Content='NAME' Type='System.Int32'/>
<COLUMN Name='C101' Content='COMPONENT-ATTRIBUTE1'/>
<COLUMN Name='C102' Content='COMPONENT-ATTRIBUTE2'/>
<COLUMN Name='C103' Content='COMPONENT-ATTRIBUTE3'/>
<COLUMN Name='C104' Content='COMPONENT-ATTRIBUTE4'/>
<COLUMN Name='C105' Content='COMPONENT-ATTRIBUTE5'
Type='System.Double'/>
<COLUMN Name='C106' Content='COMPONENT-ATTRIBUTE6'/>
<COLUMN Name='C107' Content='COMPONENT-ATTRIBUTE7'/>
<COLUMN Name='SKEY' Content='M.SKEY'/>
<COLUMN Name='C108' Expression='C105*4'/>
</COLUMNS>
The COLUMN/COLUMNS element contains the attributes listed below.
▪ Name indicates the name of the column, such as Name="C105". The name is used in filters
and expressions and must adhere to the requirements listed below. This attribute is
mandatory.
▪ Must begin with an alphabetical character.
▪ Must contain only numbers and digits (no spaces or special characters),
▪ Must not contain any of the following words: And, Between, Child, False, In, Is, Like,
Not, Null, Or, Parent, or True.
▪ Content indicates the property or attribute of the POD object as defined by the Source
attribute of the TABLE element (on page 23). The basic syntax follows the format
Content='COMPONENT-ATTRIBUTE1'. This attribute is mandatory if no Expression
attribute is present.
If Source="Components", then the COLUMN element can contain properties
and attributes of the component material. In this case, prefix the property name with M., as
in Content='M.SKEY' or Content='M.ComponentType'.
▪ Expression defines the content of the column. The formula can refer to the other columns
in the table and can include constants and functions. This attribute is mandatory if no
Content attribute is present. The basic syntax follows the format Expression='C105*4'.
For a full description of syntax, see Appendix: Syntax of EXPRESSION statements and
FILTER expressions (on page 62).

POD Graphics Processor User's Guide 25


POD Graphics Processor Configuration File

▪ Type specifies the datatype of the column. Supported datatypes are listed below. Preface
each datatype with System. An example of the basic syntax follows the format
Type='System.Double' or Type='System.Int32'.
▪ Int
▪ Double
▪ Real
▪ String
▪ Text

VIEW element
Defines which subset of the table is displayed on the drawing (that is, the rows and the format).
You must include the VIEW element name in the POD file text string with the format
"View_Name[Column_Name]".
Basic syntax:
<VIEW Name='T3'
Filter="SKEY='TML0'"
Sort="TAG ASC"
Display='BySheet'
VerticalSpacing='5'
MaxRows='5'
Direction='Down' />
The VIEW element contains the following attributes:
▪ Name specifies the name of the view. The name must match the text in the drawing
generated by Isogen, which is used to define where the contents of the view are displayed.
The basic syntax is Name="T3". This attribute is mandatory.
▪ Filter defines which rows from the table are displayed. A filter expression refers to one or
more column names, as defined in the COLUMN elements. Rows where Filter is TRUE are
included in the data output to the drawing. The Filter attribute is a string that can contain any
of the following:
▪ Column names
▪ Boolean operators AND, OR, or NOT
▪ Brackets to group clauses
▪ Comparison operators <>< > <= >= <> = LIKE
▪ Mathematical operators +, -, ?, *.
▪ Wildcards * or %
▪ Functions CONVERT, LEN, ISNULL, IF, TRIM, SUBSTRING

▪ For a full description of syntax, see Appendix: Syntax of EXPRESSION statements and
FILTER expressions (on page 62).
▪ If the Filter attribute is undefined, all rows from the table display.

POD Graphics Processor User's Guide 26


POD Graphics Processor Configuration File

▪ If the Filter attribute contains strings, use the single quote character ( ' ) for the string
constant and the double quote character ( " )for the Filter expression. Examples are
shown below.
Filter="SKEY=‟TML0‟"
Filter="C105 LIKE „product*‟ AND C106 < C107"
▪ Sort defines the order of the rows in the view. A Sort expression refers to one or more
column names and uses the keywords ASC and DESC to indicate that data is sorted in
ascending (ASC) or descending (DESC) order. Examples are shown below.
▪ Sort=‟C105 ASC‟
▪ Sort=‟C105 ASC C102 DESC‟
If the Sort attribute is omitted, the rows are in the same order as the table
defined in the POD file.
▪ Display controls the behavior when the isometric drawing splits into multiple sheets. You
can use this attribute only if Source=,,Components''. The two possible values are:
▪ Display=,,ByPipeline'' - Each sheet of the drawing contains the same drawing.
This is the default setting.
▪ Display=,,BySheet'' - Each sheet of the drawing contains a different table, which
only displays items that appear on the sheet.
▪ VerticalSpacing defines the vertical separation between rows of the view. This value is
expressed in millimeters. The default setting is 5mm.
▪ MaxRows defines the number of rows that can be displayed. The default setting is 20.
▪ Direction controls whether the table is plotted up or down from the position specified in the
POD file. The default setting is Down.
▪ Direction="Down"
▪ Direction="Up"

POD Graphics Processor User's Guide 27


POD Graphics Processor Configuration File

REPORT element
Defines the content and format of the report output.
Basic syntax:
<REPORT Name='S1'
Filter="Type='Spool-Summary'"
OutputType="Excel"
UniqueColumn="Spool-ID"
OnDuplicate="DeleteExisting"
Path="<folder>\SpoolgenPlusSpools.xlsx"
Table="Spools">
</REPORT>
The REPORT element contains three mandatory attributes:
▪ Name specifies the name of the report. Isogen uses this attribute only for internal indexing.
Name="R01"
▪ Path specifies the output file to populate. If the path does not exist, it is created it during
processing.
To create a file with the name of the POD file being processed, name the file $POD$ (one
Excel file for each POD file. If you specify a fixed file name, all data from each POD file is
appended to the same file.
Path = 'c:\temp\$POD$.xlsx
▪ Table specifies the name of the worksheet to be populated in an Excel file. If the worksheet
does not exist, it is created during processing.
If the table exists and is populated, data is written only to columns that already
exist in the table. The column header in the table must match the column name in the
Table element.
Optionally, you can also specify the following attributes:
▪ Filter defines which rows from the table are displayed. A filter expression refers to one or
more column names, as defined in the COLUMN elements. Rows where Filter is TRUE are
included in the data output to the drawing. If this attribute is not defined, all rows from the
table display.
▪ The Filter attribute is a string that can contain any of the following items.
▪ Column names
▪ Boolean operators AND, OR, or NOT
▪ Brackets to group clauses ()
▪ Comparison Operators < > <= >= <> = LIKE
▪ Mathematical Operators + - / *
▪ Wildcards * or %

POD Graphics Processor User's Guide 28


POD Graphics Processor Configuration File

▪ Functions CONVERT, LEN, ISNULL, IF, TRIM, SUBSTRING

▪ If the filter contains strings, use the single quote character for the string constant and
the double quote character for the Filter expression.
Filter="SKEY=’TML0’"
Filter="C105 LIKE ‘product*’ AND C106 < C107"
▪ If column names contain spaces, enclose the column name in brackets [ ].
Filter="[Iso Number] = ‘AAAA’"
▪ Sort defines the order of rows in the view. A Sort expression refers to one or more column
names. The keywords ascending (ASC) and descending (DESC) indicate whether data is
sorted into ASCending or DESCending order. This attribute is optional. When the Sort
expression is not used, the rows are in the same order as the table defined in the POD file.
Sort=’C105 ASC’
Sort=’C105 ASC C102 DESC’
If the column names contain spaces, enclose the column name in brackets [ ].
Sort="[Iso Number] ASC"
▪ OutputType specifies the report format.
▪ Excel saves the report to an Excel spreadsheet. This is the default setting.
▪ CSV saves the report to a comma-delimited file.
▪ ReportMode controls how the processor handles pre-existing output reports.
▪ Overwrite deletes the specified output file if it already exists. In Overwrite mode, the
processor ignores the UniqueColumn and OnDuplicate settings.
▪ Update updates the specified output file if it already exists. This setting works in
conjunction with the UniqueColumn and OnDuplicate settings.
▪ UniqueColumn indicates the name of the column that contains a unique value in each row,
such as a spool ID in a table of spools or a weld number in a table of welds. This setting
controls how the processor behaves when it encounters data that already exists in the report
and works in conjunction with the OnDuplicate attribute.
▪ OnDuplicate controls how the processor handles duplicate values.
▪ DeleteExisting deletes the existing row that meets the criteria specified by
UniqueColumn. New values are appended to the end of the table.
▪ LeaveExisting appends new values to the end of the table.

POD Graphics Processor User's Guide 29


POD Graphics Processor Configuration File

GROUPBYTABLE element
Defines a new table that is derived from the main TABLE element (on page 23). Multiple
GROUPBYTABLE elements are allowed under a TABLE element. Typically, the GROUPBYTABLE
element defines a table where items are grouped by a set of columns that share the same
values and contains aggregated values such as SUM, MIN, MAX and COUNT. For example, to
create a table that contains a list of component types, such as valve, flange, and so forth,
together with a count of the number of occurrences, you use the GROUPBYTABLE element. An
example is shown below:

Valve 1

Flange-Weld-Neck 2

Pipe 4

Tee 1

The GROUPBYTABLE element contains the following attributes:


▪ Name specifies the name of the derived table, such as Name="T1". This attribute is
mandatory.
▪ Filter defines which rows from the Table element are included in the derived table. A filter
expression refers to one or more column names, as defined in the COLUMN element. Those
rows for which Filter is set to True are included in the data output to the derived table.
The Filter attribute is a string that can contain any of the following:
▪ Column names
▪ Boolean operators AND, OR, or NOT
▪ Brackets to group clauses
▪ Comparison operators <>< > <= >= <> = LIKE
▪ Mathematical operators +, -, ?, *.
▪ Wildcards * or %
▪ Functions CONVERT, LEN, ISNULL, IF, TRIM, or SUBSTRING

▪ Filter is an optional attribute. However, if you do not define a Filter attribute, all rows
from the table are included in the derived table.
▪ For a full description of syntax, see Appendix: Syntax of FILTER Expressions (see
"Appendix: Syntax of EXPRESSION statements and FILTER expressions" on page 62).
▪ If the Filter attribute contains strings, use the single quote character ( ' ) for the string
constant and the double quote character ( " ) for the Filter expression. Examples are
shown below.
Filter="SKEY="TML0"
Filter="C105 LIKE „product*" AND C106 < C107"

POD Graphics Processor User's Guide 30


POD Graphics Processor Configuration File

▪ Fields defines which columns and aggregated columns are included in the derived table.
The Fields attribute contains a string with a field list that references one or more columns
from the master table. The basic syntax is [aggregate function] Column_name
[alias], where aggregate function can be COUNT, SUM, MAX, or MIN. The optional alias
is used to specify a new name for the column. This attribute is mandatory.
Fields='C101, SKEY, SUM(C105) TOT"
▪ GroupBy defines which column or columns are used to group rows in the derived table.
Where the columns have the same values, the rows are aggregated. For example,
GroupBy="C101" groups all rows with the same value in column C101:
TABLE
C101
1
2
2
3
1

▪ A GROUPBYTABLE element must contain at least one VIEW element (on page 26). These
are identical to the VIEW elements within the master TABLE element and work the same
way.
▪ You can have multiple GROUPBYTABLE elements under a TABLE element.

POD Graphics Processor User's Guide 31


POD Graphics Processor Configuration File

IMAGE element
Adds a bitmap image to the drawing from a user-specified folder location.
Basic syntax:
<IMAGE X='23.8' Y='430.2645' Width='800' Sheet='NEW' Height='600'
FileName='C:\Images\MyImage.bmp' Embed='True'/>
The IMAGE element contains five mandatory attributes:
▪ X specifies the location of the image in the X plane.
▪ Y specifies the location of the image in the Y plane.
▪ Width specifies the pixel width of the image on the drawing.
▪ Height specifies the pixel height of the image on the drawing.
▪ Filename specifies the full path location and filename of the image to add. You must use an
absolute path.
Optionally, you can also specify the following attributes:
▪ Embed indicates whether the image is stored with the POD and the drawing or stored on
disk. To embed the image with the POD/drawing, set this attribute to True. The default value
is False.
▪ Sheet identifies on which sheet the image is added. Specify a numerical value (1, 2, 3, and
so on). Alternatively, set Sheet to New to create a new sheet for the image. The default
value is -1, which places the image on all drawing sheets.

▪ The software converts any non-bitmap image to a bitmap.


▪ SmartDGN output supports only embedded images.
▪ For SmartDWG, SmartDGN, and SmartDGN8 output, the software places the image on the
main sheet when Sheet='New'.
▪ When Sheet='New', the software creates only one new sheet. Multiple instances of the
Sheet attribute do not result in additional new sheets.

POD Graphics Processor User's Guide 32


POD Graphics Processor Configuration File

QRCODE element
Places a Quick Response (QR) code on the drawing.

The QRCode element is a specialized version of the IMAGE element that is used to
generate a QR code.
Basic syntax:
<QRCODE X='538' Y='57' Width='200' Height='200'
Attribute='PAINTING-SPEC' Embed='false'/>
The QRCode element contains the following mandatory attributes:
▪ X specifies the location of the code in the X plane.
▪ Y specifies the location of the code in the Y plane.
▪ Width specifies the pixel width of the code on the drawing.
▪ Height specifies the pixel height of the code on the drawing.
▪ Attribute specifies a drawing attribute to encode into the QR code (for example,
Attribute='PIPING-SPEC'). This attribute is not mandatory if you add QRText.
▪ QRText specifies a string to encode into the QR code (for example, QRText="This text
is encoded'. This attribute is not mandatory if you add Attribute.

POD Graphics Processor User's Guide 33


POD Graphics Processor Configuration File

Optionally, you can also define the following attributes:


▪ Folder specifies the folder location in which to store the generated QR code if the code is
not embedded with the drawing. You must use an absolute path. If you do not define a
Folder attribute, the default folder location is c:\Temp\PODImages.
▪ Embed indicates whether the QR code is stored with the drawing/POD, or stored on disk.
To embed the code with the drawing/POD, set this attribute to True. The default value is
False.
▪ Sheet identifies on which sheet the QR code is added. Specify a numerical value (1, 2, 3,
and so on), or set Sheet to New to create a new sheet for the QR code. The default value is
-1, which places the QR code on all drawing sheets.

▪ QRText overrides Attribute. If you include both attributes in the QRCODE element, only the
QRText definition is encoded.
▪ SmartDGN output supports only embedded QR codes.
▪ For SmartDWG, SmartDGN, and SmartDGN8 output, the software places the QR code on
the main sheet when Sheet='New'.
▪ When Sheet='New', the software creates only one new sheet. Multiple instances of the
Sheet attribute do not result in additional new sheets.

POD Graphics Processor User's Guide 34


SECTION 4

Isogen Fabrication Interface XML (FIX)


File
Isogen adds a lot of fabrication information, such as spools, cut pieces, end preparations, and
welds. This information is not always present in the piping component file (PCF) or the IDF that
is initially read by your 3D design system. You can customize the POD Graphics Processor .xml
configuration file to produce an output format file that can then be used as a vehicle to support
the main operations needed for pipe fabrication, such as cutting, drilling, welding, and bending.
One of the output format files supported by the POD Graphics Processor is the Isogen
Fabrication Interface XML (FIX) file.

Intergraph developed the FIX file to provide a flexible and consistent container for
fabrication-specific data. The XML format of the FIX file promotes easy data exchange between
the 3D design system and the pipe fabricators without the need to parse Isogen-specific data.
Data in the FIX file, which includes the pipe, parts, welds, coordinates, and keypoints, is sorted
and presented in a logical order. Isogen uses this data to calculate information, such as local
coordinates, that is required for fabrication. Also, because the FIX file uses the same weld, part,
and pipe cut piece numbering as in the drawing, the potential for data inconsistencies is greatly
reduced.
To produce an Isogen FIX output file, you must include a
FABRICATION-INTERFACE element within the POD Graphics Processor configuration file. For
more information, see FABRICATION-INTERFACE element (on page 14).

POD Graphics Processor User's Guide 35


Isogen Fabrication Interface XML (FIX) File

Work pieces
When you run the POD Graphics Processor, one FIX file is produced per PCF (pipeline or
system). The FIX file contains one or more pipelines, each of which contains one or more
spools. Each spool is composed of work pieces. A work piece is a container for the pipe, part,
and weld objects contained within the spool. The spool shown in the following example includes:
▪ three pipes (cut pieces)
▪ four parts (weld neck flange, reducer, slip-on flange, and elbow)
▪ seven welds to be done in the workshop (welds #3 and #6 represent connections between
the work pieces)

POD Graphics Processor User's Guide 36


Isogen Fabrication Interface XML (FIX) File

In turn, this spool can be split into three work pieces, including the welds that connect them.
Each work piece contains one of the pipe cut pieces and any parts that are welded to it.

In the FIX file output, each work piece typically contains the following objects, along with the
object attributes from the original PCF or IDF.
▪ A section of pipe, that is, a single cut piece. Each cut piece contains any needed holes with
a description of the required bending.
▪ Welds
▪ Parts or fittings that are welded to the pipe
Where possible, the FIX file also contains standard attributes for key properties such as wall
thickness, material, and piping specification.
Below is an example of the type of output that can be included in the FIX file:
<?xml version="1.0" encoding="UTF-8"?>
<POD ID="" FIXVersion="0.5">
<UOM Length="mm" />
<Pipeline ID="FIX05B">
<Attributes>
<Attribute Name="ATTRIBUTE1" DisplayName="ATTRIBUTE1"
DataType="String" Value=";1" />
<Attribute Name="ATTRIBUTE100" DisplayName="ATTRIBUTE100"
DataType="String" Value="AAAD" />
<Attribute Name="ATTRIBUTE156" DisplayName="ATTRIBUTE156"
DataType="String" Value="YES" />
<Attribute Name="ATTRIBUTE157" DisplayName="ATTRIBUTE157"
DataType="String" Value="10" />
<Attribute Name="ATTRIBUTE158" DisplayName="ATTRIBUTE158"

POD Graphics Processor User's Guide 37


Isogen Fabrication Interface XML (FIX) File

DataType="String" Value="5" />


<Attribute Name="ATTRIBUTE159" DisplayName="ATTRIBUTE159"
DataType="String" Value="5" />
<Attribute Name="ATTRIBUTE160" DisplayName="ATTRIBUTE160"
DataType="String" Value="N/A" />
<Attribute Name="ATTRIBUTE161" DisplayName="ATTRIBUTE161"
DataType="String" Value="Intergraph" />
<Attribute Name="PIPELINE-REFERENCE" DisplayName="Pipeline
Reference" DataType="String" Value="FIX05B" />
<Attribute Name="PIPING-SPEC" DisplayName="Pipe Spec"
DataType="String" Value="CS150" />
</Attributes>
<Spool ID="1">
<Attributes>
<Attribute Name="CENTRE-OF-GRAVITY-X" DisplayName="Centre Of
Gravity X" DataType="Double" Value="439" />
<Attribute Name="CENTRE-OF-GRAVITY-Y" DisplayName="Centre Of
Gravity Y" DataType="Double" Value="-21" />
<Attribute Name="CENTRE-OF-GRAVITY-Z" DisplayName="Centre Of
Gravity Z" DataType="Double" Value="21" />
<Attribute Name="CENTRELINE-LENGTH" DisplayName="Centreline
Length" DataType="Long" UnitsType="mm" Value="738" />
<Attribute Name="FACTOR-DIAMETER" DisplayName="Factor Diameter"
DataType="Long" UnitsType="mm" Value="74981" />
<Attribute Name="IDENTIFIER" DisplayName="Identifier"
DataType="String" Value="1" />
<Attribute Name="SURFACE-AREA" DisplayName="Surface Area"
DataType="Long" Value="265004" />
<Attribute Name="WEIGHT" DisplayName="Weight" DataType="Long"
UnitsType="g" Value="12120" />
<Attribute Name="WELD-DIAMETER" DisplayName="Weld Diameter"
DataType="Long" UnitsType="mm" Value="64" />
</Attributes>
<WorkPieces>
<WorkPiece ID="1_A">
<Pipe ID="A" UCI="5F9D9D83-8878-4581-8CB0-B84C4F35F349"
CutLength="500" CutLengthStatus="Approximate" NS="4"
NSUnits="in" OD="0.0" WallThickness="0.0" ItemCode="PA5BSTD"
Description="PIPE, CS API 5L SML, GRD B, STD WT"
Material="Unknown">
<Attributes>
<Attribute Name="CATEGORY" DisplayName="Category"
DataType="String" Value="FABRICATION"
DisplayValue="Fabrication" />
<Attribute Name="COMPONENT-ATTRIBUTE1"
DisplayName="COMPONENT Attribute 1" DataType="String" Value="1" />
<Attribute Name="COMPONENT-ATTRIBUTE2"
DisplayName="COMPONENT Attribute 2" DataType="String" Value="CS API
5L" />
<Attribute Name="COMPONENT-ATTRIBUTE3"
DisplayName="COMPONENT Attribute 3" DataType="String" Value="PIPE" />
<Attribute Name="ITEM-DESCRIPTION" DisplayName="Item

POD Graphics Processor User's Guide 38


Isogen Fabrication Interface XML (FIX) File

Description" DataType="String" Value="PIPE, CS API 5L


SML, GRD B, STD WT" />
<Attribute Name="PIPING-SPEC" DisplayName="Pipe Spec"
DataType="String" Value="CS150" />
<Attribute Name="REPEAT-PART-NUMBER" DisplayName="Part
Number" DataType="String" Value="1" />
<Attribute Name="WEIGHT" DisplayName="Weight"
DataType="Double" UnitsType="kg" Value="5" />
</Attributes>
<Start X="0" Y="0" Z="0" E="0" N="0" U="0"
Preparation="SQ.CUT" Allowance="0" />
<End X="500" Y="0" Z="0" E="500" N="0" U="0"
Preparation="BEVEL" Allowance="0" />
</Pipe>
<Weld ID="1" Type="BW" SKEY="WW" NS="4" NSUnits="in">
<Attributes>
<Attribute Name="CATEGORY" DisplayName="Category"
DataType="String" Value="FABRICATION"
DisplayValue="Fabrication" />
<Attribute Name="PIPING-SPEC" DisplayName="Pipe Spec"
DataType="String" Value="CS150" />
<Attribute Name="REPEAT-WELD-IDENTIFIER" DisplayName="Weld
Number" DataType="String" Value="1" />
<Attribute Name="WELD-ATTRIBUTE1" DisplayName="Weld
Attribute 1" DataType="String" Value="1" />
<Attribute Name="WELD-ATTRIBUTE2" DisplayName="Weld
Attribute 2" DataType="String" Value="5" />
<Attribute Name="WELD-ATTRIBUTE3" DisplayName="Weld
Attribute 3" DataType="String" Value="10" />
<Attribute Name="WELD-TYPE" DisplayName="Weld Type"
DataType="String" Value="BW" />
</Attributes>
<Start X="500" Y="0" Z="0" E="500" N="0" U="0" />
<End X="500" Y="0" Z="0" E="500" N="0" U="0" />
<WeldedPart Type="Pipe" ID="A" Role="End" />
<WeldedPart Type="Part"
ID="B552AC6D-EADB-445A-8E83-23BEA342F4AE" Role="End" />
</Weld>
<Part ID="B552AC6D-EADB-445A-8E83-23BEA342F4AE"
UCI="53178162-B61B-40AF-8601-8F6B93840CC4"
ComponentType="Elbow-90" ItemCode="EEL90CFSTD-LBW"
Description="ELBOW, 90 DEG, FRG CS A234 WPB, STD WT, LR, BW"
SKEY="ELBW" NS="4" NSUnits="in" NS2="0" NS2Units="in">
<Attributes>
<Attribute Name="CATEGORY" DisplayName="Category"
DataType="String" Value="FABRICATION"
DisplayValue="Fabrication" />
<Attribute Name="COMPONENT-ATTRIBUTE1"
DisplayName="COMPONENT Attribute 1" DataType="String" Value="1" />
<Attribute Name="COMPONENT-ATTRIBUTE2"
DisplayName="COMPONENT Attribute 2" DataType="String" Value="FRG CS
A234 WPB" />
<Attribute Name="COMPONENT-ATTRIBUTE3"

POD Graphics Processor User's Guide 39


Isogen Fabrication Interface XML (FIX) File

DisplayName="COMPONENT Attribute 3" DataType="String" Value="ELBOW"


/>
<Attribute Name="ITEM-DESCRIPTION" DisplayName="Item
Description" DataType="String" Value="ELBOW, 90 DEG,
FRG CS A234 WPB, STD WT, LR, BW" />
<Attribute Name="PIPING-SPEC" DisplayName="Pipe Spec"
DataType="String" Value="CS150" />
<Attribute Name="REPEAT-PART-NUMBER" DisplayName="Part
Number" DataType="String" Value="2" />
<Attribute Name="WEIGHT" DisplayName="Weight"
DataType="Double" UnitsType="kg" Value="3" />
</Attributes>
<Start X="500" Y="0" Z="0" E="500" N="0" U="0" />
<Centre_1 X="652.4" Y="0" Z="0" E="652.4" N="0" U="0" />
<End X="652.4" Y="152.4" Z="0" E="652.4" N="-107.76"
U="107.76" />
</Part>
</WorkPiece>
</WorkPieces>
<WorkPieceConnections />
</Spool>
</Pipeline>
</POD>

▪ The work piece ID is derived from the spool ID and the cut piece ID. For example, a work
piece that is based on cut piece A in spool 1 is given the work piece ID 1_A.
▪ Each work piece is ordered, or sorted, into the sequence of the Isogen-generated drawing.
▪ Where the spool contains more than one work piece, the connection between the work
pieces is also described.

POD Graphics Processor User's Guide 40


Isogen Fabrication Interface XML (FIX) File

Attributes
All spool attributes, user-specified and calculated, are output to the Spool object in the FIX file.
<Spool ID="2">
<Attributes>
<Attribute Name="CENTRE-OF-GRAVITY-X" DisplayName="Centre Of
Gravity X" DataType="Double" Value="0" />
<Attribute Name="CENTRE-OF-GRAVITY-Y" DisplayName="Centre Of
Gravity Y" DataType="Double" Value="0" />
<Attribute Name="CENTRE-OF-GRAVITY-Z" DisplayName="Centre Of
Gravity Z" DataType="Double" Value="0" />
<Attribute Name="CENTRELINE-LENGTH" DisplayName="Centreline
Length" DataType="Long" UnitsType="mm"
Value="3833" />
<Attribute Name="FACTOR-DIAMETER" DisplayName="Factor Diameter"
DataType="Long" UnitsType="mm"
Value="389433" />
<Attribute Name="IDENTIFIER" DisplayName="Identifier"
DataType="String" Value="2" />
<Attribute Name="SURFACE-AREA" DisplayName="Surface Area"
DataType="Long" Value="1376368" />
<Attribute Name="WEIGHT" DisplayName="Weight" DataType="Long"
UnitsType="g" Value="0" />
<Attribute Name="WELD-DIAMETER" DisplayName="Weld Diameter"
DataType="Long" UnitsType="mm" Value="0" />
</Attributes>
Cut piece end preparation attributes and the additional pipe length added for fabrication or
erection purposes are reported with the coordinates of the Pipe object. The text that describes
the pipe end preparation is not fixed but is configured in Isogen.
<Start X="0" Y="0" Z="0" E="4000" N="-800" U="3583.1" Preparation="BEVEL"
Allowance="0" />
<End X="1000" Y="0" Z="0" E="4000" N="-1800" U="3583.1"
Preparation="SQ.CUT" Allowance="0" />

POD Graphics Processor User's Guide 41


Isogen Fabrication Interface XML (FIX) File

Attribute metadata
Objects in the FIX file (Pipelines, Spools, Pipe, Parts and Welds) have a set of attributes. The
FIX file contains all attributes that contain a value. Each of the following is listed for each
attribute:
▪ the underlying name of the attribute, which is fixed
▪ the user-specified display name
▪ the data type (string, number)
▪ the units type (mm or inch)
<Pipeline ID="CutPiecesWithFFW">
<Attributes>
<Attribute Name="PIPELINE-REFERENCE" DisplayName="Pipeline
Reference" DataType="String"
Value="CutPiecesWithFFW" />
<Attribute Name="PIPING-SPEC" DisplayName="Pipe Spec"
DataType="String" Value="CS150" />
</Attributes>
This list of attributes is not fixed. You can configure Isogen to handle different sets of
attributes for each object.

In This Section
Example Configurations ................................................................ 43
Work Piece Components: Pipe ..................................................... 46
Work Piece Components: Weld .................................................... 50
Work Piece Components: Part...................................................... 51
Work Piece Connections............................................................... 52

POD Graphics Processor User's Guide 42


Isogen Fabrication Interface XML (FIX) File

Example Configurations
Example 1: Simple Configuration
Configuration 1 has slip-on flanges with two welds at each flange. Configuration 2 has weld neck
flanges with a single weld at each flange. In both cases, the work piece is transformed and
rotated into a simple configuration.

POD Graphics Processor User's Guide 43


Isogen Fabrication Interface XML (FIX) File

Example 2: Branch Configurations (Fitting Tee)


The spool in the following example contains three work pieces in the FIX output file.
▪ Work piece 1 consists of a single pipe.
▪ Work piece 2 consists of a tee, a weld, and a pipe.
▪ Work piece 3 consists of a single pipe.
▪ There are two work piece connections (w1 and w2).

Example 3: Branch Configurations (Olet)


The spool in the following example will contain two work pieces in the FIX output file.
▪ Work piece 1 consists of two flanges, two welds (1 and 5), and a pipe.
▪ Work piece 2 consists of an olet, two welds (3 and 4), a pipe, and a flange.
▪ There is one work piece connection (w1).

POD Graphics Processor User's Guide 44


Isogen Fabrication Interface XML (FIX) File

Example 4: Branch Configurations (Set-on / stub-in)


The spool in the following example will contain two work pieces in the FIX format file.
▪ Work piece 1 contains a single section of pipe.
▪ Work piece 2 contains a set-on (pseudo part) and a section of pipe.
▪ There is one work piece connection (w1).

POD Graphics Processor User's Guide 45


Isogen Fabrication Interface XML (FIX) File

Example 5: Work Piece Rotation


In the local coordinate system, the work piece is rotated so that the longest secondary vector is
rotated to the Y-axis of the work piece.

Secondary vectors are defined by calculating the projection of points to the X-axis of
the work piece.

POD Graphics Processor User's Guide 46


Isogen Fabrication Interface XML (FIX) File

Work Piece Components: Pipe


A pipe object corresponds to the Isogen cut piece. There is one pipe object per work piece. In
the Isogen FIX file, the <Pipe> element defines the pipe object data.
Basic Syntax:
<Pipe ID="C" PartNumber="1" CutLength="771.4" CutLengthStatus="Exact"
OD="168.3" WallThickness="7.112" ItemCode="PS0001"
Material="Carbon Steel" PipeSpec="CS150">
<End1 Preparation="BEVEL" X="0" Y="0" Z="0" E="4517.6" N="8765"
U="2457" />
<End2 Preparation="BEVEL" X="771.4" Y="0" Z="0" E="4517.6" N="8765"
U="5289" />
</Pipe>
The Pipe element can contain any of the following data:
▪ Fixed pipe object attributes:
▪ ID specifies the Isogen cut piece identifier.
▪ UCI specifies the 3D system unique component identifier.
▪ CutLength indicates the length of the cut piece as calculated by Isogen.
▪ CutLengthStatus identifies the status of the cut piece length. Possible values are
Approximate and Exact.
▪ An Approximate cut length is based on pipe nominal size when the cut piece is
welded to a main branch. Only the length from the connection point to the end is
fixed. In this instance, the branch point may be recalculated.
▪ An Exact cut length has been accurately determined and should not be modified.
▪ NS and NSUnits specify the pipe nominal size in inches or millimeters.
▪ OD specifies the pipe outside diameter. If this value is not known, the attribute is set to
0.
▪ WallThickness specifies the wall thickness of the pipe. If this value is not known, the
attribute is set to 0.
▪ ItemCode and Description specify the pipe item code or commodity code from
materials management and its corresponding long description as it appears in the
Material Take-Off.
▪ Material identifies the pipe material of construction, such as carbon steel.
▪ Enumeration of any user-specified attribute values in the source PCF or IDF.
Project-specific mapping may be needed to interpret these values.
▪ Pipe start and end coordinates in both local (X,Y,Z) and installed (E,N,U) coordinates.

POD Graphics Processor User's Guide 47


Isogen Fabrication Interface XML (FIX) File

Actual length versus true length


The fabrication coordinates for a pipe in the FIX file reflect the true length of the cut piece rather
than the installed length. In many cases, the true length is greater than the installed length
because of the following:
▪ An additional length of pipe is needed to fabricate the pipe. For example, a pipe bending
machine may need extra length to clamp the cut piece during bending.
▪ Extra pipe is required that can be adjusted and cut back on site, commonly known as a field
fit allowance. This extra allowance is defined in the Isogen data explicitly, through a cut
piece allowance data item, or implicitly because of the presence of a field fit weld and a
default allowance.
The FIX file includes the actual length of the cut piece:
<Pipe ID="A" UCI="81431B34-0720-450C-AE51-AE402B4EEBCE"
CutLength="2441"
The fabrication coordinates (X,Y,Z) reflect the true length. This will be greater than the length
implied by the installed coordinates (E,N,U) .
<Start X="1649.66" Y="922.16" Z="0" E="1077.84" N="2000" U="3000"
Preparation="BEVEL" Allowance="0" />
<Bend X="1649.66" Y="0" Z="0" Radius="304.8" E="2000" N="2000" U="3000"
/>
<End X="0" Y="0" Z="0" E="2000" N="500" U="3000" Preparation="SQ.CUT"
Allowance="149.66" />

POD Graphics Processor User's Guide 48


Isogen Fabrication Interface XML (FIX) File

Pipe bending data


When the cut piece contains bends, the POD Graphics Processor outputs the center and radius
of each bend to the FIX file. Also included are the start and end points of the cut piece in both
Fabrication (X, Y, Z) and installed (E, N, U) coordinates. Sample configurations and their
associated output are shown below.
Example 1:

▪ 1 - <Start X="1649.66" Y="922.16" Z="0" E="1077.84" N="2000" U="3000"


Preparation="BEVEL" Allowance="0" />
▪ 2 - <Bend X="1649.66" Y="0" Z="0" Radius="304.8" E="2000" N="2000"
U="3000" />
▪ 3 - <End X="0" Y="0" Z="0" E="2000" N="500" U="3000" Preparation="SQ.CUT"
Allowance="149.66" />

POD Graphics Processor User's Guide 49


Isogen Fabrication Interface XML (FIX) File

Example 2:

▪ 1 - <Start X="3082.03" Y="-230.86" Z="-228.94" E="2006.35" N="2000"


U="3000" Preparation="BEVEL"
Allowance="0" />
▪ 2 - <Bend X="2745.46" Y="-120.32" Z="-572.72" Radius="304.8" E="2500"
N="2000" U="3000" />
▪ 3 - <Bend X="2200" Y="0" Z="0" Radius="304.8" E="2500" N="1200" U="3000"
/>
▪ 4 - <Bend X="0" Y="0" Z="0" Radius="304.8" E="4000" N="-300" U="3583.1"
/>
▪ 5 - <End X="-443.36" Y="97.8" Z="465.52" E="4000" N="-800" U="3583.1"
Preparation="SQ.CUT"
Allowance="150.26" />
In the Fabrication coordinate system, the cut piece is rotated so that the pair of
adjacent legs with the largest area is laid flat. To minimize negative elevation coordinates, the
cut piece is flipped about this plane.

POD Graphics Processor User's Guide 50


Isogen Fabrication Interface XML (FIX) File

Work Piece Components: Weld


Weld objects represent fabrication (shop) welds that connect work piece components to one
another. In the Isogen FIX file, the <Weld> element defines weld object data.
Basic Syntax:
<Weld ID="1" Type="BW">
<End1 X="3207" Y="0" Z="27" E="1311.3" N="8765" U="2430" />
<End2 X="3207" Y="0" Z="27" E="1311.3" N="8765" U="2430" />
<WeldedPart Type="Part" ID="5D5D9039-C6FB-4D97-89AF-70F18DE1793B"
End="End2" />
<WeldedPart Type="Part" ID="FBC6F70D-0E4C-41F1-B9AC-8AD4613D80C7"
End="End1" />
</Weld>
The Weld element can contain any of the following data:
▪ Fixed weld object attributes:
▪ ID specifies the weld number as reported by Isogen.
▪ Type indicates the weld type as reported by Isogen, such as SOB for set-on branch or
BW for butt weld.
▪ SKEY identifies the Isogen symbol key, which determines the specific type of weld
(WW, FW, and so on).
▪ NS, NSUnits specifies the weld nominal size and size units in inches or millimeters.
▪ Enumeration of any user-specified attribute values in the source PCF or IDF.
Project-specific mapping may be needed to interpret these values.
▪ Weld start and end coordinates in both local (X,Y,X) and installed (E,N,U) coordinates.
▪ Cross-reference (WeldedPart) to work piece components that are connected by the weld.
WeldedPart is defined by the following attributes:
▪ Type specifies the pipe or part.
▪ ID specifies the ID of the welded part
▪ Role specifies the role played by a work piece in the connection, such as Main, Branch,
or End.

POD Graphics Processor User's Guide 51


Isogen Fabrication Interface XML (FIX) File

Work Piece Components: Part


Part objects represent piping parts, or fittings, that form part of the work piece. Examples of
piping parts include flanges and tees. In the Isogen FIX file, <Part> element defines part object
data.
Basic Syntax:
<Part ID="FBC6F70D-0E4C-41F1-B9AC-8AD4613D80C7" PartNumber="5"
Occurrence="1" ComponentType="Weld Neck Flange">
<End1 Type="BW--" OD="114.3" WallThickness="6.02" X="3207" Y="0" Z="27"
E="1311.3" N="8765" U="2430" />
<End2 Type="FL--" Connection="Open" X="3281.7" Y="0" Z="27" E="1236.6"
N="8765" U="2430" />
</Part>
The Part element can contain any of the following data:
▪ Fixed part object attributes:
▪ ID specifies the internal unique identifier for the part.
▪ UCI specifies the unique identifier for the part as generated by the source 3D system.
▪ ComponentType indicates the Isogen component type identifier, such as tee or slip-on
flange.
▪ SKEY identifies the Isogen symbol key, which determines the specific type of part
(FLSO, TEBW, and so on).
▪ ItemCode/Description specifies the pipe item code or commodity code from materials
management and its long description (as it appears in the Material Take-Off).
▪ Material specifies the pipe material of construction, such as carbon steel.
▪ NS, [NS2, NS3], NSUnits specifies the part nominal size and size units in inches or
millimeters. The NS property is always present. The NS2 and NS3 properties are
present depending on the part type.
▪ Enumeration of any user-specified attribute values in the source PCF or IDF.
Project-specific mapping may be needed to interpret these values.
▪ Coordinate data:
▪ Start point and End point
▪ Internal keypoints, such as the center points of an elbow (Centre1, Centre2)
▪ Any additional external keypoints, such as branch connection points (End1, End2, and
so on)
▪ Start and end coordinates of the part in both local (X,Y,Z) and installed (E,N,U)
coordinates

POD Graphics Processor User's Guide 52


Isogen Fabrication Interface XML (FIX) File

Work Piece Connections


Work piece connections represent the connections between the work pieces in a spool.
Typically, a work piece connection is a weld.
If there are n work pieces in a spool, there will be n-1 work piece connections.
Basic Syntax:
<WorkPieceConnection ID="WPC1" WorkPiece1="A" WorkPiece2="B"
ConnectionType="Set-On-Tee" SKEY="TESO" >
<Weld ID="3" Type="SOB">
<WeldedPart Type="Pipe" ID="B" End="EndConnect1" />
<WeldedPart Type="Pipe" ID="A" End="End1" />
</Weld>
</WorkPieceConnection>
The WorkPieceConnection element can contain any of the following data:
▪ Fixed connection attributes:
▪ ID specifies the connection between work pieces. For example, the connection between
work piece 1_A and 1_B is WP_1_A_to_WP_1_B.
▪ WorkPiece_n identifies the work piece, such as WorkPieceA or WorkPieceB
▪ Role specifies the role played by a work piece in the connection, such as Main, Branch,
or End.
▪ Connection information (ConnectPoint), which defines the location of the connection in the
work piece coordinate system.
▪ Weld information, which defines the weld that connects the two work pieces.

POD Graphics Processor User's Guide 53


SECTION 5

Best Practices
The following best practices are intended to assist you in creating a customized .xml
configuration file that best meets the requirements of your specific project.

In This Section
Replace text strings with values from the POD file ....................... 54
Plot a table on the generated drawing .......................................... 56
Create an Excel report from selected attributes ............................ 59

POD Graphics Processor User's Guide 54


Best Practices

Replace text strings with values from the POD file


Objective: Display the total weld diameter value on the isometric drawing.

1. Use the Project Defaults > Attributes > New command in I-Configure to define a
TotalWeldDiameter attribute, and assign it a default value of <TWD>.

The POD Graphics Processor populates pre-defined drawing frame attribute tags
placed on the isometric drawing.

POD Graphics Processor User's Guide 55


Best Practices

2. Use the Drawing Setup Tool in Isogen Configuration to text position the
TOTAL-WELD-DIAMETER attribute.

3. Set up the POD Graphics Processor .xml configuration file as needed. In this instance, you
will use a REPLACE element similar to the example.
<!-- Using PGP to output calculated values to the drawing frame -->
REPLACE String='&lt;TWD&gt;' SumBySheet='C.WELD-ATRIBUTE4'
Format='F1" />
The &lt; and &gt; characters are necessary in XML to pass the < and >
characters.
4. Reference the Isogen POD processor and map the .xml configuration file in Isogen
Configuration. For more information, see Configure the Isogen POD processor (on page
10).
5. Generate the drawing.
The POD Graphics Processor outputs the total weld diameter.

POD Graphics Processor User's Guide 56


Best Practices

Plot a table on the generated drawing


Objective: Output a table on the isometric drawing that shows the number of components in the
pipeline, grouped by pipe specification and nominal size:

Pipe Specification NS Item Count

CS150 6" 14

CS300 4" 13

1. Use the Project Defaults > Attributes > New command in I-Configure to create three
pipeline attributes, ATTRIBUTE90, ATTRIBUTE91 and ATTRIBUTE92 and give them the
following defaults:
ATTRIBUTE90 = V1[SPEC]
ATTRIBUTE91 = V1[SIZE]
ATTRIBUTE92 = V1[ITEMCOUNT]

POD Graphics Processor User's Guide 57


Best Practices

2. Use the Drawing Setup Tool in Isogen Configuration to specify the location of the table
on the drawing. You specify the location of the columns on the drawing by plotting pipeline
attributes with fixed values on the drawing. The format of the text string to be plotted is
shown below:
View_Name[Column_Name]
ATTRIBUTE90=V1[SPEC]
ATTRIBUTE91=V1[SIZE]
ATTRIBUTE92=V![ITEMCOUNT]

3. Configure the POD Graphics Processor .xml configuration file as shown in the following
example.

▪ The <TABLE> element (1) defines a table with three columns (2): GROUP, SPEC, and
SIZE. For each component in the POD file, the table displays the GROUP property
(which filters the derived table), the PIPING-SPEC attribute, and the SIZE1 property (the
first nominal size).
▪ The GroupBy attribute (3) specifies that the derived table is grouped by SPEC and
SIZE so that each unique pair of SPEC and SIZE become one row in the derived table.
▪ The Fields attribute (4) specifies that the derived table contains three columns, SPEC
and SIZE and ITEMCOUNT, a new column that contains the total count of the grouped
items.

POD Graphics Processor User's Guide 58


Best Practices

▪ The View attribute specifies the name of the table view (5) and the design of the output
table (6), including the number and format of rows and columns.
4. Reference the Isogen POD processor and map the .xml configuration file in Isogen
Configuration. For more information, see Configure the Isogen POD processor (on page
10).

5. After you complete the configuration, generate the drawing.


Isogen outputs a table on the drawing showing that there are 14 components with the
specification set to CS150 and a nominal size of 6-inches and 13 components with the
specification set to CS300 and a nominal size of 4-inches.

POD Graphics Processor User's Guide 59


Best Practices

Create an Excel report from selected attributes


Objective: Create an Excel report showing the centerline length in the pipeline grouped by pipe
specification and nominal size.
1. Create a Get External Data (GED) .xml configuration file to retrieve the centerline length of
each component.

2. Set up the POD Graphics Processor .xml configuration file as needed. To execute the GED
.xml, you must reference it using the GET-EXTERNAL-DATA element.

3. Include the TABLE element to control the accumulation of data and the output of the report.

4. Open Isogen Configuration, and reference the Isogen POD processor and map the POD
Graphics Processor .xml configuration file. For more information, see Configure the Isogen
POD processor (on page 10).
5. Generate the drawing.

POD Graphics Processor User's Guide 60


Best Practices

6. After drawing generation completes, navigate to the path specified by the REPORT element
to locate the generated report.

POD Graphics Processor User's Guide 61


APPENDIX A

Appendix: Syntax of EXPRESSION


statements and FILTER expressions
The EXPRESSION statement and FILTER expression uses the syntax of the Microsoft
DataTable, which is part of the Microsoft .NET Framework. The information presented in this
appendix is derived from the Microsoft documentation.

Expression syntax
When you create an expression, use the COLUMN Name attribute to refer to columns. For
example, if the COLUMN Name for one column is UnitPrice, and another Quantity, an example of
a FILTER expression would be as follows:
"UnitPrice > 10 AND Quantity < 100"
When you create an expression for a filter, enclose strings with single quotation marks:
"LastName = 'Jones'"

User-Defined Values
You may use user-defined values within expressions to be compared with column values.
Enclose string values within single quotation marks (each single quotation character in a string
value has to be escaped by pre-pending it with another single quotation character). Enclose
date values within pound signs (#) or single quotes (') based on the data provider. Decimals and
scientific notation are permissible for numeric values. For example:
"FirstName = 'John'"
"Price <= 50.00"
"Birthdate < #1/31/82#"
For columns that contain enumeration values, cast the value to an integer data type. For
example:
"EnumColumn = 5"

POD Graphics Processor User's Guide 62


Appendix: Syntax of EXPRESSION statements and FILTER expressions

Operators
Concatenation is allowed using Boolean AND, OR, and NOT operators. You can use
parentheses to group clauses and force precedence. The AND operator has precedence over
other operators. For example:
(LastName = 'Smith' OR LastName = 'Jones') AND FirstName = 'John'
When you create comparison expressions, the following operators are allowed:
<
>
<=
>=
<>
=
IN
LIKE
The following arithmetic operators are also supported in expressions:
+ (addition)
- (subtraction)
* (multiplication)
/ (division)
% (modulus)

String Operators
To concatenate a string, use the + character.

Wildcard Characters
You can use the * and % characters interchangeably for wildcard characters in a LIKE
comparison. If the string in a LIKE clause contains a * or % character, you should enclose those
characters in brackets ([]). If a bracket is in the clause, enclose each bracket character in
brackets (for example [[] or []]). A wildcard is allowed at the start and end of a pattern, or at the
end of a pattern or at the start of a pattern. For example:
"ItemName LIKE '*product*'"
"ItemName LIKE '*product'"
"ItemName LIKE 'product*'"
Wildcard characters are not allowed in the middle of a string. For example, 'te*xt' is
not allowed.

POD Graphics Processor User's Guide 63


Appendix: Syntax of EXPRESSION statements and FILTER expressions

Functions
The following functions are also supported:
▪ CONVERT converts a particular expression to a specified .NET Framework type.
Convert(expression, type)
where expression is the expression to convert and type is the .NET Framework type to
which the value will be converted.
myDataColumn.Expression="Convert(total, 'System.Int32')"
All conversions are valid with the following exceptions:
▪ Boolean can be coerced to and from Byte, SByte, Int16, Int32, Int64, UInt16, UInt32,
UInt64, String and itself only.
▪ Char can be coerced to and from Int32, UInt32, String, and itself only.
▪ DateTime can be coerced to and from String and itself only.
▪ TimeSpan can be coerced to and from String and itself only.
▪ LEN returns the length of a string.
LEN(expression)
where expression is the string to be evaluated.
myDataColumn.Expression="Len(ItemName)"
▪ ISNULL checks an expression and either returns the checked expression or a replacement
value.
ISNULL(expression, replacementvalue)
where expression is the expression to check and replacementvalue is the value returned if
the expression is a null reference.
myDataColumn.Expression="IsNull(price, -1)"
▪ IIF gets one of two values depending on the result of a logical expression.
IIF(expr, truepart, falsepart)
where expr is the expression to evaluate, truepart is the value to return if the expression is
true, and falsepart is the value to return if the expression is false.
myDataColumn.Expression = "IIF(total>1000, 'expensive', 'dear')
▪ TRIM removes all leading and trailing blank characters like \r, \n, \t, ' ' .
TRIM(expression)
where expression is the expression to trim.
▪ SUBSTRING gets a sub-string of a specified length, starting at a specified point in the
string.
SUBSTRING(expression, start, length)
where expression is the source string for the substring, start is the integer that specifies
where the substring starts, and length is the integer that specifies the length of the substring.
myDataColumn.Expression = "SUBSTRING(phone, 7, 8)"

POD Graphics Processor User's Guide 64


Appendix: Extending the POD Graphics Processor

APPENDIX B

Appendix: Extending the POD Graphics


Processor
The POD Graphics Processor supports a plug-in mechanism that allows you to create additional
outputs in any .NET language. These custom outputs behave in the same way as REPORT and
VIEW elements, but you can customize the exact syntax and behavior (including support for
sub-elements) to meet your specific project requirements.
To create a POD Graphics Processor plug-in, you must create a .NET class library using the
PODGraphicsProcessor.exe and Shared.Interop.POD.dll as references. Doing so allows you
access to two interfaces in the PODGraphicsProcessor namespace:

The class library must contain two objects: one that implements the ICustomOutputCommand
interface and one that implements the ICustomOutputElement interface. To enable the plug-in,
modify the PODGraphicsProcessor.exe.configuration file to include a reference to your class
library and the type that implements ICustomOutputCommand in the PGPExtensions
applicationSettings node.

POD Graphics Processor User's Guide 65


Appendix: Extending the POD Graphics Processor

When you run the POD Graphics Processor, you should see the plug-in .dll file being loaded
when you view the log file:

In This Appendix
Implementing ICustomOutputCommand ....................................... 66
Implementing ICustomOutputElement .......................................... 68
Sample project .............................................................................. 70

POD Graphics Processor User's Guide 66


Appendix: Extending the POD Graphics Processor

Implementing ICustomOutputCommand
Implement the ICustomOutputCommand interface by the object that represents the new
command. For an example, see CsvOutputCommand in the sample project (on page 70). The
public functions listed below must be implemented.

Function
public void Initialise(ApplicationSettingsBase applicationSettings,
StreamWriter logfile)
POD Graphics Processor calls this function when the custom output command is first created.
Place any initialization that is required to prepare the plug-in for use in this function. The
applicationSettings parameter allows easy access to any other settings that you add to the
PODGraphicsProcessor.exe.config file to support the plug-in.
The StreamWriter passed in using the logfile parameter should not be closed or
disposed.
Parameters:
applicationSettings
Type: System.Configuration.ApplicationSettingsBase
The application settings instance for the PODGraphicsProcessor.exe.config file.
Logfile
Type: System.IO.StreamWriter
A StreamWriter that allows additional messages to be written to the POD Graphics
Processor log file.

Function
public IEnumerable<ICustomOutputElement>
BuildOutputElements(XmlElement xmlTable, DataTable dataTable)
POD Graphics Processor calls this function once for each TABLE or GROUPBYTABLE element in
the .xml configuration file. Search the XmlElement passed in the xmlTable parameter for the
custom output command's XML element, and then create an instance of the appropriate
ICustomOutputElement derived class for any elements you find. This function returns an
enumerator for all ICustomOuputElement classes created.
Parameters:
xmLTable
Type: System.Xml.XmlElement
The parent TABLE or GROUPBYTABLE element being processed.
dataTable
Type: System.Data.DataTable
A DataTable that contains the results of processing the element in the xmlTable
parameter.

POD Graphics Processor User's Guide 67


Appendix: Extending the POD Graphics Processor

Return Value:
Type: IEnumerable<ICustomOutputElement>
Enumberable<ICustomOutputElement> of the ICustomOutputElements found
under the xmLTable element passed in.

Function
public bool ProcessCustomCommand()
This function is called after all elements in the PODGraphicsProcessor xml configuration file are
processed, which allows the command to perform any batch operations. This includes
operations that collect data from multiple TABLE elements and releasing resources that were
allocated when the plug-in was initialized.
Returning FALSE causes the entire POD Graphics Processor run to fail.
Return Value:
Type: bool
This Boolean data type indicates whether the custom output command succeeded or failed.

POD Graphics Processor User's Guide 68


Appendix: Extending the POD Graphics Processor

Implementing ICustomOutputElement
The ICustomOutputElement represents a single instance of the XML element supported by an
ICustomOutputCommand. Implement the public function listed below.

Function
public bool OutputElement(AliasPOD.POD oPOD, string tableName)
The POD Graphics Processor calls this function to process the output element. The return value
(bool) indicates the success or failure of the custom output element.
Parameters:
oPOD
Type: AliasPOD.POD
The POD file on which this output element operates.
tableName
Type: System.String
The name of the previously supplied DataTable that this element represents.

POD Graphics Processor User's Guide 69


Appendix: Extending the POD Graphics Processor

Sample project
You can view ICustomOutputCommand in the sample project. Follow the steps outlined below:
1. Copy the CsvOutputCommandSample.dll file to the folder that contains
PODGraphicsProcessor.exe.
2. Modify the PGPExtensions application setting in the PODGraphicsProcessor.exe.config so
that it contains the entry shown in the example below.

3. Add a CSVDUMP element to an existing .xml configuration file. An example is shown below.
<TABLE Name='PODCPTS' Source='Components'>
<COLUMNS …>
<COLUMN …. />
<COLUMN … />
</COLUMNS>

<CSVDUMP …. />
</TABLE>
The <CSVDUMP> element supports the following optional attributes:
▪ Name specifies the name of the table.
▪ Filter specifies a filter to apply the data.
▪ Sort specifies how to sort the data. You must define a Filter attribute to use the Sort
attribute.

POD Graphics Processor User's Guide 70


Index

A Q
Appendix QRCODE element • 33
Extending the POD Graphics Processor •
65 R
Syntax of EXPRESSION statements and
FILTER expressions • 62 REPLACE element • 20
Replace text strings with values from the
POD file • 55
B REPORT element • 28
Best Practices • 54
S
C Sample project • 70
COLUMN and COLUMNS element • 25
Configure the Isogen POD processor • 10 T
Create an Excel report from selected
attributes • 60 TABLE element • 24

E V
Example Configurations • 43 VIEW element • 26

F W
FABRICATION-INTERFACE element • 15 What's New in the POD Graphics Processor
•5
Work Piece Components
G Part • 52
GET-EXTERNAL-DATA element • 14 Pipe • 47
Getting Started • 10 Weld • 51
GROUPBYTABLE element • 30 Work Piece Connections • 53

I
IMAGE element • 32
Implementing ICustomOutputCommand •
67
Implementing ICustomOutputElement • 69
Isogen Fabrication Interface XML (FIX) File
• 35

P
PDS_UCI element • 18
Plot a table on the generated drawing • 57
POD Graphics Processor • 7
POD Graphics Processor Configuration File
• 12
Preface • 5

POD Graphics Processor User's Guide 71

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy