Вы находитесь на странице: 1из 67

OpenSteel

Configuration Guide

AVEVA Solutions Ltd

Disclaimer
Information of a technical nature, and particulars of the product and its use, is given by AVEVA
Solutions Ltd and its subsidiaries without warranty. AVEVA Solutions Ltd and its subsidiaries disclaim
any and all warranties and conditions, expressed or implied, to the fullest extent permitted by law.
Neither the author nor AVEVA Solutions Ltd, or any of its subsidiaries, shall be liable to any person or
entity for any actions, claims, loss or damage arising from the use or possession of any information,
particulars, or errors in this publication, or any incorrect use of the product, whatsoever.

Copyright
Copyright and all other intellectual property rights in this manual and the associated software, and every
part of it (including source code, object code, any data contained in it, the manual and any other
documentation supplied with it) belongs to AVEVA Solutions Ltd or its subsidiaries.
All other rights are reserved to AVEVA Solutions Ltd and its subsidiaries. The information contained in
this document is commercially sensitive, and shall not be copied, reproduced, stored in a retrieval
system, or transmitted without the prior written permission of AVEVA Solutions Ltd. Where such
permission is granted, it expressly requires that this Disclaimer and Copyright notice is prominently
displayed at the beginning of every copy that is made.
The manual and associated documentation may not be adapted, reproduced, or copied, in any material
or electronic form, without the prior written permission of AVEVA Solutions Ltd. The user may also not
reverse engineer, decompile, copy, or adapt the associated software. Neither the whole, nor part of the
product described in this publication may be incorporated into any third-party software, product,
machine, or system without the prior written permission of AVEVA Solutions Ltd, save as permitted by
law. Any such unauthorised action is strictly prohibited, and may give rise to civil liabilities and criminal
prosecution.
The AVEVA products described in this guide are to be installed and operated strictly in accordance with
the terms and conditions of the respective license agreements, and in accordance with the relevant
User Documentation. Unauthorised or unlicensed use of the product is strictly prohibited.
First published September 2007
AVEVA Solutions Ltd, and its subsidiaries
AVEVA Solutions Ltd, High Cross, Madingley Road, Cambridge, CB3 0HB, United Kingdom

Trademarks
AVEVA and Tribon are registered trademarks of AVEVA Solutions Ltd or its subsidiaries. Unauthorised
use of the AVEVA or Tribon trademarks is strictly forbidden.
AVEVA product names are trademarks or registered trademarks of AVEVA Solutions Ltd or its
subsidiaries, registered in the UK, Europe and other countries (worldwide).
The copyright, trade mark rights, or other intellectual property rights in any other product, its name or
logo belongs to its respective owner.

OpenSteel Configuration Guide


Contents

OpenSteel Configuration Guide

Contents

Page

Configuration Guide
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1:1
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2:1
Installation on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3:1
Hardware and Operating System Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 3:1
Disk Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3:1

Read from the DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3:1


Flexman License Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3:2
How to Run OpenSteel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3:3

OpenSteel Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4:1


System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4:1
Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4:2
Setting SNDFINTMAPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4:3
Overloading Mapping Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4:3
Set SNDFMAPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4:4

Upgrade a Project for OpenSteel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:1


Cardinal Point Plines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:1
Update the Supplied Catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:1
Update Catalogues not supplied by AVEVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:5
Catalogue Upgrade Step-by-Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:9

Installation of User Defined Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:12

12.0

OpenSteel Configuration Guide


Contents

Special OpenSteel SITES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:12


Integration into other PML Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:13
Uninstall OpenSteel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:13

Customise OpenSteel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:1


External Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:1
Colour Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:2
Tolerance Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:2
Waiting Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:2
Export Header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:3
Connected Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:3
Ignore Material Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:3
External Mapping File Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:4
Pre- and Post-processing Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:4
User-definable Material Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:4
Profile Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6:5

Internal Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7:1


File Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7:2
Text Conversion Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7:3
Holds and Paint Spec Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7:3
Connection Mapping File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7:4
User-Definable Mapping Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7:5

Steel Standards Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7:6

External Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:1


Space-Separated Format for Profile Mapping Files . . . . . . . . . . . . . . . . . . . . . . 8:1
CSV Format for Profile Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:2
Profile Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:2
Record Structure for Profile Mapping File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:2
Steel Standard Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:3
Profile Type Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:3

Extend the Profile Mapping File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:5


Sample Profile Mapping File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:5
Material Mapping Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:6

ii

12.0

OpenSteel Configuration Guide


Contents

User-Definable Material Macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:7


Sample Material Mapping File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:9

Profile Orientation Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8:10

Start OpenSteel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9:1


Examples of Typical Environment Scripts . . . . . . . . . . . . . . . . . . .A1:1
Windows Setup Script OpenSteel_env.bat . . . . . . . . . . . . . . . . . . . . . . . . . . . . A1:1

iii

12.0

OpenSteel Configuration Guide


Contents

iv

12.0

OpenSteel Configuration Guide


Introduction

Introduction
AVEVA OpenSteel is the interface for PDMS which allows the user to import and export files
to and from the DESIGN module using the SDNF (the Structural steel Detailing Neutral File)
format. The SDNF format was originally defined by the Intergraph FrameWorks user
community for the transfer of steel data. The format is in the public domain and is therefore
available to be considered as a suitable means of transferring data between 3D steel
detailing packages and PDMS.
The OpenSteel interface uses a large proportion of the information transferable in SDNF
format. Refer to the OpenSteel User Guide describing SDNF, its format and contents.
This version of OpenSteel is compatible with PDMS (Series 12) on the Windows operating
system.
Glossary

is a Glossary

Installation on Windows

tells the user how to install the product on the workstation.

OpenSteel Environment

describes the OpenSteel environment.

Upgrade a Project for


OpenSteel

describes how to upgrade a PDMS project to configure


user-defined attributes (UDAs) and catalogues before the
user can use OpenSteel. Details are also given on how to
remove as much of OpenSteel from the project as possible.

Customise OpenSteel

describes how to customise the OpenSteel interface.

Internal Mapping Files

describes how to set up the internal mapping files which


control the location of data to be transferred between
different systems.

External Mapping Files

describes how to set up the external mapping files which


control how and what data is transferred between different
systems.

Start OpenSteel

describes the checks that are made when the user starts up
the OpenSteel interface, and how to correct some problems
which may be encountered.

Examples of Typical
Environment Scripts

lists the scripts supplied with the products which the user
will need to edit to customise the OpenSteel interface and
use them with their own projects.

1:1

12.0

OpenSteel Configuration Guide


Introduction

1:2

12.0

OpenSteel Configuration Guide


Glossary

Glossary
This section explains certain terms used in this document.
Cardinal Point

An SDNF concept representing points of significance on the


2D profile and mapped in Design onto the Pline (PLIN)
elements in the Catalogue.

External Package

The system with which this interface is communicating. It


may be a 3D steel detailing package, an intermediate format
or system or even some format related to a particular steel
fabricator or producer.

Linear Member

An SDNF Entity mapped to the Design Section (SCTN)


element.

Plate

An SDNF Entity mapped to the Design Panel (PANE)


element.

PML/F&M

The Design programmable macro language, allowing users


to create their own user interface.

SDNF (Structural steel


Detailing Neutral File
Format)

Defined by the Intergraph FrameWorks user community for


the transfer of steel data. It is in the public domain and is
therefore available to be considered as a suitable means of
transferring data between 3D steel detailing packages and
DESIGN.

Source Package

The external package from which an imported SDNF file is


coming.

Target Package

The external package for which an exported SDNF file is


destined.

UDA (User Defined


Attribute)

An attribute in DESIGN which the user can define and


attach to specific elements. This interface requires a certain
set of UDAs for storing SDNF-specific data.

2:1

12.0

OpenSteel Configuration Guide


Glossary

2:2

12.0

OpenSteel Configuration Guide


Installation on Windows

Installation on Windows
This section tells the user how to install OpenSteel on a Windows workstation and what the
user then needs to do in order to be able to run the program.
The software is supplied on DVD as an optional feature in AVEVA Plant Installer. Read the
label on the supplied medium, and its documentation, for any updated installation
instructions.
It is assumed that the user is familiar with the concepts of directory and file hierarchies for
storing data on disks and with the most commonly used Windows operating system
terminology and commands.

3.1

Hardware and Operating System Requirements


The hardware requirements for running the OpenSteel interface are the same as for running
PDMS (12 Series). See the PDMS & Associated Products Installation Guide for more details
or for completely up-to-date information, please see the AVEVA Solutions Ltd website at
http://www.aveva.com and refer to the Customer Services Hardware pages.
Note: The definition of the hardware and operating system requirements for the third party
software with which this interface is to work is outside the scope of this document.

3.1.1

Disk Space
For a full installation of OpenSteel on a hard disk, the user must have at least 35 Mb of free
disk space for the OpenSteel executables, macros, scripts and test data. During the
installation the Installer checks that there is enough space available before it starts, and
warns the user if there is not. A large proportion of this disk space may be recovered later by
deleting the supplied test project once the user has ensured that the installation has been
successful.

3.2

Read from the DVD


OpenSteel is supplied on the AVEVA Plant DVD. Also on the DVD is a folder containing the
Installation instructions and user documentation, and it is recommended that the user
carefully reads all of the Installation instructions before installing the software.
To install OpenSteel, first insert the DVD in the Workstation's DVD drive, click for Contents,
select the host product (PDMS), and then follow the Installer on screen instructions, making
sure that you select the OpenSteel feature.
If the DVD does not start, click Start > Run, and then browse for the Start.htm file.
Note: During the installation sequence, follow the on-screen instructions as they appear.

3:1

12.0

OpenSteel Configuration Guide


Installation on Windows

It is recommended that the user uses the default settings for folder paths etc.
Note: The default installation disk is the largest disk, and this is not always appropriate.
This can be checked and if necessary changed by clicking the Browse button on the
installer.
The manuals for OpenSteel and Flexman may be read with the Adobe Acrobat file reader.
The C:\AVEVA\Plant directory will now contain a new sub-directory called OpenSteel[ver]
where [ver] is the installed version of OpenSteel.
The OpenSteel[ver] directory will contain the following sub-directories::
sdnfout

A sub-directory containing the license controlled executable for the


export of SDNF files.

sdnfin

A sub-directory containing the license controlled executable for the


import of SDNF files.

maps

A sub-directory containing sample profile mapping files between PDMS


and external 3D steel detailing packages.

manuals

A sub-directory containing this manual and the User Guide.

pml

A sub-directory containing further sub-directories which contain the


DESIGN Forms and Menus user interface.

samples

A directory containing sample SDNF files as exported by other 3D steel


detailing packages.

reports

A sub-directory which contains templates for the production of Anchor


Bolt location and quantity reports and sample files based on the
supplied test project.

OpenSteel_e
nv.bat

A file containing environment variable definitions for incorporation into


each users evars.bat script called on startup of PDMS.

test

A sub-directory which contains test files and project and results from
the test Export and Import.

All the necessary OpenSteel directories have been created and the software installed.
Note: If the installer detects an existing PDMS installation, it will display a set of options for
modifying/repairing/removing these existing files in place of the standard installation
options.

3.3

Flexman License Manager


The user must install and set up the Flexman license system before launching the installed
software. This will usually be done only on the server. refer to the Flexman 4.1 Installation
and Configuration Guide. News and update information is also available for Flexman on the
AVEVA support web-site.

3:2

12.0

OpenSteel Configuration Guide


Installation on Windows

3.4

How to Run OpenSteel


The user must make sure that the Flexman license manager daemon is running before
using OpenSteel, (refer to the Flexman 4.1 Installation & Configuration Guide).
The user must set the environment variables for the interface. Edit each user's evars.bat
file to call the osde_env.bat file provided. Refer to Examples of Typical Environment Scripts
for an example batch file
At the end of the evars.bat file, insert a call similar to:

REM call the Opensteel version


call C:\AVEVA\Plant\OpenSteel[ver]\OpenSteel_env.bat

3:3

12.0

OpenSteel Configuration Guide


Installation on Windows

3:4

12.0

OpenSteel Configuration Guide


OpenSteel Environment

OpenSteel Environment

4.1

System Architecture
The diagram below illustrates the whole OpenSteel interface system architecture. The
external programs are license controlled and need separate licenses before the user is
permitted to use them.

OpenSteel
SDNF
file
P
M
L
(out)

PDMS

shared
PML

database
extract

pdms2sdnf
(C++)
Packet 00
(Header)

ASCII mapping
files
Packet 10
(Linear Members)

P
M
L
(in)

input macro

sdnf2pdms
(C++)Packet 20
(Plates)

External
Package

Import/Export
Interface

Packet 40
(Connections)

Overall System Architecture


Like PDMS, OpenSteel uses environment variables to refer to all directory paths. This
allows the user to locate these directories anywhere on the file system. The product is
supplied with a file OpenSteel_env.bat in the executables directory, which sets default
values for the environment variables so that they point to the directory structure as installed.
It also sets the PATH variable to include the PDMSEXE directory.

4:1

12.0

OpenSteel Configuration Guide


OpenSteel Environment

The user may need to modify this file to reflect the directory structure of their own
installation. The following is a list of the variables the user may need to reset, with a brief
description of each one.
SDNFMAIN

The top directory containing the whole set of OpenSteel


files. For example: C:\AVEVA\Plant\OpenSteel[ver]\

OPENSTEELUI

The location of the OpenSteel interface macros. By default


this is set to %SDNFMAIN%\pml.

PMLLIB

The search path for PML macros. If this is already set, add
the pathname to the directory containing the OpenSteel
application-ware macros. For example: %OPENSTEELUI%
%PMLLIB%.
Otherwise, just set it to the directory containing the
OpenSteel application-ware macros.
For example: %OPENSTEELUI%

PDMSDFLTS

The directory containing PDMS default (DFLTS) files. The


supplied script will set this as follows: %OPENSTEELUI%
%PDMSDFLTS% and the user will not normally have to
change it

xxxDFLTS

The location of the project default mapping files, where xxx


is the project code.
For example, the supplied project is TST. The mapping files
must be stored in a directory called OSDE under the
directory to which xxxDFLTS is set.

SDNFINTMAPS

The location of the mapping files. For example:


%PDMSDFLTS% %TSTDFLTS% %PDMSUSER%
The sequence of the components in the variable will
determine any overloading of mapping files. Refer to
OpenSteel Environment for a more detailed description of
overloading of mapping files.

SDNFMAPS

4.2

This is used in the internal mapping files for the location of


the mapping files. It is set to a single directory. It is not
essential for OpenSteel.

Mapping Files
There are two types of mapping files: internal and external mapping files.
Internal mapping files are prepared by the OpenSteel system administrator. They tell the
interface where on the computer network the external mapping files may be found. The
format of the internal mapping files is described in Internal Mapping Files.
External mapping files are files which determine how the interface handles the data for
going to the target package, or coming from the source package; for example, the Profile,
Profile Orientation and Material mapping files. The format of the external mapping files is
described in External Mapping Files.

4:2

12.0

OpenSteel Configuration Guide


OpenSteel Environment

4.2.1

Setting SNDFINTMAPS
The environment variable SDNFINTMAPS is set to the locations of the internal mapping
files. OpenSteel will search all the directories pointed to by this variable and locate all files
with the suffix .map in each sub-directory called OSDE. The .map files will be imported
during system initialisation as internal mapping files. The internal mapping files become the
basis for locating the external mapping files.

4.2.2

Overloading Mapping Files


The order in which directories are given in the setting of SDNFINTMAPS is important, as
overloading of mapping files is permitted and may occur. This means that a file that is found
in the first directory will be overwritten by a file with the same identifying characteristics,
though not necessarily with the same filename (Internal Mapping Files), found later in any of
the succeeding directories. For example, a project mapping file could overload any
company mapping files.
However, this does not alter the search rules for the external mapping files as based on the
content of the identification line in the internal mapping file.
The diagram below illustrates how these environment variables may be used to select and
overload sets of internal mapping files

4:3

12.0

OpenSteel Configuration Guide


OpenSteel Environment

Internal maps
%SDNFINTMAPS%

Company defaults
%PDMSDFLTS%

Interface defaults
%SDNFIMPEXP%

System defaults
%PDMSDFLTS%

Project defaults
%TSTDFLTS%

User defaults
%PDMSUSER%

C:\AVEVA\...\tstdflts

C:\AVEVA\...\user

is overloaded by
%SDNFIMPEXP%\OSDE
companyProfiles.map
companyMaterials.map
companyStandards.map
companyConnections.map
companyPaints.map
companyHolds.map

is overloaded by

C:\AVEVA\...\tstdflts\OSDE
projectProfiles.map
companyMaterials.map
projectStandards.map
projectConnections.map
projectPaints.map
projectHolds.map

C:\AVEVA\...\user\OSDE
projectProfiles.map
companyStandards.map

Load order

Diagram illustrating use of environment variables to locate internal mapping files

The user does not have to use all three defaults variables, and they can use any others
which have defined as well.

4.2.3

Set SNDFMAPS
For the purposes of this section, the variable SDNFMAPS is assumed to have been set up
in the user's OpenSteel_env.bat file to point to the directory containing the external mapping
files. By default this is actually SDNFMAIN.
The environment variable SDNFMAPS should point to a single directory only. This variable
may be made to be project specific, so that the internal mapping files may be kept
unchanged, but the user will be able to pick up mapping files from a project-specific location.
Note: SDNFMAPS is not a variable specifically required by this interface.

4:4

12.0

OpenSteel Configuration Guide


OpenSteel Environment

INTERNAL PROFILE MAPPING FILE

TSTPRF*TSTPRF
STRUCAD*%SDNFMAPS%/StruCad.map
XSTEEL*%SDNFMAPS%/XSteel.map
+
STEELCAD*%SDNFMAPS%/SteelCad.map
PDMS*%SDNFMAPS%/PDMS.map

PAINT, HOLD & CONNECTION MAPPING FILES

CLASS*PSPEC

INTERNAL MATERIAL MAPPING FILE

TSTPRF*TSTPRF
STRUCAD*%SDNFMAPS%/StruCadMat.map
XSTEEL*%SDNFMAPS%/XSteelMat.map
STEELCAD*%SDNFMAPS%/SteelCadMat.map
PDMS*%SDNFMAPS%/PDMSMat.map

STATUS*HOLD
XSTTSTCON*XSTTSTCON
BP*macro BasePlate
EP*End Plate

COMPUTER NETWORK

PDMS XSTEEL
HE280A HEA280 EUR 1
HE280B HEB280 EUR 1
HE300A HEA300 EUR 1
HE320A HEA320 EUR 1

define function BasePlate( )


...

PDMS XSTEEL
"TREAD-ALU","TREAD-ALUMINUM"
"Steel, carbon","CARBON
STEEL"
"Aluminium, cast","CAST ALUMINUM"
"Pyrocrete","FIRE CONCRETE"

baseplate.pml

EXTERNAL PROFILE MAPPING FILE

USER DEFINED CONNECTION MACRO

EXTERNAL MATERIAL MAPPING FILE

Diagram Illustrating Relationship between Internal and External Mapping and Data Files

The user should take care in using environment variables in internal mapping files, as a
recursive scan is not performed at this level. In this case the variable must point to only one
directory.

4:5

12.0

OpenSteel Configuration Guide


OpenSteel Environment

4:6

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

Upgrade a Project for OpenSteel


After the user has installed OpenSteel and set the appropriate environment variables, they
must run some upgrade macros on the project which:

Update catalogues to include the Pline representation of the SDNF Cardinal Points.

Install the UDAs which OpenSteel requires.

Note: the user will have to perform these actions on the supplied project. This is in order to
familiarise themselves with the process of upgrading a project for OpenSteel.

5.1

Cardinal Point Plines

5.1.1

Update the Supplied Catalogues


The standard AVEVA Solutions Ltd supplied steelwork catalogue must be upgraded to
include the Pline representation of the SDNF Cardinal Points. Refer to the OpenSteel User
Guide which describes the Cardinal Points in more detail.
Note: This upgrade process works only for the AVEVA Solutions Ltd supplied catalogues.
The user may upgrade the catalogues by performing the following actions:
1. Enter PDMS and enter PARAGON with write access to all relevant catalogue
databases.
2. In a command window in PARAGON, run the upgrade macro by the following
command:
3. call !!SDNFCataUpgrade( )
4. The macro suite will check to see if this upgrade has already been executed and create
or modify the original set of Cardinal Points with an updated set.
5. Exit from PARAGON, saving the changes by returning to MONITOR.
There are 15 Cardinal Points defined in the SDNF standard. The OpenSteel interface uses
only 14 of them: the Shear Centre (Cardinal Point 15) is not a practical reference point to
use in these circumstances. Of the remaining Cardinal Points, OpenSteel tries to use those
between 1 and 10, because other systems prefer to use these, rather than the higher points.
If the user has not used Plines representing Cardinal Points to place Linear Members in
PDMS, during the Export or Import processes an attempt is made to map existing Plines
onto Cardinal Points. This mapping is performed using information stored in a configuration
file, sdnfloadcpdata.pmlfnc in the pml/functions directory. This basic Pline mapping is as
follows:

5:1

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

Symmetric Sections about Y Axis


Pline

mapped to

Pline

which is

Cardinal Point

RBOS

SNFA

BOS

SNFB

SS

SNFB

LBOS

SNFC

RIGH

SNFD

NARO

SNFD

AA

SNFD

MM

SNFF

NALO

SNFF

LEFT

SNFF

RTOS

SNFG

GG

SNFH

TOS

SNFH

LTOS

SNFI

NA

SNFJ

10

Angles
Pline

mapped to

Pline

which is

Cardinal Point

TOAX

SNFA

TOAY

SNFA

RTTA

SNFC

LBOA

SNFG

NA

SNFJ

10

NAT

SNFK

11

NAL

SNFL

12

5:2

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

Channels
Pline

mapped to

Pline

which is

Cardinal Point

LTOC

SNFA

RTOC

SNFC

FOC

SNFD

ROC

SNFF

LBOC

SNFG

RBOC

SNFI

NA

SNFJ

10

TOC

SNFK

11

BOC

SNFN

14

For further explanation of the reasons why the mapping may seem inconsistent, see the
section describing the assumed default profile orientations in the SDNF file and Cardinal
Point locations in the OpenSteel User Guide, and the Structural Design User Guide. In
particular we draw the users attention to the different handedness of the coordinate systems
as illustrated below.

Y
Z
X

X
Z

Left handed system


(FrameWorks)

Right handed system


(PDMS)

The main differences arise from the mapping of the profile orientations in the PDMS
Catalogue onto the agreed SDNF format. The difference is most apparent in channel and
angle profiles. The diagram below illustrates the mappings of the Plines to Cardinal Points.

5:3

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

Note: The different Y directions to match the default angle orientations in each system.

Y
(PDMS)
CP 11
Plines
SNFK
NAT

CP 1
Plines
SNFA
TOAX
TOAY

CP 12
Plines
SNFL
NAL

CP 2
Pline
SNFB

CP 10
Plines
SNFJ
NA

CP 3
Plines
SNFC
RTTA

CP 13
Pline
SNFM

X
(PDMS)

CP 4
Pline
SNFD

X
CP 5
Pline
SNFE

Z
(PDMS)

Z
(SDNF)
CP 7
Plines
SNFG
LBOA

CP 6 (SDNF)
Pline
SNFF

CP 9
Pline
SNFI

CP 14
Pline
SNFN

CP 8
Pline
SNFH

Y
(SDNF)
Diagram illustrating mapping of Cardinal Points to Plines
for Angle profile
If the user wishes to create profiles, the user must provide a Pline set similar to the ones
provided here to map onto the Cardinal Point Pline set. If they are named differently, there
must be a mapping to SDNF Cardinal Points as shown above. This is performed in the file
sdnfloadcpdata.pmlfnc in the pml/functions directory. Further, the user may have to manage
the orientation of the profile with regard to the SDNF intermediate form by using the Profile
Orientation mapping file (External Mapping Files).
A sample extract of the Pline mapping in the file sdnfloadcpdata.pmlfnc is given here.

-- Cardinal point Pkeys


!!SDNFCPPkeys.delete( )
handle( 2,751 )
-- Variable does not exist
endhandle
!!SDNFCPPkeys = ARRAY( )

5:4

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

!!SDNFCPPkeys[ 1 ]
!!SDNFCPPkeys[ 2 ]
!!SDNFCPPkeys[ 3 ]
-- Angles
!!SDNFCPBMTOAX
!!SDNFCPBMTOAY
!!SDNFCPBMRTTA
!!SDNFCPBMLBOA

= |SNFA|
= |SNFB|
= |SNFC|
=
=
=
=

|SNFA|
|SNFA|
|SNFC|
|SNFG|

In the above example, the Pline, whose Pkey is TOAX, is mapped to the Pline whose Pkey
is SNFA and which is equivalent to the Cardinal Point number 1; RTTA is equivalent to
SNFC (Cardinal Point 3). The user must not alter in any way the array which maps
Pline names to Cardinal Point Pkey values, i.e. the array !!SDNFCPPkeys.
Thus, if the user has a new Pline, whose Pkey is RTOP, which is to be equivalent to
Cardinal Point 3, the user must insert a line similar to the following in the mapping list:

!!SDNFCPBMRTOP

= |SNFC|

i.e. the format is

!!SDNFCPBM<Pline PKEY> = |SNF[A-N]|


the user will then be able to use the RTOP Pline for their own positioning functions, but the
interface will know that it is equivalent to the SNFC Pline (i.e. Cardinal Point 3). Thus,
importing new items positioned using Cardinal Point 3 will appear in the PDMS model to
have been positioned using the RTOP Pline.
Pline mapping on Import is subject to the constraint that the map will take the first equivalent
it finds. In some circumstances the Pline TOAY (Cardinal Point 1) may be Imported as Pline
TOAX (also Cardinal Point 1) because the TOAX mapping is the first suitable one the
system finds. There is no way that the interface can determine which Pline the system
originally used.

5.1.2

Update Catalogues not supplied by AVEVA


Important: The naming conventions for the Pline sets should be similar to those used in the
AVEVA supplied Catalogues.
This section gives details on how the user can update the steel catalogues to include the
Plines necessary for the OpenSteel interface.
The macro file, sdnfusercataupgr.pmlfnc in the pml/upgrade directory provides the basis
on which the user may build their own mechanism for updating the catalogues automatically.
We have indicated where the user may have to modify this file with lines prefixed by:

>>>> User
The macro must be run for each catalogue (CATA element) the user wishes to update. the
user may have to modify it in a different way for each catalogue. (Details about how the file
should be modified are given in following sections.)
The user can write a macro which will call all the modified files in turn and so upgrade all
their catalogues at once. The macro takes one argument which is the DBREF (the database
reference number) of the catalogue to be updated.
To update individual catalogues, run the upgrade macro as follows:

5:5

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

1. Start up PDMS and enter PARAGON with write access to all the relevant catalogue
databases.
2. Make the catalogue (CATA) the user wants to update the current element and give the
command:
call !!SDNFUserCataUpgr( !!CE )
3. Repeat for as many catalogues as required.
4. Save your work and exit from PARAGON by returning to MONITOR.
Generic Catalogue Shapes
The AVEVA Solutions supplied catalogue contains profiles of 8 standard generic shapes
which are detailed in the manual Structural Design User Guide. That manual explains the
parameterisation method for these shapes. As a result, there are 8 generic macros in the
pml/upgrade directory, one for updating the Pline set of each standard shape. These are:
Profile Shape

Macro

Tee shape

sdnfupgradet.pml

I shape

sdnfupgradei.pml

O, Tube, CHS shape

sdnfupgradeo.pml

C, Channel shape

sdnfupgradec.pml

L, Angle shape

sdnfupgradel.pml

RHS shape

sdnfupgraderhs.pml

Japanese Bulb shape

sdnfupgradejbulb.pml

DIN Bulb shape

sdnfupgradedbulb.pml

If the user has other additional shapes, or have parameterised them in a different way from
the supplied PDMS catalogues, the user will have to write their own macro for their own
shape based on the most suitable one provided. Please take note of the catalogue profile
orientation with regard to the SDNF format. Refer to the OpenSteel User Guide for more
details.
Customise the SDNF Pline Generating Macros
In order to customise the generic SDNF Pline generating macros listed above, or to create
their own, the user will need to understand fully how the profile in question is parameterised
in their catalogue database, and how the profile shape is positioned relative to the Neutral
Axis and the X/Y origin in the catalogue. Below is an extract of the supplied
sdnfupgradel.pmlfnc macro, including parts of the header.
-------------------------------------------------------------------------- Significant Catalogue Parameters:
--

[#] [Description]

--

Vertical leg length (Y)

--

Horizontal leg length (X)

--

Thickness

--

Cy (X offset)

--

Cx (Y offset)

--

Unit weight

[Specials]

Vertical leg

(JIS-PTSS-JANG)

Horizontal leg (JIS-PTSS-JANG)

--

5:6

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

------------------------------------------------------------------------- Define function


define function !!SDNFUpgradeL( ) is REAL
-- Initialisation
!error

= !!SDNFCPErrOK

!origin = ( ref )
-- Build map of existing PLINes
!plineMap = ARRAY()
var !coll collect all PLIN with (substring((PKEY ),1,3) eq |SNF|)for CE
if( not !coll.empty( ) )then
-- Build a map indexed on PKEY - don't delete them
do !i values !coll
$!i
!pkey = PKEY
var !pkeyString hash( |$!pkey| )
!index = !pkeyString.real( )
!plineMap[ !index ] = !i.dbref( )
enddo
endif
-- Create all new SDNF PLINes necessary
!pkeysHashed = ARRAY( )
do !i to !!SDNFCPPkeys.size( )
!pkey = !!SDNFCPPkeys[ $!i ]
var !pkeyString hash( |$!pkey| )
!index = !pkeyString.real( )
!pkeysHashed[ $!i ] = !index
-- Try going to PLINe called SNF[A-N]
$!plineMap[ $!index ]
handle( 2,109 )( 2,752 )
-- Failed - create it
NEW PLIN $!!SDNFCPData
PKEY $!pkey
!ref = ( ref )
!plineMap[ !index ] = !ref
endhandle
enddo
-- Set Pline dimensions
!YOff

|( ATTRIB CPARA[ 4 ] )|

!nYOff = |( ATTRIB CPARA[ 4 ] - ATTRIB CPARA[ 1 ] )|


!YCOff = |( ATTRIB CPARA[ 4 ] - ( ATTRIB CPARA[ 1 ] / 2.0 ) )|
!XOff

|( ATTRIB CPARA[ 2 ] - ATTRIB CPARA[ 5 ] )|

!XCOff = |( ( ATTRIB CPARA[ 2 ] / 2.0 ) - ATTRIB CPARA[ 5 ] )|


!nXOff = |( -1.0 * ATTRIB CPARA[ 5 ] )|
-- All requisite PLINes exist now

-- Cardinal point 1

- Pkey = SNFA

$!plineMap[ $!pkeysHashed[ 1 ] ]
PX $!nXOff PY $!YOff PLAX -Y
-- Cardinal point 2

- Pkey = SNFB

$!plineMap[ $!pkeysHashed[ 2 ] ]
PX $!XCOff PY $!YOff PLAX -Y
-- Cardinal point 3

- Pkey = SNFC

$!plineMap[ $!pkeysHashed[ 3 ] ]

5:7

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

PX $!XOff PY $!YOff PLAX -Y

and so on.
The structure of all the supplied macros is similar.
Note: We record our interpretation of the catalogue parameters in the header.
The macro first builds a list of any SDNF Plines that already exist. Any SDNF Plines that are
not available and are needed by the OpenSteel interface as listed in the !!SDNFCPData
array, are then created. This ensures we use the latest configuration.
We then need to define the SDNF Cardinal Point Pline location parameters related to the
method of catalogue parameterisation. These are Xoff, YOff, nYOff and nXOff. We also
need to work out the location of the geometric centre relative to the method of profile
definition. These location parameters are XCOff and YCOff. The user will see above that the
definition is in terms of a text string which describes a formula. Later on in the macro, this
text string is inserted into the command line. This use of PML allows the user to insert
formulae into the Pline definition, rather than the immediately evaluated formula.
Using these SDNF Pline location parameters, all the Cardinal Point Plines required for the
OpenSteel interface can be located. Refer to the OpenSteel User Guide regarding these
Cardinal Points.
If the user is extending or modifying OpenSteel, all the user should need to do is to modify
the part of the macro which calculates the location parameters. the user should, however,
pay close attention to the default profile orientations within SDNF.
The structure of the upgrade process allows the user to run the macro during the project as
well as at project initiation. Any database relationships that refer to the old Plines will be
maintained, e.g. dimensions.
Map Pline Set Names to Profile Shapes
Once the user has defined their generic shapes the user needs to be able to map the Pline
set names to that shape. This is done by filling in a mapping file of PML objects in the
sdnfusercataupgr.pmlfnc macro file. The first set in the UserMap array may have to be
modified, and the user may have to extend the list for their own additional specific shapes.
For example, a complete mapping for a Pline set consists of the following:
-- Map Shapes to generic update macros
!TShape
= |!!SDNFUpgradeT( )|
!IShape
= |!!SDNFUpgradeI( )|
!OShape
= |!!SDNFUpgradeO( )|
!CShape
= |!!SDNFUpgradeC( )|
!LShape
= |!!SDNFUpgradeL( )|
!RHSShape
= |!!SDNFUpgradeRHS( )|
!JBULBShape
= |!!SDNFUpgradeJBULB( )|
!DBULBShape
= |!!SDNFUpgradeDBULB( )|
-- >>>> User to add any specific shapes here
-!USERAShape
= |!!SDNFUpgradeUSERA( )|
-- >>>> User Map definition between PTSS and Shape code
!UserMap = ARRAY( )
!UserMap[ 1 ]
= object SDNFMAPOBJ( )
!UserMap[ 1 ].Name
= |/USER-PTSS-I|
!UserMap[ 1 ].Macro
= !IShape

5:8

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

This means that the Pline set (PTSS) named /USER-PTSS-I is to be modified using the
PML macro represented by the variable !Ishape. Further up, the user can see that the
!IShape variable is associated with the macro !!SDNFUpgradeI( ).

5.1.3

Catalogue Upgrade Step-by-Step


Below are instructions to create and upgrade the Catalogue based on the requirement to
create a new profile shape in both DESIGN and the external steel detailing package. Any
operations that require changes to system mapping files, should be preceded by backing up
the files first.
New Profile Shape Definition
With each package the user will need to create the new 2D profile shape. In PDMS (Series
12), this is done in PARAGON. Determine the generic shape and parameterisation best
suited to the required profile.
At this point do not include SDNF Plines in the Pline set just place other Plines the user will
find useful and name them accordingly. Do not include any Plines with PKEY values SNFA
to SNFN as these will be added in the upgrade process. Build the new catalogue, recording
which parameters apply to which dimension.
In the steel detailing package create the profile such that its default orientation will be the
same as that in DESIGN when laid out from start to end.
With predefined profiles, such as unequal angles, the default orientation may be different. In
this case, the user may need to use mirroring and/or rotation transformations to get to the
correct "starting position". Mirroring represents a transformation about the Y axis: rotation is
about the Z axis, following the "Right Hand Screw Rule". Keep a record of these necessary
transformations as they will go into the orientation mapping file.
On the 2D profile in each package locate where the Cardinal Points and their Pline
equivalents will be. In the PARAGON module, place any other Plines that the user may find
useful. Record the correspondence between Cardinal Points and Pline names. Remember
also that any mirroring and rotation will affect the Cardinal Point locations.

Above are the three diagrams that show the Plines and Cardinal points that are to be
considered in DESIGN and Frameworks for the case of an unequal angle. The left hand
diagram shows the normal Plines associated with the angle profile in its default orientation;
the middle diagram shows the Cardinal point positions in Frameworks for the angle, also in

5:9

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

its default orientation; the right hand diagram shows the Pline equivalents to the Cardinal
Points.
Note: The coordinate system in PDMS is right handed, whereas in Frameworks it is left
handed. The Cardinal Point : Pline equivalencing by superposition is illustrated
below. Using this kind of diagram the user will be able to determine the mappings
between Plines and Cardinal Points.

If the new profile is not one of the existing types, the user may need to assign a new profile
integer type code to it for use in the profile mapping file.
Also, if the new profiles are for a new country standard, the user may need to assign a new
country code to this. This three letter abbreviation is stored in the internal steel standards
file. This TLA is also used in the profile mapping file.
Upgrade the Catalogue for SDNF
Upgrading the Catalogue involves adding SDNF Plines to be equivalent to the Cardinal
Points.
In PARAGON determine the parameterised geometry and Pline positioning for the Cardinal
Points.
If the user is extending an existing generic shape use the existing upgrade file provided. Or
if the profile can be based on an existing generic shape, use a customised copy of the
sdnfupgrade<*>.pmlfnc macro. Modify the profile upgrade macro to account for the new
parameterisation to create and locate the SDNF Plines for the Cardinal Points. Use an
existing example as a guide.
Any new Pline names, as set in the PKEY attribute, must be mapped to Cardinal Points in
the sdnfloadcpdata.pmlfnc macro. PML is a language that enables the user to construct
variable names from string components and then use them. This is how the Pline mapping
is managed. Inspect the current file for directions on how to extend this file. Modify it then
run it.

5:10

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

-- Cardinal point Pkeys


!!SDNFCPPkeys.delete( )
handle( 2,751 )
-- Variable does not exist
endhandle
!!SDNFCPPkeys = ARRAY( )
!!SDNFCPPkeys[ 1 ] = |SNFA|
!!SDNFCPPkeys[ 2 ] = |SNFB|
!!SDNFCPPkeys[ 3 ] = |SNFC|

-- Angles
!!SDNFCPBMTOAX = |SNFA|
!!SDNFCPBMTOAY = |SNFA|
!!SDNFCPBMRTTA = |SNFC|
!!SDNFCPBMLBOA = |SNFG|
Run sdnfcataupgr.pmlfnc macro for upgrading standard catalogues.
Inspect the macro sdnfusercataupgr.pmlfnc to extend any lists to include the new profile
shape, associating it with any new profile upgrade macro. Once modified, run this macro.

!Ishape =
!UserMap[
!UserMap[
!UserMap[

|sdnfupgradei()|
1 ] = object SDNFMAPOBJ( )
1 ].Name = |/USER-PTSS-I|
1 ].Macro = !Ishape

Modify the Orientation Mapping File


For the chosen profile in the chosen standard, if any transformations are to be applied to
convert from DESIGN to the SDNF default system, they are to be recorded in the orientation
mapping file for the target detailing package. If the profile requires no transformations, it
should not be listed in this file. In the example below, the British type 9 profiles are
orientated by mirroring (1) and then rotating by 180 degrees. British type 8 profiles are not
mirrored (0) and just rotated by 180 degrees.

PDMS STRUCAD
BRI 8 0 180
BRI 9 1 180
DIN 8 0 180
DIN 9 1 180
Modify the Profile Mapping File
Any new profiles requiring mapping between DESIGN and the external steel detailing
system should be entered in the mapping file appropriate to the detailing package. For
example:

PDMS XSTEEL
HE280A HEA280 EUR 20
HE280B HEB280 EUR 21

5:11

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

Reinitialise the System and Save the UI Binaries


On the OpenSteel Export or Import main forms use Control > Re-initialise for resetting the
configuration data only.
Or execute call !!sdnfimpexp() in a command window
to reinitialise the system. However this last option is very brutal as all form settings will be
lost because the forms and menus are regenerated. The user will have to regenerate UI
binaries after this.

5.2

Installation of User Defined Attributes


Before the user starts designing steelwork, the interface requires a set of User Defined
Attributes (UDAs) specifically for storing OpenSteel related information. These are installed
by performing the following actions:
1. Start up PDMS and go into LEXICON with write access to all the relevant Dictionary
databases.
2. Execute the upgrade macro by the following command:
call !!SDNFUDAUpgrade( )
3. Exit from LEXICON, saving your changes, by typing Monitor.
Note: This upgrade may be run even if the UDAs exist already. In this way the user may
upgrade the system whenever necessary; for example, to include more UDAs
needed for a later version of the interface.

5.3

Special OpenSteel SITES


When the OpenSteel application installs itself in the Design database, some SITE elements
will be created. Typically these will be called something like /SDNF-CONFIG-DEMOSYSTEM and /SDNF-OLD-DEMO-SYSTEM. The first is a SITE to store information about
the Import and Export processes, default Header information, and Transfer and Revision
numbers. The second is a SITE to store items which have been 'deleted' from the model
during the Export/Import design cycle. This latter site will be created only when needed. The
user can always recover elements from this area if they need to later on.
The name of the configuration and deleted element SITEs are built up of the following
components::
/SDNF-

the system prefix

CONFIG-

identification of a Configuration SITE

OLD-

identification of a SITE for deleted elements

<mdb name>

the current MDB, e.g. /DEMO

<user name>

the current user name, e.g. SYSTEM

OpenSteel will check that the user has read/write access to their specific SITEs, since the
user and the interface may need to edit certain attributes. Refer to the OpenSteel User
Guide for more information.
The SITE for deleted elements, named in a similar manner to the Configuration object and
described in more detail in the User Guide, will store the 'deleted' elements in STRUs

5:12

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

according to the Import revision, so that the user can quickly isolate which items were
deleted at which time.
The user will note that the SITE names contain the current MDB and the current user name.
This is to facilitate multi-user working, and multiple accesses to the database. There may be
several of these, depending on which MDB and/or user has access to the particular
database. During the Import and Export processes, all these elements are inspected to
extract the latest transfer information.

5.4

Integration into other PML Applications


In the pml directory are several files beginning with DES. They are found in the path of the
%PDMSDFLTS% environment variable and called on startup of the DESIGN module or the
individual PML Applications. They are:
DES-INIT-MAC

called on startup of DESIGN

DES-UTILS-GEN

called on startup of the General Application toolbar

DES-UTILS-STLWRK

called on startup of the Steelwork Application toolbar

Therefore, the supplied product will be available automatically in the DESIGN General and
Steelwork application-ware systems.
If the user wants to integrate OpenSteel into other application-ware toolbars, all the user
needs to do is to find the suffix applicable to the toolbar with which the user wants to
integrate OpenSteel and copy either of the DES-UTILS-xxx files to have the new suffix.
OpenSteel will then become available in that application-ware package.
For example, to integrate OpenSteel into the Piping Application, the user needs to copy
DES-UTILS-GEN to a file called DES-UTILS-PIPE. OpenSteel then becomes available
under the Utilities > Piping menu option.

5.5

Uninstall OpenSteel
The principal things the user has to do to uninstall OpenSteel from PDMS are:

to remove the UDA definitions;

to remove the extra OpenSteel Plines;

to remove the Configuration SITE elements;

to remove the link to the PML appware.

There are two PML functions in the pml/functions directory which the user can run from
LEXICON and PARAGON to perform the first two actions. They are run in a command
window by using the following syntax:
call !!SDNFRemUDAs( )

in LEXICON

call !!SDNFRemPlines()

in PARAGON

The user can then, if they want, remove all the /SDNF-CONFIG-xxx elements from every
Design database, as these will no longer be necessary.
It is then up to the user whether the user delete the SITEs containing the deleted elements.

5:13

12.0

OpenSteel Configuration Guide


Upgrade a Project for OpenSteel

Finally, the user need to disconnect OpenSteel from the DESIGN application ware. This
involves deleting or renaming the DES files in the pml directory.

5:14

12.0

OpenSteel Configuration Guide


Customise OpenSteel

Customise OpenSteel
This chapter describes the PML variables which the user can set to customise OpenSteel.
They are set in the file called sdnfuserdata.pmlfnc found in the pml/functions directory of
the interface.
If the user customises the OpenSteel forms, the user must reload the DESIGN user
interface from macros in order to rebuild it. If the user changes variables in the user data
area, the user can use the Reinitialise option on the main Import or Export forms. Refer to
the OpenSteel User Guide for more details.
Alternatively, the user may reload the OpenSteel system variables and rebuild the forms
using the following command, after the user have saved the sdnfuserdata.pmlfnc file:

call !!SDNFImpExp( )
However, if the user finds that the user interface forms are damaged, reload the DESIGN UI
from macros. A typical message indicating this condition might be:

Object does not have a member .targetlist


The user must also load the DESIGN UI from macros if the user make any changes to the
internal mapping files

6.1

External Packages
If the user uses other external packages that can export and import SDNF files, the user can
extend the list of external packages which the interface will know about by modifying the
following two list attributes:

!!SDNFExtProgList
!!SDNFExtProgAbbr
These lists must be kept in step with each other, as they match the names of the external
packages with their three-letter abbreviations used internally in the interface. They may
represent steel detailing packages, or the name on an intermediate mapping state, e.g.
SDNF, or even the mapping for a particular steel manufacturer. It is this three-letter
abbreviation which is used in the identification of the correct mapping files (see below). Note
that ANY should be the last entry in the abbreviation list. The supplied lists are constructed
as follows:

!!SDNFExtProgList.append(
!!SDNFExtProgList.append(
!!SDNFExtProgList.append(
!!SDNFExtProgList.append(

|SteelCAD| )
|StruCAD| )
|XSteel| )
|PDMS| )

and

6:1

12.0

OpenSteel Configuration Guide


Customise OpenSteel

!!SDNFExtProgAbbr.append( |STE| )
!!SDNFExtProgAbbr.append( |STR| )
!!SDNFExtProgAbbr.append( |XST| )
!!SDNFExtProgAbbr.append( |PDM| )
-- ANY to be the last in the list
!!SDNFExtProgAbbr.append( |ANY| )
This list is picked up automatically by the Import and Export forms. Thus, if the user wants to
extend or modify the list of Target Packages the user needs only to change it here, and not
in the form definition files. The user will also have to generate the other internal and external
mapping files required by the new system.

6.2

Colour Code
The user can change the colours of the objects on the screen using the variables listed
below. If the user wants to change them, the list of colour numbers is given in the DESIGN
Reference Manual. The default settings are:

!!SDNFColChanged
!!SDNFColAdded
!!SDNFColDuplicate
!!SDNFColDeleted
!!SDNFColExported
!!SDNFColDefault

=
=
=
=
=
=

(
(
(
(
(
(

12 )
5 )
6 )
2 )
3 )
1 )

$*
$*
$*
$*
$*
$*

Mauve
Green
Cyan
Red
Orange
Grey

The duplicate colour is used when the import system searches for items with duplicated
mark numbers.

6.3

Tolerance Settings
The user can modify the distance tolerance (the separation, in millimetres, below which two
points are considered coincident), the minimum Plate thickness, and the minimum length of
Linear Members. The minimum tolerance is used as a fine tolerance value in vector
comparisons, such as for angles.

-- Set distance tolerance


!!SDNFDistTol
= ( 1 )
!!SDNFMinTol
= ( 0.01 )

6.4

Waiting Time
The system wait time represents a unit of time which the interface will wait while the external
program is executing. If there is no response within this time, the interface may assume that
the external program has stopped for some reason. This may not be the case - it may just
be working hard! The user will be asked whether they want to wait for another unit period.
This variable is nominally measured in seconds, but it is also dependent on how busy the
computer is on other tasks as well.

-- Set wait time


!!SDNFWaitTime
!!SDNFNoOfTries

= ( 10 )
= ( 5 )

6:2

12.0

OpenSteel Configuration Guide


Customise OpenSteel

There is also a variable, !!SDNFNoOfTries, which is used to determine how many iterations
of the waiting loop the interface goes through before prompting the user for further
information.

6.5

Export Header
The default Export file header information is to be contained in the Configuration SITE
element. Header information can also be stored in ZONE and STRU elements. The user
can therefore create elements to store information specific to a particular Export event and
use this information in the Export process. This variable indicates where that will be. The
default is set up by the system, but the user may want to override that setting using the code
below.

-- Source of Export Header data


!!SDNFExpHeader
= !!SDNFConfigObj
This should be set to a string representing the name of the SITE from which the
configuration details are to be taken.e.g.

!!SDNFExpHeader

= |/OtherHeaderSITE|

The user will still have the opportunity to choose the another header element during the
Export process; this variable just sets up a default location.
The header element will contain information about the imported or exported model, the
client information, target information about the steel contractor and other details. This
information can be customised per run by the creation of Sites, Zones or Structures and
their selection as required.
The role of header elements has changed since previous versions of OpenSteel as the
Transfer and Revision data have been separated into the Configuration SITEs. OpenSteel
now manages these Configuration SITEs separately from the header elements.

6.6

Connected Members
The user may set the default to ignore unconnected members. Alternatively, the user may
set the value to true so that they do not Export unconnected members. If the user wants to
ignore unconnected Linear Members, the user will receive a warning in the log file if any are
found, otherwise an error is raised.

-- Ignore unconnected Linear members


!!SDNFNoUnconnMem
= false

6.7

Ignore Material Flag


The user can choose to ignore any errors caused by different material mappings by using
this flag. What this means is that on comparing the original model with the imported model,
any difference in material is not raised as an error.

-- Ignore Material changes


!!SDNFIgnoreMatl = false

6:3

12.0

OpenSteel Configuration Guide


Customise OpenSteel

6.8

External Mapping File Separator


The separator character for the external mapping files may be either a space or a comma.
Using the variables below, the user can indicate their choice.
Note: Note that all the files of the same type (either Material, Orientation or Profile) must
use the same separator consistently: the user cannot have some Material files space
separated, while others are comma separated.

-- Mapping File separators


!!SDNFProfSep
= !!SDNFSpaceSep
!!SDNFMatSep
= !!SDNFCommaSep
!!SDNFOriSep
= !!SDNFSpaceSep

6.9

Pre- and Post-processing Macros


The user can write their own macros to be run before and after the Export process has taken
place. This lets the user build a model in DESIGN which then needs some sort of pre- or
post-processing. This is performed using the variables below:

-- Pre/Post Export User Defined Macros


!!SDNFPreExpMac = |preexport|
!!SDNFPostExpMac = |postexport|
The above syntax defines the names of two macros which are to be found in the directory
structure below the %PMLLIB% environment variable. They are named preexport.pmlfnc
and postexport.pmlfnc, respectively.
These macros will be called before and after the Export process has been executed. These
macros should have no arguments and return no value.
Note: It is for the user to handle all internal errors within the macros.

6.10

User-definable Material Macro


If the material information is not contained in the MATR or :SDNFMGRADE attributes, it may
be extracted using a user-definable macro. This macro is identified using the following
global variable:

-- Material macro
!!SDNFMaterialMac = |sdnfgetusermatl|
This would enable the user to configure the system to extract material information in a
manner different from the default system. See User-Definable Material Macro.
The above defines a reference to a macro which is to be found in the directory structure
below the %PMLLIB% environment variable. This macro takes no arguments and returns a
string.
Note: It is for the user to handle all internal errors within the macro.

6:4

12.0

OpenSteel Configuration Guide


Customise OpenSteel

6.11

Profile Mapping Files


The user can create their own Profile mapping files using either the PDMS Specification
Component or the Catalogue Component. This is a significant decision the user will have to
make before starting to build their mapping files, as all of the files must be built using one
reference or the other. The user cannot mix the PDMS names.
Note: The supplied files are based on the Catalogue Component names.
In the sdnfuserdata.pmlfnc function there is a variable, !!SDNFProfMapRef, which the user
can set to determine whether OpenSteel uses the Specification or Catalogue Component.
By default the lines are as follows, with the second line commented out:

-- Profile Map Table Ref


!!SDNFProfMapRef = |CATR|
-- !!SDNFProfMapRef = |SPRE|
Should the user want to build their Profile mapping files using the Specification Component,
comment out the first line and uncomment the second, thus:

-- Profile Map Table Ref


-- !!SDNFProfMapRef = |CATR|
!!SDNFProfMapRef = |SPRE|
Now OpenSteel will use the name of the Specification Component as their mapping name.
This means that the Profile mapping files must be built differently. Below is an example of
each case.
The original XSteel Profile Mapping File, very much abbreviated (to just one line after the
first one), is as follows:

PDMS
OD193.7x5

XSTEEL
PD193.7X5

EUR

13

This means that the XSteel profile PD193.7X5 will be related to the Catalogue Component
whose name is /OD193.7x5.
To use the second option, this should appear as something like the following, where the
PDMS name is actually the name of the PDMS Specification Component.

PDMS
DIN-SPEC/OD193.7x5

XSTEEL
PD193.7X5

6:5

EUR

13

12.0

OpenSteel Configuration Guide


Customise OpenSteel

6:6

12.0

OpenSteel Configuration Guide


Internal Mapping Files

Internal Mapping Files


The interface relies on several internal mapping files. These define where external mapping
files are located on the users system network, or they define the mapping of strings or
attributes between DESIGN and the intermediate SDNF file. It is the users responsibility to
modify them correctly so that they indicate the correct file location
Note: If the user changes any of the internal mapping files, the user must reload the
DESIGN user interface from macros. Alternatively the user can use the Reinitialise
menu option on the main OpenSteel Import and Export forms. The user should then
resave the binary UI.
Internal mapping files are loaded on start-up of the OpenSteel interface. If there are any
problems on loading, the user will be prompted to confirm that the user wants to carry on
with using the interface, although it is frequently inadvisable. If the user does not continue, a
fatal error is raised and the interface exited.
Internal files must have a suffix .map and be stored in a directory under the
%SDNFINTMAPS% environment variable. The supplied interface stores example files in a
directory pml/OSDE.
Internal mapping files are of the form of an asterisk (*) separated sequence of strings. The
first line of the file is taken to be a file identifier, the precise rules for which are defined
below.
When an SDNF export file is created, all these internal files are listed at the top of the file as
comments for the users information. Comment lines in SDNF start with the # symbol.
As an aid to generalising the users interface, the user may include environment variables in
the path names as long as they are defined in PDMS format; for example:
%ENVVAR%\
These environment variables cannot be search paths: they must translate to a reference to
a single directory.

7:1

12.0

OpenSteel Configuration Guide


Internal Mapping Files

Error and Log File Messages

7.1

Bad Map File

On attempting to load the internal mapping file, there are


several potential errors: it is not of the correct format; it may
not exist; it may contain empty lines; the first line is not
correct.

No Mapping Table
defined for selection

The internal files recognise an external package, but there


are no mapping table files associated with it.

File Mapping Files


The file mapping tables indicate the location of external Profile, Orientation and Material
mapping tables in the directory structure. The internal mapping tables may be specific to
either the project or the company.
The tables are searched first for a project-specific set before a company-specific set.
The files consist of a first line, then a series of pairs of * separated values (with no spaces),
indicating the location of the mapping file for the associated external package. The external
package may be a 3D steel detailing package e.g. StruCAD, an intermediate file e.g. SDNF,
or even a steel fabricator's catalogue. The package name must correspond exactly to that in
the list set up during the user customisation process described above.
The first line in each file is a pair of values, the second of which is used to identify the list.

The first part of this identifier text is either the three-letter name of the project, e.g. TST
for the TST000 project, or ANY, signifying a companywide table for any PDMS project.

The second part must be one of:


PRF

for a Profile mapping table

ORI

for a Profile Orientation mapping table

MAT

for a Material mapping table.

The project-specific Profile mapping files for the TST project may be similar to:
TSTPRF*TSTPRF
STRUCAD*C:\AVEVA\Plant\OpenSteel[ver]\maps\StruCad\StruCad.map
XSTEEL*C:\AVEVA\Plant\OpenSteel[ver]\maps\XSteel\XSteel.map
STEELCAD*C:\AVEVA\Plant\OpenSteel[ver]\maps\SteelCad\SteelCad.m
ap
PDMS*C:\AVEVA\Plant\OpenSteel[ver]\maps\PDMS\PDMS.map
and a companywide Profile mapping table may look like:
ANYPRF*ANYPRF
STRUCAD*C:\AVEVA\Plant\OpenSteel[ver]\maps\StruCad\StruCad.map
XSTEEL*C:\AVEVA\Plant\OpenSteel[ver]\maps\XSteel\XSteel.map
STEELCAD*C:\AVEVA\Plant\OpenSteel[ver]\maps\SteelCad\SteelCad.m
ap
PDMS*C:\AVEVA\Plant\OpenSteel[ver]\maps\PDMS\PDMS.map

7:2

12.0

OpenSteel Configuration Guide


Internal Mapping Files

The Material mapping tables are defined in a similar way. For example a project-specific
Material mapping file, using a previously defined environment variable, SDNFMAPS, might
look like:

TSTMAT*TSTMAT
STRUCAD*%SDNFMAPS%\StruCad\StruCadMat.map
XSTEEL*%SDNFMAPS%\XSteel\XSteelMat.map
STEELCAD*%SDNFMAPS%\SteelCad\SteelCadMat.map
PDMS*%SDNFMAPS%\PDMS\PDMSMat.map
A companywide Profile Orientation mapping table would look similar to the following:

ANYORI*ANYORI
STRUCAD*%SDNFMAIN%\maps\StruCad\StruCadOri.map
XSTEEL*%SDNFMAIN%\maps\XSteel\XSteelOri.map
STEELCAD*%SDNFMAIN%\maps\SteelCad\SteelCadOri.map
PDMS*%SDNFMAIN%\maps\PDMS\PDMSOri.map
For details of the format of the external mapping files, consult the relevant section in this
guide.
Error and Log File Messages
Environment variable $nnnn' not understood. - The interface cannot determine the meaning
of %nnnn% in the mapping file.

7.2

Text Conversion Mapping Files


The text conversion mapping tables perform conversion operations between text strings
derived from the Design database and the SDNF file. These cover the Holds, Paint Spec
Coding and Connection Type text.

7.2.1

Holds and Paint Spec Files


The simplest tables are the Holds and Paint Spec tables which are just for reference for the
user. The tables described here just provide an aid to the user, so that the value of the field
in the SDNF file may be interpreted. No action is taken by the interface to manage these
values inside DESIGN: the value in the :SDNFHOLD and :SDNFPSPEC attributes are used
to store and export the values. The SDNF file takes an integer value in the Status and Class
field for a Linear Member or Plate which this interface is using as the Holds and Paint Spec
values. These tables are output in the top of the SDNF file. Examples are:

STATUS*HOLD
0*Undefined
1*Fixed
2*Provision
3*Other
or

7:3

12.0

OpenSteel Configuration Guide


Internal Mapping Files

CLASS*PSPEC
0*Undefined
1*Lead Paint

7.2.2

Connection Mapping File


The Connection mapping table allows the user to define a conversion table between a
DESIGN value and a string value which appears in the Packet 40 entries (Connection
Details) in the SDNF file. As this interface currently only exports connections to SDNF, this
conversion is made only during the Export process. There is no means yet by which Packet
40 can be imported and interpreted by the interface to create a Joint of the correct type.
The table identification method is similar to the methods described above for the external
mapping files, but here the code is in three parts depending on a) the Source or Target
Package and b) the project. The first part is the three-letter abbreviation for the Source or
Target Package as set up in the user customisation process described above; the second is
the project name, e.g. TST, or ANY; and the third component of the name must be CON. A
file for the external package identified by XST and for the TST project might look like:

XSTTSTCON*XSTTSTCON
BP*macro BasePlate
TP*TP
FPWB*FPWB
FPWC*FPWC
A file for any Source or Target Package, but for only the TST project may be:

ANYTSTCON*ANYTSTCON
BP*macro BasePlate
TP*TP
FPWB*FPWB
FPWC*FPWC
and for any Source or Target Package and any project the file might look like:

ANYANYCON*ANYANYCON
BP*macro BasePlate
TP*TP
EP*End Plate
FPWB*FPWB
FPWC*FPWC
The interface search order is for mapping files for:
1. A specific Source or Target Package and a specific project;
2. Any Source or Target Package and a specific project;
3. Any Source or Target Package and any project.

7:4

12.0

OpenSteel Configuration Guide


Internal Mapping Files

The data lines are arranged, as in the above examples, as pairs between data found in
DESIGN and that to be output in the SDNF file generated by the Export process.
On Export, the interface searches for a string identifier in the Design database. This is then
mapped to the output string based on the mapping table. For example, an occurrence of
EP in the Design database will be output in the SDNF file as End Plate in the relevant field
in the Packet 40 section of the SDNF file.
To find the end coding in DESIGN, the interface looks at the CTYA attribute on the catalogue
description of the Joint associated with an end of a Linear Member (SCTN). The coding is
taken from there, but, while the interface exports the data, it is also transferred to the CTYS
or CTYE attribute of the SCTN as appropriate. A warning is raised if an end coding mapping
cannot be found.
To cater for the fact that the CTYA may not be set and the user wants there to be a default
end connection type, all the user needs to do is to include in the file a line similar to the
following.
Note: There is no DESIGN value before the asterisk. This means that for unset CTYA
values Default Connection is mapped into the output file.

ANYANYCON*ANYANYCON
*Default Connection
BP*macro BasePlate
TP*TP
etc

7.2.3

User-Definable Mapping Macros


The user will notice that the mapping file extract shown above has the entry:

BP*macro BasePlate
This is the means by which the user can customise the text string in the SDNF output file,
rather than just having a single text for all cases; for example, if the user wants to transfer a
set of parameters along with the text.
Note: The SDNF limit for the length of the replacement text is 50 characters.
Thus, when the interface meets a replacement text which has macro as its first word, a
macro of the following name is searched for under the %PMLLIB% search path. The macro
name must be completely in lowercase and end in .pmlfnc, according to PML conventions.
The macro takes no arguments, as there are no means of transferring them in this situation,
and it returns the character string to be inserted into the SDNF file. In the above case, the
interface will search for a macro file baseplate.pmlfnc.
The example base plate macro supplied with the interface is:

define function !!BasePlate( ) is STRING


-- Initialisation
!string = STRING( )
!start = ( ref )
-- Some PML to extract the required information
goto catr
!thick
= para numb 1

7:5

12.0

OpenSteel Configuration Guide


Internal Mapping Files

!nrOfBolts = para numb 2


same
!width
= desp numb 1
!length
= desp numb 2
-- Concatenate information into the string
!string = |Base Plate $!width[ 1 ] $!length[ 1 ] | + $
|$!thick[ 1 ] $!nrOfBolts[ 1 ]|
-- Return string and exit
$!start
return !string
endfunction
This example may return a single text string such as:

Base Plate 250 300 25 4


which should be sufficient information for the external system to generate an end detail of
the correct type and dimensions.
It is assumed that the system is at the Design Joint in the database at the point of calling this
user macro.
Note: In writing the users own macro, the user must handle all errors encountered, so that
the macro will safely return a valid PML string, whatever it may be.
Error and Log File Messages

7.3

No Connection mapping
table for nnnn for
project mmmm

System cannot find a suitable table for the nnnn target and
mmmm project.

User macro nnnn


not found

Cannot find user macro.

Error in user macro


nnnn

PML programming error in user macro.

No mapping for
Connection type nnnn

Cannot translate Connection text.

Steel Standards Mapping Files


There are two situations for choosing whether a particular steel profile is permitted or not.
The situations are Default or Multiple.
The default steel standard is that listed as the first entry in the Steel Standard mapping file.
This is the preferred standard.
If the profiles come from the other listed standards, they are deemed to be acceptable. In
this case, a warning message will be output to the log file. Profiles taken from standards
which are not in the list are flagged as errors.
The Steel Standards mapping files may be project or company specific. The identification
convention used in the first line of the file, by which we identify the file, is similar to that

7:6

12.0

OpenSteel Configuration Guide


Internal Mapping Files

mentioned above for other internal mapping files. It is the second entry on the first line which
is critical. In this case, it is composed of two parts. The first part is either the three-letter
name of the project, e.g. TST, or it is the word ANY signifying that the file is company
specific; i.e. for ANY project. The second part, STD, is compulsory.
The lines are * separated pairs (with no spaces), only the first value of which is used
internally. The second value can be for information, as these files will be listed as comments
in the exported SDNF file. The first value of each entry must be the three-letter coding for
the profile standards, as recorded in the external Profile mapping files and as suggested in
the section discussing the format of the Profile mapping files.
The sequence of search is for a project-specific mapping file, and then a company-specific
file.
A project-specific mapping file for the TST project might look like:

TSTSTD*TSTSTD
EUR*Euronorm
BRI*British
AME*American
A company-specific file for ANY project might look like:

ANYSTD*ANYSTD
EUR*Euronorm
BRI*British
AME*American
GER*German
CAN*Canadian
JAP*Japanese

7:7

12.0

OpenSteel Configuration Guide


Internal Mapping Files

7:8

12.0

OpenSteel Configuration Guide


External Mapping Files

External Mapping Files


While setting up the Export or Import variables, the external mapping files are tested to see
if they are valid. At the top of each file is a check line indicating the external package to
which the file is related. The check line must be of the form:

PDMS TargetPackage
For example:

PDMS XSteel
The target package name must be as it appears in the data list, !!SDNFExtProgList (see
External Packages). This list is picked up automatically by the Export and Import forms.
Note: Tab characters are not permitted in the mapping files, as they interfere with the field
separation.
Comments may be included in the mapping files. They are indicated by a hash (#)
character as the first non-blank character on the line.
Blank lines are also permitted.
Error and Log File Messages

8.1

Suitable Mapping Table


File not found

File specified in the mapping table is not found.

Not a suitable Mapping


Table File - Is it empty?

The header may not be of the correct format. The header


does not match the target package.

Space-Separated Format for Profile Mapping Files


Because PDMS names cannot contain spaces, space-separated mapping files receive
special treatment to allow spaces in external Profile names, but not in PDMS names. A
description of the individual fields in the Profile Mapping Files is given after this section. The
four fields are read in the following order.
1. The first field is the PDMS name (with no leading, trailing or embedded spaces).
2. The fourth field is the Profile type (with no leading, trailing or embedded spaces).
3. The third field is the Steel Standard (with no leading, trailing or embedded spaces).
4. The second field is the external profile name, once the leading and trailing spaces have
been removed.

8:1

12.0

OpenSteel Configuration Guide


External Mapping Files

See External Mapping File Separator for information on how the user can specify which
separator which the interface will use to discriminate between fields.

8.2

CSV Format for Profile Mapping Files


The user can also use Comma Separated Variable (CSV) format for the Profile mapping. In
CSV format, the fields are separated by commas rather than by spaces. This means,
therefore, that the names of profiles must not contain commas, but the external profile name
can still contain spaces.
CSV format allows the user to manage the mapping files in a spreadsheet program. If the
user is constructing a CSV file by hand, the user should be aware how a CSV file handles
commas in fields.

8.3

Profile Mapping Files


This section describes the formats for the mapping files between PDMS catalogues and
those of external 3D steel detailing packages. The mapping files will indicate a correlation
between the catalogue item in PDMS and its equivalent in the other system, to which, or
from which, data are to be transferred. It is the users responsibility to ensure that any
geometrical modelling required in either system is suitably reproduced in the other. The
mapping files supplied are modifiable and extensible by the user.
There are two similar mapping files required: one for PDMS and the other for the 3D steel
detailing package. This will allow greater modularity and independence of each software
component in the interface.
Important: It is assumed that the package importing the data will perform the mapping to
local names. Any system exporting data will export its own local names without
performing any translation process whatsoever. This interface, however, checks
that there is a valid mapping for a Profile before it is exported, even though the
local PDMS profile name is still exported. This can also be a cause for
misunderstanding if the SDNF output file is inspected, and the user still sees
PDMS profile names, and not the names translated for the target package.

8.4

Record Structure for Profile Mapping File


The database file consists of records of PDMS catalogue profile name matched with the
external profile name and two other fields giving the origin and profile type as recognised by
the external package. A typical record is as follows:
300X300X214.00SHS

TUB30030025.0

BRI 12

The fields are described below:


Field

Description

PDMS catalogue profile name (without leading / )

External catalogue profile name

8:2

12.0

OpenSteel Configuration Guide


External Mapping Files

Field

Description

Steel standard. See below.

Profile type. See below.

The catalogue names for the external package must be ascertained by the user and
matched correctly with the equivalent PDMS name.

8.4.1

Steel Standard Field


Some 3D steel detailing packages cannot mix profiles from more than one steel standard at
the same time. The external package may stop if it finds a profile from a different steel
standard. Therefore, we need to record the origin of the profile. This is done in the third field,
the Steel Standard field, which is currently codified as follows:
Country

Code

America

AME

Britain

BRI

Canada

CAN

Euronorm

EUR

Germany

GER

Japan

JAP

If the user wants to include profiles or joints from another standard or country, the user must
add a new and unique three-character identifier.

8.4.2

Profile Type Field


The Profile Type field defines exactly what type the profile is. This is because there may be
many occurrences of the same profile name in the 3D steel detailing package, but used in
different manners. For example, only those T shapes which are derived from cutting up I
shapes may be stored. This could be recorded in the file as follows:
PDMS

External

Origin

Type

Description

W21X44

W21X44

AME

I shape

WT10.5X22

W21X44

AME

Tee ex W21X44

Similarly, angles (L shapes) are further classified if they are to be placed back to back by
either the long or short leg to form a double-angle profile. For example:
PDMS

External

Origin

Type

Description

L4X3.5X.25

L40354

AME

L shape

2L4X3.5X.25.L

L40354

AME

10

2L long leg

2L4X3.5X.25.S

L40354

AME

11

2L short leg

8:3

12.0

OpenSteel Configuration Guide


External Mapping Files

We have assumed that double angles may have a gap (i.e. 0 or more) corresponding to type
10 below, but to differentiate between short-leg and long-leg double angles we have used
type 10 to identify the long and type 11 the short leg back-to-back double angles. There are
no genuine type 11 profiles in the supplied data set.
The profile type codes are as follows:
Type Code

Profile/Joint

Beams (UB, W)

Columns (UC, M)

Joists (RSJ)

Piles (UBP, HP)

Composite

Tee (T, WT)

I with cover plate

Channels (C, MC,UNP)

Angles (L)

10

Double angles with gap (2L)

Note 1

11

Double angles without gap (2L)

Note 1

12

Tube (rectangular, square) (RHS, SHS)

13

Pipe (circular) (CHS)

14

Prismatic

15

Bulb shapes

16

Z shapes

20

HEA (Columns, beams)

21

HEB (Columns, beams)

22

HEM (Columns, beams)

23

IPE

25

INP

26

Flat Steel

27

Round Steel

28

Dummy Sections (ASL)

29

Grating

30

Chequered Plate

31

Treads

32

Anchor Bolts

8:4

12.0

OpenSteel Configuration Guide


External Mapping Files

Type Code

Profile/Joint

33

Earthing Boss

34

Bent Plates

Note 2

Note:
1. Types 10 and 11 are often not available in external 3D steel detailing packages as a
single Catalogue entry. In those cases, they must therefore be modelled as two single
sections.
2. If Bent Plates are to be treated as angles with regard to mirroring etc., they must be
classified as angles (type 9).

8.5

Extend the Profile Mapping File


To extend the facilities provided by the system, the ASCII file may be extended. Once the
user have found a match between the PDMS catalogue profile name and the equivalent
profile in the external detailing package, the name pair may be added to the file, along with
the catalogue origin and profile type.

8.6

Sample Profile Mapping File


Below is a short extract of a Profile mapping file between PDMS and XSteel.
Note: The identification line at the top of the file which indicates the Target Package.
Note: Also that it is not complete in any way.

PDMS
HE280A
HE280B
HE300A
HE300B
HE320A
HE360B
L35x5
L40x20x3
L40x5
L45x30x3
L45x30x4
L45x30x5
L45x4
OD355.6x12.2
OD355.6x8
OD406.4x12.5
OD42.4x3.2
OD42.4x4
OD457x10

XSTEEL
HEA280
HEB280
HEA300
HEB300
HEA320
HEB360
L35*5
L40*20*3
L40*5
L45*30*3
L45*30*4
L45*30*5
L45*4
PD355.6*12.2
PD355.6*8
PD406.4*12.5
PD42.4*3.2
PD42.4*4
PD457*10

8:5

EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR

20
21
20
21
20
21
9
9
9
9
9
9
9
13
13
13
13
13
13

12.0

OpenSteel Configuration Guide


External Mapping Files

OD457x14.2
OD457x17.5
T45
T50
T60
T70
T80
T90
UNP100
UNP120
UNP140
UNP160
UNP180
UNP200

PD457*14.2
PD457*17.5
T45
T50
T60
T70
T80
T90
UNP100
UNP120
UNP140
UNP160
UNP180
UNP200

EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR
EUR

13
13
6
6
6
6
6
6
8
8
8
8
8
8

Error and Log File Messages

8.7

Profile cannot be
mapped

The profile is not in the Profile Mapping File.

Profile is not in
the standard

The profile is in the Profile Mapping File but is not in any one
of the set of standards.

Profile is not the default

The profile is in the Profile Mapping File and is in one of the


set of standards, but not the default standard.

Multiply defined entries


in Profile Table

Either a profile to be mapped or a mapped profile appears


more than once in the Profile Mapping File.

Material Mapping Files


Elements cannot be transferred through the SDNF if they do not have a valid material
associated with them.
The existing PDMS material description may not be recognised in the external 3D steel
detailing package; consequently, there must be a means by which we can translate the
material description between systems. This is performed by means of a Material mapping
file which relates the PDMS text description of a material to that output to, or found in, an
SDNF file.
The user can modify and extend the mapping file.
There are two similar mapping files required: one for PDMS and the other for the 3D steel
detailing package. This will allow greater modularity and independence of each component
in the interface.
Important: It is assumed that the package importing the data will perform the mapping to
local names. Any system exporting data will export its own local names without
performing any translation process whatsoever. This interface, however, checks
that there is a valid mapping for a Material before it is exported, even though the
local PDMS material text is still exported. This can also be a cause for

8:6

12.0

OpenSteel Configuration Guide


External Mapping Files

misunderstanding if the SDNF output file is inspected, and the user still sees
PDMS material texts, and not the text translated for the target package.
When the OpenSteel interface is started, the Properties database is searched for SOLI
elements which may define materials used to fabricate elements in the Design. An internal
list is then built for rapid reference.
Materials are usually associated with PDMS elements using the Material Reference
attribute, MATR, which points to a SOLI element in the Properties database. However, the
user may want to use the local :SDNFMGRADE attribute to specify the material. Either of
these should be set for the interface to be able to export elements successfully.
If the above system is still not specific enough, there is a mechanism by which the user can
define from where the material information is to be derived. See the next section for details.
When an element is exported, its material is determined by inspecting the :SDNFMGRADE
attribute first, then the Description attribute of the SOLI element to which the MATR refers. If
that fails, the user configurable mechanism is invoked. The text is then transferred locally to
the :SDNFMGRADE attribute on the SCTN or PANE element. The text is then looked up in
the Material mapping file to check that there is a translation into the SDNF file replacement
text. The local material text is still exported.
When an element is to be imported, the SDNF file material description is looked up in the
material mapping file and translated into the PDMS equivalent text string. This is then
initially copied into the :SDNFMGRADE attribute of the element before any attempt is made
to rationalise the MATR. If a SOLI element with this material text is found, the interface will
set the MATR to point to the correct SOLI element.
As with the profile mapping file, the first line is an identifier which indicates the external
package or system with which the file is associated.
Error and Log File Messages

8.7.1

Multiply defined entries


in Material Table

Either a material to be mapped or a mapped profile appears


more than once in the Material Mapping File.

No match for material

The material is not in the Material Mapping File.

Syntax Error

Other, less specific, errors.

Unrecognised Parse
State

This should not occur. If it does then it indicates a system


error. Although the error is non-fatal it should be reported. A
number representing the parse state will also be output.

User-Definable Material Macro


The user may modify the sample macro, sdnfgetusermatl.pmlfnc, as named by the
!!SDNFMaterialMac global variable and given in the pml/userFunctions directory, if the
user has specific requirements as to where the material information resides. The example
macro is as follows:

define function !!SDNFGetUserMatl( ) is STRING


-- Initialisation
!material = STRING( )
!material = |unset|

8:7

12.0

OpenSteel Configuration Guide


External Mapping Files

!start = ( ref )
-- Set default material
!defaultMaterial = |St 37-2|
-- Some User specific PML to get the required info
!type = ( type )
if( !type eq |SCTN| )then
-- Material stored on Catalogue component
goto catr
handle any
-- Bad or null reference
!material = !defaultMaterial
golabel /Finished
endhandle
!material = ( :Material )
handle any
!material = !defaultMaterial
golabel /Finished
endhandle
if( !material eq |unset| or $
!material.unset( ) or $
!material.length( ) eq 0 )then
-- Use default material
!material = !defaultMaterial
endif
elseif( !type eq |PANE| )then
-- Try to return :SDNFMGRADE or default material
!material = ( :SDNFMGRADE )
if( !material eq |unset| or $
!material.unset( ) or $
!material.length( ) eq 0 )then
-- Use default material
!material = !defaultMaterial
endif
endif
-- Return string and exit
label /Finished
$!start
return !material
endfunction
The above example assumes that the material information for Sections resides on the
catalogue component in the UDA :MATERIAL. If, for any reason, a material cannot be
identified, a default value of 'St 37-2' is assigned.

8:8

12.0

OpenSteel Configuration Guide


External Mapping Files

The interface assumes, by default, that this file exists under the above name in a directory
below the %PMLLIB% search path, and that the starting point for database navigation is the
current DESIGN element under consideration, i.e. a Section or Panel. See the previous
sections for details of how the user can configure the system to use a material macro with a
name of the users choice.
Note: In writing the users own macro, the user must handle all errors encountered so that
the macro will always safely return a valid PML string, whatever it may be.
Also, that materials for Panels must also be determined using this macro.
See User-definable Material Macro regarding the naming of this macro.
Error and Log File Messages

8.7.2

User macro nnnn


not found

Cannot find user macro.

Error in user
macro nnnn

PML programming error in user macro.

Sample Material Mapping File


Below is a sample comma separated mapping (CSV) file to map between the PDMS
materials found in the Properties database and the SDNF file targeted at XSteel.

PDMS,XSTEEL
"unset","unset"
"TREAD-ALU","TREAD-Aluminum"
"ALUMINIUM","Aluminum"
"GR 420 I","GR 420 I"
"Pyrocrete","Fire concrete"
"Tread Grade","Tread Grade"
"LDPHP-GRADE","LDPHP-GRADE"
"Aluminium, cast","Aluminium, cast"
"Aluminium, wrought","Wrought Aluminium"
"Aluminium, Duralumin","Duralumin"
"Brass, red 80% Cu","Red Brass "
"Brass, yellow 65% Cu","Yellow Brass "
"Brass, cast","Cast Brass"
"Steel, carbon","Carbon Steel"
"Steel, chrome","Chrome Steel"
"Steel, Ni-chrome","Ni Steel"

8:9

12.0

OpenSteel Configuration Guide


External Mapping Files

8.8

Profile Orientation Mapping Files


Using the Profile Orientation Mapping File the user can define how OpenSteel translates a
profile from PDMS format into the SDNF Neutral File format on Export, or from it on Import.
Refer to the OpenSteel User Guide for details of how the Neutral File understands default
orientations of certain profiles.
If the user defines their own catalogue profiles, or modify the supplied ones, and need to
transform them into or from the SDNF format, this mapping file should be used. In all cases
an Orientation mapping file should be available, even if it is empty apart from the first line.
Below is an example file:

PDMS STRUCAD
BRI 8 0 180
BRI 9 1 180
DIN 8 0 180
DIN 9 1 180
EUR 8 0 180
EUR 9 1 180
The first line is the file identification line, described as for the Material or Profile mapping
files. The structure of the rest of the mapping file is of a comma or space separated file with
four fields per line.
The first two fields provide the identification of the profile for treatment. The first of the
identification fields states the steel standard from which the profile is to be taken. The
second is the actual profile type code according to the codes given in Section Error in
Cross Reference. Thus, in the example above, the user can see that the channels (type 8)
and angles (type 9) from the Euronorm, DIN and British Standard catalogues have been
identified for special treatment.
The third and fourth fields describe what the user wants to do with the profile shape. The
third is the mirroring flag, which should be set to 1 if the profile is to be reflected about the Yaxis. This will commonly be the case for angle profiles. No mirroring is indicated by a value
of 0 in this field.
The last field defines how much additional angular rotation the user wants to apply to the
shape. For example, some catalogues may define the long leg of an unequal angle to be on
the horizontal, whereas SDNF expects it to be vertical. The rotation angle must be between
180 and +180 degrees.
Note: Mirroring will change the start and end positions of the linear member. It is therefore
advisable that if the user can achieve the same result purely by rotation, then the
latter is the preferred option. In this way the user will avoid confusion in the external
package.
If, during the Import or Export process, an entry for a specific profile is not found, no action is
taken, and no error message is output as it is assumed that the user does not want it to
receive special treatment.
The following figure illustrates the effect of each operation on different catalogue
representations of an angle profile. We re-emphasise the difference in the handedness of
the coordinate systems.

8:10

12.0

OpenSteel Configuration Guide


External Mapping Files

PDMS
CATALOGUE
DEFINITION

CATALOGUE
DEFINITION

start

start
X

end

end

Z
IS
EQUIVALENT
TO
Z
end

IS
EQUIVALENT
TO
start

MIRROR Y

Z end

end

start
start

ROTATE 180

ROTATE 180
Y

Z
end

EUR 9 0 180

EUR 9 1 180

start

DEFAULT
ORIENTATION

SDNF

Diagram illustrating the effect of the


Mirror and Rotation flags

8:11

12.0

OpenSteel Configuration Guide


External Mapping Files

8:12

12.0

OpenSteel Configuration Guide


Start OpenSteel

Start OpenSteel
This chapter describes the checks that OpenSteel makes when the user starts up the
interface, and how some of the problems which might be encountered are handled.
When the user starts the interface, certain checks are made to ensure that the SDNF
interface will be able to proceed. The system checks that:

The catalogues include the Pline representation of the SDNF Cardinal Points.

The UDAs which OpenSteel requires are available.

There is a default object to store the Configuration information and it is available for
modification according to the Import and Export status.

There are SOLI elements in the Properties database which may be used for material
text. The Description attribute is assumed to contain the material text for use in the
external Material mapping file and relating MATR and :SDNFMGRADE attributes.

The version of PDMS is supported.

When the user tries to invoke the Import or Export forms without the necessary data loaded
the user will be presented with appropriate message forms. For example:

In the above case, if the user answers YES, the interface will automatically install the SITE
to store the configuration details without switching modules. The interface will not be able to
proceed if the user does not install the configuration details, and a Fatal Error is raised.

9:1

12.0

OpenSteel Configuration Guide


Start OpenSteel

In the case of the OpenSteel Plines or UDAs, the user will be instructed to change modules
and to follow the further instructions given. If a command window is open instructions on
what to do are listed. Read the sections on upgrading a project for OpenSteel.

or

9:2

12.0

OpenSteel Configuration Guide


Start OpenSteel

Important: If, at the end of the initialisation process, the interface still has no mapping files
to work with, the user will be informed with a fatal error message.

Error and Log File Messages


No Steel Catalogues
available.

Steel catalogues are assumed to be identified by the


Purpose attribute on the CATA element being set to STL.
This is a fatal error.

OpenSteel Plines not


present in Catalogue.
Must be installed first

The OpenSteel interface wont work without them. This is a


fatal error.

UDAs for OpenSteel


Interface not present.
Must be installed first

he OpenSteel interface must have the UDAs installed. This


is a fatal error.

OpenSteel Configuration
details
not present

A default configuration object is not present, or the UDAs


required are not available. Not installing the configuration
object is the cause of a fatal error as the system cannot
proceed.

No materials found

No SOLI elements in the Properties database.

No Map Files of any


kind found

The recursive search of the directory(ies) pointed to by the


%PMLLIB% environment variable has failed to discover any
internal mapping files named *.map. This is a fatal error
and the interface cannot really proceed.

Unsupported version of
AVEVA PDMS

The system cannot determine which version of PDMS the


user is running.

DB containing Config
element is not in Modify
mode

he database containing the specified Configuration element


is not modifiable. This is a fatal error and the interface
cannot proceed.

9:3

12.0

OpenSteel Configuration Guide


Start OpenSteel

9:4

12.0

OpenSteel Configuration Guide


Examples of Typical Environment Scripts

A1

Examples of Typical Environment Scripts


This appendix lists typical scripts which the user can use as a basis for editing their own
versions, so that the user can invoke the OpenSteel interface. The file OpenSteel_env.bat
must be called in the users evars.bat file.

A1.1 Windows Setup Script OpenSteel_env.bat


This section lists the OpenSteel_env.bat file which the user must invoke to set up the
environment variables upon which the interface depends.

rem OpenSteel_env.bat
rem
rem This script shows which environment variables are expected
by
rem the AVEVA OpenSteel Import\Export system.
rem
rem NOTES:
rem
rem 1. The lines preceded by "rem: >>>>>>" may need to be
changed to suit
rem
your environment.
rem
echo off
echo *** INITIALISING AVEVA OpenSteel ENVIRONMENT ***
rem >>>>>> Define OpenSteel main directory
set SDNFMAIN=C:\AVEVA\Plant\OpenSteel1.5.2
rem Locate OpenSteel UI macros
set OPENSTEELUI=%SDNFMAIN%\pml
rem Add OpenSteel macros to PML search path
set PMLLIB=%OPENSTEELUI% %PMLLIB%
rem Set other OpenSteel environment variables
set PDMSDFLTS=%OPENSTEELUI% %PDMSDFLTS%

A1:1

12.0

OpenSteel Configuration Guide


Examples of Typical Environment Scripts

rem
set
set
set
set

>>>>>> Set up the PDMS project variables


TST000=%SDNFMAIN%\test\tst000
TSTMAC=%SDNFMAIN%\test\tstmac
TSTIMP=%SDNFMAIN%\test\results\import
TSTEXP=%SDNFMAIN%\test\results\export

rem >>>>>> Project specific default directory


set TSTDFLTS=%SDNFMAIN%\test\tstdflts
rem Point to correct set(s) of internal maps
set SDNFINTMAPS=%PDMSDFLTS% %TSTDFLTS% %PDMSUSER%
echo *** AVEVA OpenSteel ENVIRONMENT INITIALISED ***
If the user wants to change the location of the interface material, the only variable to change
is %SDNFMAIN%. However, see the section describing the system architecture to
understand the significance of the environment variables related to the internal mapping
files.

A1:2

12.0

OpenSteel Configuration Guide

Index

C
Cardinal Point Plines . . . . . . . . . . . . . . . . 5:1
Colour Code . . . . . . . . . . . . . . . . . . . . . . 6:2
Connected Members . . . . . . . . . . . . . . . . 6:3

E
Environment
OpenSteel . . . . . . . . . . . . . . . . . . . . 4:1
Variable . . . . . . . . . . . . . . . . . . . . . . 7:3
Export Header . . . . . . . . . . . . . . . . . . . . . 6:3

customise . . . . . . . . . . . . . . . . . . . . . 6:1
how to run . . . . . . . . . . . . . . . . . . . . 3:3
special sites . . . . . . . . . . . . . . . . . . 5:12

P
PML Applications
integration into . . . . . . . . . . . . . . . . 5:13

S
System Architecture . . . . . . . . . . . . . . . . 4:1

Flexman License Manager . . . . . . . . . . . 3:2

Tolerance Settings . . . . . . . . . . . . . . . . . 6:2

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . 2:1

Uninstall
OpenSteel . . . . . . . . . . . . . . . . . . . 5:13
Upgrade a Project . . . . . . . . . . . . . . . . . 5:1
User Defined Attributes
installation of . . . . . . . . . . . . . . . . . 5:12

I
Installation
on Windows . . . . . . . . . . . . . . . . . . . 3:1

M
Mapping Files . . . . . . . . . . . . . . . . . . . . . 4:2
Material Flag
Ignore . . . . . . . . . . . . . . . . . . . . . . . . 6:3

Waiting Time . . . . . . . . . . . . . . . . . . . . . 6:2

O
OpenSteel

Index page i

12.0