I've noticed that the units used by the TOS (Top Of Steel) drawing rule are based on the active Dimension Style which may change during the lifecycle of a DGN file. For example, we usually label Elevations and Coordinate readouts in Meters (EL. 78.800m) but will dimension geometry distances such as wall length or door openings in Millimeters. There doesn’t seem to be a way to lock the TOS drawing rule to a particular Dimension Style to ensure that the value is always displayed in Meters, so when we switch the active Dimension Style to suit geometry requirements we will see TOS values in Millimeters as well.
There is currently no way to define the working units for a specific drawing rule, nor for selecting a specific Dimension Style. If this is something you would like to see in the delivered product, please visit the OpenBuildings Ideas page and search for similar requests or create one if none exists. If you do find one that suits your needs, please add you vote to improve visibility to the OpenBuildings Designer product team.
As a potential alternative, if you or someone you know has VBA skills you could consider the possibility of creating a custom VBA that reads the current TOS value and converts it to Meters. OpenBuildings Building Designer delivers a few example MVBA files in the ..\Configuration\Datasets\Dataset_Name\Vba folder, including “STRCustomDrawingLabels.mvba”:
This MVBA file contains examples of VBA macros that cover a range of techniques used for drawing label rules as well as other general supporting “helper” methods. Some of these macros are used in the delivered Structural drawing rules to format reactions, shear studs and camber properties. Since Structural drawing rules allow custom labels to be created based directly on member properties or created and formatted through the use of VBA, almost any label can take advantage of settings that allow various aspects to be controlled such as font, symbology, position, etc..
In this example we will open the VBA Manager, select the STRcustomDrawingLabels project and enable the Loaded checkbox, and launch the VBA Editor
We will then copy the delivered “CamberWithLabel” macro, paste to below that section and rename it "CamberLabelMod":
Next, in our new macro we will make a simple edit that changes the Camber value to three decimal places, save the results, and close the VBA Editor and Manager dialogs:
In the Labels tab of the Structural Drawing Resymbolization Rule dialog box, select the Custom Labels option from the list on the left, type a name your new label (“Camb1”), and click on the Add button:
Select your new label from the list and click on the Add Attribute button:
Select Camber from the Attribute/Property list, and in the bottom section choose "Custom" from the Format drop-down list and add the VBA Project, Module and Function values as shown:
Save your changes and apply the rule to a drawing that includes Structural members with Camber values. Even when the active Dimension Style is set to Millimeters, the custom Camber rule will use Meters:
Note that the technique above is simply an example using a delivered macro. Applying this same technique for the TOS rule requires interpreting the data used by a DataGroup property value and assigning it to a coordinate value instead.
Also see: VBA Custom Structural Drawing Labels