Series Index - Setting Up in the Real World
’ve been picking away at the whole issue of where to model in 3D space for a long time. One of the sources of confusion is the use of ambiguous names or descriptions for some of the key concepts.
The following discussion will hopefully clarify things.
Several settings and concepts interact or are important to understand:
The waters can be muddied by comments such as “Solids Working Area should be set relative to the largest element you expect, are you modelling a watch or an airport?” which identify the existence of questions but don’t really give guidance on actual settings. I hope to provide some guidelines if not firm answers.
The UK context is that the furthest point on land is about 1300km from the National Grid Origin down in the Western Approaches.
2D? No problem, reference in an OS DXF file and you can draw away happily, 3D is more complex as I know some of you have already found.
You would think after working successfully in 2D MicroStation at real-world coordinates, and given a humungous Design Cube, modelling in real world locations in the UK, would be trivial.
In ABD’s UORs the numbers get very big for coordinates in somewhere like Oxford, shown below, let alone in the Shetlands.
This is very basic but worth a review.
The precision of a DGN file is set by the Units of Resolution per Unit of Distance. In a 3D file this setting defines the extent of the recommended Design Cube.
These are the current metric defaults for MicroStation. This default resolution for MicroStation was chosen as it is a more general purpose tool used across a range of disciplines, land use data for instance can obviously extend over large distances:
And for OpenBuildings Designer:
The higher resolution set as default in the OpenBuildings Designer datasets is required for the higher level of accuracy needed when working with the with complex geometry generated by buildings and their contents even when modelling at a "General Arrangement" level of detail. Individual buildings or smaller campuses can be accommodated with the resulting Working Area.
Users of OpenBuildings Designer should always work in files with a resolution of 1000 UOR/mm and follow the recommendations below for best results.
When working with a mix of MicroStation and OpenBuildings Designer we recommend setting MicroStation’s seed files to match that of OpenBuildings, i.e 1000/mm. This is removes one opportunity for uncertainty or confusion and eliminates the scaling calculations that are executed when referencing files whose resolutions differ. Exceptions will be managed by the applications but let’s keep things simple where we can!
The resolution of files within a project could be varied if necessary for a particular situation but be aware that some OpenBuildings Designer features may behave unpredictably if the default resolution is not used.
Note: Changing resolution is an administrative activity applied only to empty seed files! Change the Resolution and existing elements in a file will be resized so no one in your teams should change these settings.
Recommended maximum limits are:
Set the resolution too high and you run into the accuracy issues that computers have with big numbers.
Set the resolution too low and you start missing detail in modelling and drawings.
Tip: Use the “SHOW UORS” key-in to see the numbers involved in your own models. Note the Message Center only displays the first four of 16 decimal places.
And while we are here, for the avoidance of doubt, note that other accuracy settings such as Working Units > Accuracy; Working Units > Angle Readout:Coordinate readout, decimal places on dimensions, etc., are only display settings. Sometimes this is not understood and people become concerned that they are reducing the accuracy of their models by changing them.
Using the OpenBuildings default resolution of 1000/mm gives us a Design Cube 9007199km along each edge. That’s about 2.5 times the distance to the moon.
"So can’t I use all that space?"
Not reliably! The further away from the Design Cube Centre you get the bigger the numbers are…
Floating point operations are dealing with numbers like this:
Note the 16 DP!
The limiting factors are those of floating point arithmetic. As mentioned above, double precision floating-point limitations apply to all modelling operations.
Many floating point calculations are carried out and each time a rounding off occurs (up to 16 places to the right of the decimal point). These roundings can accumulate to the point where positional errors can occur, potentially reducing accuracy or compromising operations.
The further elements are away from the Design Cube Centre the more effect rounding and floating point calculation limitations may have!
For standard brep solids, i.e. Bentley’s SmartSolids and Feature Solids, these roundings should not be an issue, but when other tools and features are involved problems can arise.
Simple tests appear to work just fine. I built a trivial model in the Shetlands, ran a series of Boolean operations, pushed and pulled faces, apparently no problem. However put a real building in the Shetlands and at some point things may go awry simply because of this arithmetic.
I did encounter an issue with graphics resolution in this model, note the white flecks were visible along some edges, zooming right in reveals them. This is not directly due to the distance from Design File Origin, it is actually to do with the camera extents, see Zig-Zag Edges in Shaded Views for more details.
…to avoid cumulative rounding errors. Working within the Solids Working Area set by the dataset seed files is the easiest way to meet this recommendation.
Parasolid is the engine that powers MicroStation and ABD’s 3D features. The SWA is simply a scale factor used when interacting with the Parasolid geometric modelling kernel’s design cube governing the resolution that Parasolid is operating with. (http://www.plm.automation.siemens.com/en_us/products/open/parasolid/index.shtml)
Operations involving 3D solids, from the simplest Boolean addition of two solids to the many operations involved in generating Dynamic/Building Views from a complex building, must take place within the Solids Working Area (SWA) so it is best to model within the SWA.
Where solid elements are modelled beyond the SWA, MicroStation and OpenBuildings behind the scenes mathematically translate and scale them to a location near the centre of the SWA, store that transformation, perform the required operations, then transform the modified elements back to their original position and size.
At this point I can hear the ghost of my maths teacher saying “I told you transformations were important!”
While working at real world coordinates is fine for 2D and many 3D operations, particularly at the lower resolutions used by civil design, building models can include highly detailed elements and assemblies. When creating DVs, as well as calculating the geometry at the cut-plane, OpenBuildings also calculates unification of parts (either the same parts or different parts that have a common unifier specified in their definition) and calculates resymbolisation and auto-annotates as specified where discipline rules are applied.
The floating-point arithmetic involved in calculating these has limitations "Squeezing infinitely many real numbers into a finite number of bits requires an approximate representation". Put crudely (I'm not a computer scientist) as a model moves further away from the design file centre the numbers get bigger and the rounding errors that occur in floating-point calculations can accumulate resulting in inconsistencies in calculated geometry; i.e. missing elements and visible edges.
This limitation is common to all applications (search for floating point errors in Excel!) which is why all 3D CAD applications have limited modelling spaces. MicroStation's ability to encompass huge real-world extents in 2D operations have led many 3D workflows to follow 2D/2.5D practices resulting in the problems raised here and elsewhere.
MicroStation and OpenBuildings Designer have different default SWA’s.
In MicroStation the default SWA is 1km in extent.
In OpenBuildings Designer the default SWA is 4.29km. This was based on the v7 design cube for legacy reasons. OpenBuildings Designer has been tested and certified using the default 4.29km SWA so it is recommended to use this default whenever possible.
The SWA can be changed in size from the defaults but this will change the level of accuracy available when modelling. It is possible that this could affect certain tools or operations in OpenBuildings Designer so when modelling buildings with OpenBuildings Designer always use the default resolution of 1000 UOR/mm (the imperial equivalent is 304800 UOR/foot) set in OpenBuildings Designer's seed files. This is what we test against and some dataset content relies upon this resolution.
The Electrical tools require the default 1000/mm resolution so never change the resolution used for any electrical files.
There are a couple of cases where changing the resolution might be considered but this is not recommended:
These seem unlikely, but have come up in urban design projects.
Boolean operations will be successful on any element that does not exceed the SWA in extent, operations on larger elements may fail completely or produce unexpected results. For instance a 4.2km cube element will almost fill the OpenBuildings Designer SWA and can be modified, but if rotated will extend beyond the SWA, operations would then fail.
If you need to model complete elements larger than the default SWA in extent, the SWA can be increased in project seed files.
However our recommendation would be to break the elements down to smaller units.
Either break the model down into separate models that fit the SWA and reference them together or increase the SWA.
We recommend breaking the model down and using referencing but if the project really demands it the SWA can be changed.
A rule of thumb for changing the SWA to suit a large site has been suggested as follows:
If you are using OpenBuildings Designer do not change the desogn file resolution
If you change the resolution of a design file the Solids Working Area will be scaled in proportion. Watch out for this. The size of the SWA should be manually set in line with the guidance given here when creating project seed files.
OpenBuildings Designer will handle files containing different resolution settings but this will involve an extra layer of internal scaling calculations with potential for further cumulative rounding.
How near is ‘near’ to the Design File Centre?
A good guide is:
The UOR is the critical factor.
Take a look at the actual UORs at the edges of your model. Use the “SHOW UORS” key-in to see the numbers involved in your own models. Note the Message Center only displays the first four of 16 decimal places.
At Maximum Window the numbers are very large
Tip: Use Ctrl + Shift to activate AccuSnap for this command.If any of those UOR values are more than 5,000,000,000 you are probably getting too far away.
If in doubt check the actual UOR coordinates of elements.
Values in excess of 5e9 UOR, that’s 5,000,000,000 in old money, are a warning.
Having established that we should model close to the Design File Centre we recommend using Geo-coordination via Global Coordinate Systems (GCS) to locate projects in the real world, discussed in Setting Up in the Real World – GeoReferencing Update.
Relabelling of the Global Origin, briefly discussed below, is no longer recommended.
- MicroStation 10/mm
- OpenBuildings Designer 1000/mm
For some background on floating point operations http://floating-point-gui.de/basic/
Sometimes confused with the Design File Centre, the Global Origin is a point that can be relabelled.
By default the Global Origin is coincident with the Design File Centre.
The Global Origin can be relabelled to meet various workflows, but we recommend the use of geo-coordination.
Relabel the Global Origin to establish local setting out coordinates.
Use GO= tool > Monument Point and snap to the centre of the setting out point.
Always Save Settings after successfully relocating the GO, the new GO will not be auto-saved.
Use GO=$ to display the current GO offset from the Design Cube Centre
GO= tool > Center will reset to 0,0,0
The red setting out points are in a reference file and relate to the UK National Grid origin, all of the black coordinates are relative to the Site Origin at lower left, a survey point South West of the site to ensure positive coordinates. By the way, the coordinate markers here are cells containing text fields linked to the x,y coordinates of the marker’s centre. If the setting out point needed to be moved, just relabel the GO to the new point and update all text fields.