Application Tools
- Last UpdatedNov 14, 2025
- 5 minute read
The application is supplied with the following functions:
Managing ABSI UDA visibility
For various reasons, the UDAs that are created to manage the ABSI data are normally hidden. If you wish to see them on a one-off basis in the main product you can use the function !!bocshowuda(). To inspect an element, identify and locate the element, type !!bocshowuda() in a command window and the ABSI UDAs listed are listed.
To modify their visibility more permanently in Lexicon use the function !!bocvisibleudas(). This has several arguments because this function also works on OpenSteel UDAs. ABSI UDAs have FAB as their prefix, OpenSteel UDAs have SDNF as their prefix.
!!bocvisibleudas( !prefix, !globalVisibility, !localList)
Where:
|
!prefix = |SDNF| or |FAB| |
For SDNF or FAB - goes to either /SDNF-UWRL or /FAB-UWRL |
|
!globalVisibility = true or false |
To set ALL SDNF or FAB UDAs visible or invisible |
|
!localList |
A space separated string list of UDAs to be visible whatever, for example: |FABEMARK FABCRDATE| |
For example:
!!bocvisibleudas( |FAB|, false, |FABEMARK| ), this would hide all ABSI UDAs except :FABEMARK.
Sorting into Phases
If the imported model has Phase information in the user data from Bocad, the user can sort the elements according to Phases.

The user data from Bocad is stored in the UDAs :FABRADATA[1] and :FABTADATA. If the data change, or the location of this information in the user data fields changes, then this function must be modified accordingly. Use the data, the elements will be sorted into FRMW according to their phases.

The function to perform this task is !!bocuserphasesort. You need to enter the command in the command window and identify the required element to be sorted.
!!bocuserphasesort ( )
For example:
!!bocuserphasesort ( ), this will produce a log file called absiphasesort.txt in C:\temp listing any comments.

This can take a long time, especially for large models, see below. In this case it is recommended to switch into TTY (non-graphical) mode, and perform the operation there.

You can then return to the graphical mode to use the Phase colouring function, refer to for further information.

Colouring Phases
This is a more general function than just colouring phases, it allows you to enhance members and member groups of the current element (CE) in the graphical view.
!!bocusercolour( !level, !startColour )
The !level argument determines how many levels down in the hierarchy the user wishes to differentiate the members:
|
Level 1 |
Colours only the immediate children of the CE. |
|
Level 3 |
Colours up to 3 levels down. |
|
Phase Sorting |
The !startColour is a starting value of the colour number for the colouring sequence. |
The following sequence shows the effect of different level settings on the colouring. The first image is of the raw state.
|
|
|
|
|
|
Sort members according to UUID
This user function is aimed at the situation where the main steelwork has been designed in PDMS, and exported to Bocad for detailing.
The detail plates are added to the model in Bocad and associated with a main member. In Bocad terms this is referred to as the leading member. In this situation a different set of user data is required to associate the new elements with the leading member.

With this information, new elements that have the leading member’s UUID set can be moved into the existing PDMS database hierarchy to be alongside the owning member.

Using the leading member’s UUID and the :FABEMARK, the child element is moved to the right place in the hierarchy. As before, if this data is in another slot in the user data set, then the function must be changed. When at the suitable element in the hierarchy, the user can sort the data, to do this, type the following command in the Command Window:
!!bocusersortwuuid( )

For example: the stiffener elements have been moved to be with their leading member in the hierarchy.
Merging SITES
You can import parts of the model into different SITEs and then merge them, to do this type the following command in the Command Window:
!!bocusermergesites( !destination, !source )
The !source and !destination variables are database reference numbers of SITES. The merge process takes the members of the source SITE and relocates them into the destination SITE. The function does not work at a lower level than a SITE, although it could be modified easily.



