Upgrade a Project for SDNF
- Last UpdatedMay 05, 2023
- 12 minute read
After you have set the appropriate environment variables, some upgrade macros must be run on the project which:
-
Update catalogues to include the Pline representation of the SDNF Cardinal Points.
-
Install the UDAs which SDNF requires.
Note:
You do not have to perform these actions on the supplied project. The process can be repeated as the supplied software performs the correct checks to define if the project needs updating.
Cardinal Point Plines
Update the Supplied Catalogues
The standard AVEVA Solutions Limited steelwork catalogue is already compatible with SDNF. Older catalogues, and user catalogues might need to be upgraded to include the Pline representations of the SDNF Cardinal Points. Refer to Cardinal Points for further information. Upgrading user catalogues is covered in Convert Section, Joint and Fitting Elements.
Note:
The upgrade process works only for the AVEVA Solutions Limited supplied catalogues.
Further, it only works on the old British, American and DIN catalogues, to upgrade
them to the new Plines. The mechanism should be easily extended to include other supplied
catalogues. Upgrading user catalogues is described elsewhere.
You may upgrade the catalogues.:
-
Launch AVEVA Catalog with write access to all relevant catalogue databases.
-
In a command window, run the upgrade macro, input the command:
-
call !!SDNFCataUpgrade( )
-
The macro suite checks if this upgrade has already been executed and creates or modifies the original set of Cardinal Points with an updated set.
-
Exit AVEVA Catalog, saving the changes.
There are 15 Cardinal Points defined in the SDNF standard, the SDNF interface uses only 14 of the Cardinal Points. The SDNF interface tries to use those between 1 and 10, because other systems prefer to use these, rather than the higher points.
If you have not used Plines representing Cardinal Points to place Linear Members in the application, during the Export or Import processes an attempt is made to map existing Plines onto Cardinal Points. The mapping is performed using information stored in a configuration file, sdnfloadcpdata.pmlfnc in the PMLLIB\SDNF\functions folder in the installation folder. The basic Pline mapping for the old (that is pre E3D 2.1) structural catalogue and the new supplied catalogue are:
Symmetric Sections about Y Axis
For symmetrical profiles in the new catalogue, which are symmetrical about the Y axis, the Plines below are mapped to Cardinal Points. It might appear confusing, but the left/right relationship depends on how you look at the profile - in the same direction as the profile vector, or against it.
Pline is mapped to Cardinal Point
|
LBOT |
3 |
|
CBOT |
2 |
|
RBOT |
1 |
|
LMID |
6 |
|
CMID |
5 |
|
RMID |
4 |
|
LTOP |
9 |
|
CTOP |
8 |
|
RTOP |
7 |
|
NA |
10 |
|
BNA |
11 |
|
LNA |
13 |
|
RNA |
12 |
|
TNA |
14 |
For angle and channel profiles in the new catalogue the Pline mapping is as follows. This difference is principally because of the SDNF definition of the default profile orientation.
Pline is mapped to Cardinal Point
|
LBOT |
1 |
|
CBOT |
2 |
|
RBOT |
3 |
|
LMID |
4 |
|
CMID |
5 |
|
RMID |
6 |
|
LTOP |
7 |
|
CTOP |
8 |
|
RTOP |
9 |
|
NA |
10 |
|
BNA |
11 |
|
LNA |
12 |
|
RNA |
13 |
|
TNA |
14 |
For the old (E3D 1.1) catalogue the Plines are mapped as follows. For symmetric sections that are symmetrical about the Y axis.
|
Pline |
mapped to |
Pline |
which is |
Cardinal Point |
|---|---|---|---|---|
|
RBOS |
SNFA |
1 |
||
|
BOS |
SNFB |
2 |
||
|
SS |
SNFB |
2 |
||
|
LBOS |
SNFC |
3 |
||
|
RIGH |
SNFD |
4 |
||
|
NARO |
SNFD |
4 |
||
|
AA |
SNFD |
4 |
||
|
MM |
SNFF |
6 |
||
|
NALO |
SNFF |
6 |
||
|
LEFT |
SNFF |
6 |
||
|
RTOS |
SNFG |
7 |
||
|
GG |
SNFH |
8 |
||
|
TOS |
SNFH |
8 |
||
|
LTOS |
SNFI |
9 |
||
|
NA |
SNFJ |
10 |
Angles
|
Pline |
mapped to |
Pline |
which is |
Cardinal Point |
|---|---|---|---|---|
|
TOAX |
SNFA |
1 |
||
|
TOAY |
SNFA |
1 |
||
|
RTTA |
SNFC |
3 |
||
|
LBOA |
SNFG |
7 |
||
|
NA |
SNFJ |
10 |
||
|
NAT |
SNFK |
11 |
||
|
NAL |
SNFL |
12 |
Channels
|
Pline |
mapped to |
Pline |
which is |
Cardinal Point |
|---|---|---|---|---|
|
LTOC |
SNFA |
1 |
||
|
RTOC |
SNFC |
3 |
||
|
FOC |
SNFD |
4 |
||
|
ROC |
SNFF |
6 |
||
|
LBOC |
SNFG |
7 |
||
|
RBOC |
SNFI |
9 |
||
|
NA |
SNFJ |
10 |
||
|
TOC |
SNFK |
11 |
||
|
BOC |
SNFN |
14 |
Further explanation of the reasons why the mapping may seem inconsistent is available. Refer to the Default Orientations and Cardinal Points for further information. In particular, attention is drawn to the different handedness of the coordinate systems.

The main differences arise from the mapping of the profile orientations in the application catalogue onto the agreed SDNF format. The difference is most apparent in channel and angle profiles. The diagram illustrates the mappings of the Plines to Cardinal Points.
Note:
The different Y directions to match the default angle orientations in each system.

If you want to create profiles, you 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. Further, you may have to manage the orientation of the profile with regard to the SDNF intermediate arrangement by using the Profile Orientation mapping file. Refer to External Mapping Files for further information.
The interface tries to find the correct Justification Pline by comparing the positions of their ends and the start and end of the imported member.
Update Catalogues not supplied by AVEVA
Note:
The naming conventions and database structure for the Pline sets should be similar
to those used in the AVEVA supplied Catalogues.
You can update the steel catalogues to include the Plines necessary for the SDNF interface.
The macro file, sdnfusercataupgr.pmlfnc in the SDNF\dflts\user\upgrade folder in the user data folder provides the basis on which you may build your own mechanism for updating the catalogues automatically. When the changes are complete, you should perform a PML REHASH ALL operation in a command window. We have indicated where you may have to modify this file with lines prefixed by:
>>>> User¼
The macro must be run for each catalogue (CATA element) that you want to update. You may have to modify it in a different way for each catalogue.
You can write a macro which calls all the modified files in turn and so upgrade all the 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:
-
Launch AVEVA Catalog with write access to all the relevant catalogue databases.
-
Set the catalogue (CATA) that you want to update as the current element and give the command in a Command Window:
call !!SDNFUserCataUpgr( !!CE )
-
Repeat for as many catalogues as required.
-
Save work and exit AVEVA Catalog.
Generic Catalogue Shapes
The supplied catalogue contains profiles of 7 standard generic shapes which are detailed in the Structural Design User Guide. The parameterization method for these shapes is described. As a result, there are 7 generic macros in the PMLLIB\SDNF\upgrade folder in the installation folder, one for updating the Pline set of each standard shape. These are:
|
Profile Shape |
Macro |
|---|---|
|
Tee shape |
sdnfupgradet.pmlfnc |
|
I shape |
sdnfupgradei.pmlfnc |
|
O, Tube, CHS shape |
sdnfupgradeo.pmlfnc |
|
C, Channel shape |
sdnfupgradec.pmlfnc |
|
L, Angle shape |
sdnfupgradel.pmlfnc |
|
RHS shape |
sdnfupgraderhs.pmlfnc |
|
Bulb shape |
sdnfupgradebulb.pmlfnc |
If you have other additional shapes, or have parameterized them in a different way from the supplied catalogues, you have to write your own macro, for your own shape, based on the most suitable one provided. Please take note of the catalogue profile orientation with regard to the SDNF format.
Customise the SDNF Pline Generating Macros
In order to customize the generic SDNF Pline generating the listed macros, or to create their own, you need to understand fully how the profile in question is parameterized in their catalogue database, and how the profile shape is positioned relative to the Neutral Axis and the X/Y origin in the catalogue.
The structure of all the supplied macros is similar.
The macro first builds a list of any Plines that already exist. Any Plines that are not available and are needed by the SDNF interface as listed in the SDNFCPPKeys array, are then created. Doing this makes sure the latest configuration is being used.
We then need to define the Cardinal Point Pline location parameters related to the method of catalogue parameterization. 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 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. The use of PML allows you to insert formulae into the Pline definition, rather than the immediately evaluated formula.
Using these Pline location parameters, all the Cardinal Point Plines required for the SDNF interface can be located. Refer to Cardinal Points for further information.
If you are extending or modifying the SDNF interface, all you should need to do is to modify the part of the macro which calculates the location parameters. You should, however, pay close attention to the default profile orientations within SDNF.
The structure of the upgrade process allows you to run the macro during the project as well as at project initiation. Any database relationships that refer to the old Plines are maintained, for example, dimensions.
Map Pline Set Names to Profile Shapes
Once you have defined their generic shapes you need to be able to map the Pline set names to that shape. You can populate 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 you may have to extend the list for their own additional specific shapes.
For example, a complete mapping for a Pline set consists of:
-- Map Shapes to generic update macros
!TShape = |!!SDNFUpgradeT|
!IShape = |!!SDNFUpgradeI|
!OShape = |!!SDNFUpgradeO|
!CShape = |!!SDNFUpgradeC|
!LShape = |!!SDNFUpgradeL|
!RHSShape = |!!SDNFUpgradeRHS|
!BULBShape = |!!SDNFUpgradeBULB|
-- >>>> 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
!UserMap[ 1 ].Args = |(false)|
The Pline set (PTSS) named /USER-PTSS-I is to be modified using the PML macro represented by the variable !Ishape. The !IShape variable is associated with the macro !!SDNFUpgradeI( ). The args value is true or false depending on whether the catalogue to be updated is based on the old or new catalogues. This is most important when considering C or L shaped profiles where the orientations change.
Catalogue Upgrade Step-by-Step
The Catalogue can be created or upgraded. For the purposes of this user guide, the method to create a new profile shape in both Model and the external steel detailing package are explained. Any operations that require changes to system mapping files or PML macro files, should be preceded by backing up the files first.
New Profile Shape Definition
Create the new 2D profile shape. Determine the generic shape and parameterization best suited to the required profile.
At this point do not include Cardinal Point Plines in the Pline set, just place other Plines that are useful and name them accordingly. Do not include any Plines with the special PKEY values as these are 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 is the same as that in Model when laid out from start to end.
With predefined profiles, such as unequal angles, the default orientation may be different. In this case, you 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 are. In AVEVA Catalog, place any other Plines that you may find useful. Record the correspondence between Cardinal Points and Pline names. Remember also that any mirroring and rotation affects the Cardinal Point locations.
Note:
The coordinate system in the application is right handed, whereas in FrameWorks it
is left handed. The Cardinal Point : Pline equivalencing by superposition is explained
for an unequal angle profile. Using this kind of diagram, you are able to determine
the mappings between Plines and Cardinal Points.
If the new profile is not one of the existing shapes, you 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, you may need to assign a new country code to this. The country code abbreviation is stored in the internal steel standards file. The abbreviation is also used in the profile mapping file.
Upgrade the Catalogue for SDNF
Upgrading the Catalogue involves adding Plines to be equivalent to the Cardinal Points.
In AVEVA Catalog, determine the parameterized geometry and Pline positioning for the Cardinal Points.
If you are 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 customized copy of the sdnfupgrade<*>.pmlfnc macro. Modify the profile upgrade macro to account for the new parameterization to create and locate the SDNF Plines for the Cardinal Points. Use an existing example as a guide.
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, perform a PML REHASH ALL command in a Command window, if necessary, then run this macro.
!Ishape = |sdnfupgradei()|
!UserMap[ 1 ] = object SDNFMAPOBJ( )
!UserMap[ 1 ].Name = |/USER-PTSS-I|
!UserMap[ 1 ].Macro = !Ishape
!UserMap[ 1 ].Args = |(False)|
Modify the Orientation Mapping File
For the chosen profile in the chosen standard, if any transformations are to be applied to convert from Model 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 need not be listed in this file. In the example, 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.
AVEVA STRUCAD
BRI 8 0 180
BRI 9 1 180
DIN 8 0 180
DIN 9 1 180
Re-initialize the System and Save the UI Binaries
On the SDNF Export or Import main windows use Control > Re-initialize for resetting the configuration data only.
Or execute call !!sdnfimpexp() in a command window to re-initialize the system. However this last option is very brutal as all settings are lost because the windows and menus are regenerated. You must then regenerate UI binaries after this.
Installation of User Defined Attributes
Before you start designing steelwork, the interface requires a set of User Defined Attributes (UDAs) specifically for storing SDNF related information. These can be installed:
-
Enter AVEVA Administration with write access to all the relevant Dictionary databases.
-
Execute the upgrade macro, input the command:
call !!SDNFUDAUpgrade( )
-
Exit from AVEVA Administration, saving the changes.
Note:
The upgrade may be run even if the UDAs exist already. In this way, you may upgrade
the system whenever necessary; for example, to include more UDAs needed for a later
version of the interface.
More UDAs are required in this version, so you must upgrade the current projects if you are to use this later version. The macro has been configured to keep existing UDA definitions so that you do not lose data.
Special SDNF SITES
When the SDNF application installs itself and imports a model in the Design database, some SITE elements are created. Typically these are called something like /SDNF-CONFIG-DEMO-SYSTEM 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. The latter site is created only when needed. You can always recover elements from this area if you need to later on.
The name of the configuration and deleted element SITEs are built up of various components.
|
/SDNF- |
the system prefix |
|---|---|
|
CONFIG- |
identification of a Configuration SITE |
|
OLD- |
identification of a SITE for ‘deleted’ elements |
|
<mdb name> |
the current MDB, for example, /DEMO |
|
<user name> |
the current user name, for example, SYSTEM |
SDNF checks that you have read/write access to their specific SITEs, as you may need to edit certain attributes.
The SITE for deleted elements, named in a similar manner to the Configuration object and described in more detail in the User Guide, stores the 'deleted' elements in STRUs according to the Import revision, so that you can quickly isolate which items were deleted at which time.
The SITE names contain the current MDB and the current user name, which facilitates 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 determine the latest transfer information.