Your Solids Working Area Global Origin Working Units And You [CS]


This Client Server article is republished in its entirety from 2003 for reference purposes.

By Steve Cocchi, Building/Plant Products Support Supervisor
28 July 2003

Part I - A little history

There has been much discussion, and a bit of uncertainty, regarding just what the Solids Working Area is, how it relates your design file's Global Origin, and how Working Units fit into the picture. The purpose of this article is to help clarify how these components of your MicroStation design files fit together, and what they can do for you.

The concept of a "design plane" -the 3D world where objects are created and modified-is nothing new to MicroStation. This 3D world has a set overall size and a corresponding (and inversely proportional) resolution. As you increase the overall size of the design plane, each unit of resolution (UOR) moves further apart, causing the resolution of the file to become coarser. The greatest effect of this loss of resolution is typically seen when working with solids, where a good level of resolution is required in order to make many high level calculations necessary for complex modeling operations.


Figure 1: Design Cube and UORs

In MicroStation v7, the design plane also housed the area used by the Parasolid modeling engine. Parasolid also has its own internal design "area," by default 1km3, where all modeling operations take place. In v7, these two cubes were one and the same, with the Parasolid cube being "mapped" to the units designated by the design file (See Figure 1). Any time an object using Parasolid was generated, such as a SmartSolid, the design file resolution was also used as the basis of the solid modeling resolution. As you increased the size of the design plane, you also increased the solid modeling cube's size-and subsequently decreased the resolution.

Part II - New worlds in MicroStation V8

Enter MicroStation V8. The concept of an overall 3D design cube as used in v7 still exists in V8, however, the rules have changed. The integer-based system (232 UORs) was replaced by a floating point system. This results in an overall size some two million times larger in each direction, and provides more control over the various aspects of this area. Since Parasolid still has to work within a design cube, but the total area of the cube is so much larger, there needs to be a way to better control the resolution used for solid modeling. Enter the Solids Working Area (SWA).

Figure 2: Solids Working Area within the Design Cube

How is this accomplished? An example: In the delivered v7 imperial seed file, all operations, including solid modeling, fell within the delivered 2.66-mile design cube. This 2.66 mile design cube was composed of 232 UORs. In V8, that same 2.66-mile v7 cube is now represented by the SWA (the area in which all solid modeling is to be performed). This maintains the same resolution as in v7 for solid modeling operations, but leaves the V8 overall design cube, or Total Working Area, as a separate entity whose size can be adjusted independently. What you wind up with is essentially a "cube within a cube," where the SWA is always centered within the Working Area (See Figure 2). Note that while all solid modeling does not explicitly have to take place within the SWA, any operations performed on Parasolid objects outside the SWA may be unreliable. All non-solid modeling operations can take place anywhere within the design cube.

You'll notice that if you increase the Working Area (accessed by choosing Settings>Design File>Working Units>Advanced and decreasing the Resolution setting), the SWA total size will also increase proportionally (See Figure 3). However, you can reset the size of the SWA independently, thus controlling its resolution independently as well (See Figure 4).

Figure 3: Advanced Unit Settings

Figure 4: Changing the SWA

Knowing that all of your solid modeling should take place within the Solids Working Area, what happens if the coordinates of your objects exceed the boundaries of the SWA? For example, if using the delivered imperial seed file with a SWA of 2.66 miles as mentioned above, and you're designing a few buildings centered on the coordinates 52800', 52800', these objects would naturally fall outside the SWA. You could simply increase the size of the SWA to accommodate the difference, however in doing so you would also be decreasing the resolution. This is not the best scenario and should be avoided if possible, particularly if the resolution decreases drastically. The effects of lower resolution may not always be obvious when creating simple primitives, but are more often seen in complex, downstream processes such as solids editing, exporting Visible Edges, or TriForma's Drawing Extraction Manager (which also calculates hidden lines). This is where setting the Global Origin (0,0,0) based on the needs of your project comes into play.

Part III - The Global Origin

Figure 5: Key-in for centering the GO
Using the delivered imperial seed file again as an example, the Global Origin (GO) is by default set to the center of the design plane, and hence the center of the SWA as well. The coordinates 0,0,0 fall at the center of the SWA, which is great if you're modeling around the coordinates 0,0,0. However, the GO can be moved anywhere within the design plane that may make more sense for your project.

Figure 6: Centered Global Origin
There are a few key-ins that will allow you to reset your GO either using a monument point -- a known point in space which you can snap to -- or specific predefined points that exist in all design files. The first key-in we will look at is simply a way to set the GO to the center of the designplane(andSWA). In your key-in window type "GO=0,0,0;xyz=0,0,0|UOR" without the quotes - '|' is the "pipe" key or shift+\ (See Figure 5). This key-in sets the coordinates 0,0,0 to the absolute center of the design plane based on the file's UORs vs. any Auxiliary Coordinate Systems already in place (See Figure 6).

Figure 7: Objects outside the SWA

Suppose you had an existing group of geometry whose coordinates are known and are to be used as a reference point? The first thing we need to do is make sure that the reference point falls somewhere near to the center of our SWA, so that we have sufficient room to model. By first using the key-in above, and then creating an element with a point that falls at 0,0,0 (using the key-in xy=0,0), we now know the distance between our known reference point and the center of the SWA (See Figure 7). If the reference point is either outside or too near the edge of the SWA, then either the geometry should be moved or the SWA increased (within reason due to potential resolution decrease as previously discussed) (See Figure 8).

Figure 8: Centering objects within the SWA

Once you've confirmed your geometry is roughly centered within the SWA, and that you have sufficient room to model (while remaining within the SWA) you'll need to make sure that your reference point has the correct coordinates. For example, suppose you needed to move your geometry so that your reference point of 0,0,0, actually should be 52800, 52800? By keying in GO=52800, 52800 and snapping to a reference point geometry at the monument point prompt, you will have changed, in effect, the coordinates of your reference point from 0,0,0 to 52800, 52800 (See Figures 9 and 10). In a case such as this your concern is not with where the Global Origin is located, but rather that your elements are at the correct coordinates.


Figure 9: Moving the GO from the SWA center

Figure 10: Results of resetting the GO

Figure 11: Changing the GO using a Reset


Figure 12: GO reset to the SWA's lower left corner

Another way to set the Global Origin is to enter a GO value and then click reset instead of picking a monument point. What this will do is assign the chosen coordinates to the lower left corner of an imaginary cube 232 UORs per side, representing the v7 design plane. If you recall, the default SWA in the delivered V8 seed files is akin to the v7 design cube in UORs, so in effect you are setting the GO value to that same point within the design cube. For example, in the delivered V8 imperial seed file, keying in GO=-7045.5, -7045.5, -7045.5 and then reset will assign the coordinates -7045.5, -7045.5, -7045.5 to the lower left corner of the SWA. As it happens, this also sets the center of the SWA to 0,0,0, since 7045.5 is exactly half of the imperial seed file's SWA (See Figures 11 and 12).

Figure 13: Centering the GO with alternate coordinates

Figure 14: The results of centering the GO

Note that if you've changed the size of the Solids Working Area independent of the design file's Total Working Area, the coordinates chosen above will not correspond to the SWA's lower left corner. The GO/Reset key-in always bases the Global Origin location on the lower left corner of the 232 UOR cube mentioned previously (the V7 design cube). So if the Solids Working Area is modified independent of the Total Working Area, it's boundaries will no longer correspond to 232 UORs. However, if you've modified the Total Working Area and have allowed the SWA to adjust accordingly, then the SWA will continue to occupy 232 UORs and the GO/Reset key-in will correspond to the SWA's lower left corner.

Another alternative for moving the Global Origin to known coordinates is to use theGO=0,0,0;xy=0,0,0|UOR key-in mentioned previously, but instead of using 0,0,0, use the known coordinates. For example, GO=52800, 52800, 0;xy=0,0,0|UOR will reset the coordinates of the design cube's/SWA's absolute center to the coordinates 52800, 52800, 0.

You can also display the current Global Origin using similar key-ins, in this case GO=? or GO=$ (See Figure 15). The value returned will be the distance from the lower left corner of the imaginary 232 UOR cube to the current location of the Global Origin (See Figure 16). If you think in v7 terms, this would be the distance from the lower left corner of the design cube to the Global Origin (See Figure 17). This is why typing GO=? in the delivered V8 imperial seed file returns a value of 7045.5, 7045.5, 7045.5-one half the default SWA value (by default 232 UORs).This allows files to be converted to v7 format while retaining the basic relationship between the GO and specific points in the design cube.

Figure 15: GO=? key-in

Figure 16: GO=? results

Figure 17: The meaning of GO=?

Part IV - References

Figure 18: Coincident option


Figure 19: Coincident results

When using reference files, the Global Origin also comes into play. Reference file attachments have two design file based options: Coincident, and Coincident World. Coincident will align the design cube of the reference file to the design cube of the master file i.e., coincident cubes, regardless of where the Global Origins of the two files may lie (See Figures 18 and 19).

Figure 20: Coincident-World option

Figure 21: Coincident World results

The Coincident World option, on the other hand, aligns the Global Origins of the two files instead. This is particularly useful if you have two files with different Global Origins, but whose components are each at the correct coordinates based on their respective origins. By using the Coincident World option, these components will display correctly in relation to each other (See Figures 20 and 21). If you were to have two files that do use the same Global Origin, then the Coincident and Coincident World options would essentially be identical.

The Coincident World option is also the method used when working with DWG references, since the DWG file format's utilization of a Global Origin is much different than DGN. This allows elements to align correctly whether attaching DWG to DGN or DWG to DWG (though DWG files all have the same origin location anyway).

Part V - Working units

Figure 22: Working units' effect on the SWA
The next area I will briefly review is working units. As in v7, the working units in V8 dictate the Working Area of your design file, the inversely proportional resolution, and the real world name of the units themselves. Obviously, the overall size of this working area is much larger in V8, though it still retains a suitable resolution. The big difference as already mentioned is that the resolution for solid modeling (within the SWA) can be set independently from the resolution of the overall file-within reason. Since Parasolid has its own modeling cube, and this cube is always "mapped" to the resolution of the design file, an extremely coarse working unit setting may adversely affect 3D modeling.

Figure 23: Advanced Unit warning dialog
For example, if the Resolution setting of a delivered imperial design file were modified from 304800 per foot to 1000 per foot, the resolution itself would be 304.8 times less. In addition, the SWA would be 813 miles with a resolution of 4.29 E-005 FT (vs 1.40 E-007) (See Figure 22). While we can change the SWA back to 2.66 miles, and its accompanying resolution to 1.4 E-007, each Parasolid "unit" will still be mapped to a design file UOR that is further apart, relatively speaking. So in effect, there are 304.8 less UORs to which each Parasolid unit can be mapped. While this is an extreme case -1,705,908,950 miles is more than likely overkill for any Earth-bound project-the bottom line is that working units can affect solids modeling if certain standards are not followed. This is just one reason an alert dialog displays any time the Advanced button is used (See Figure 23).

Part VI - Feature Modeling Solids

The MicroStation Feature Modeling tools, currently available as a Select Enhancement, provide a robust set of parametric solid modeling tools. Based on the Parasolid modeling engine, these tools use functionality originally designed for MicroStation Modeler. However, Feature Solids created using these tools follow a slightly different set of rules regarding the Solids Working Area.

While solids created using all other MicroStation modeling tools rely on the design file's Solids Working Area for reliable Parasolid modeling and editing, each Feature Solid carries its own "self-contained" SWA. So regardless of where a Feature Solid is located within the design cube, it will always be "centered" within its SWA. The size of the Solids Working Area designated in the design file's Working Units dialog, however, also controls the size of each of these "self-contained" SWAs. As long as the overall size of any single Feature Solid does not exceed this setting, all modeling & editing functionality will be available.


Hopefully this article has helped to clarify how the Solids Working Area, Global Origin, and Working Units in MicroStation V8 work together to create a 3D "world" for your designs -a world where you can dictate the overall size, level of resolution, and location of any given point. While these concepts may seem a little unwieldy at first, a little experimentation can go a long way in bringing their functions to light.

See Also

Client Server Archive

MicroStation Desktop TechNotes and FAQs

Comments or Corrections?

Bentley's Technical Support Group requests that you please confine any comments you have on this Wiki entry to this "Comments or Corrections?" section. THANK YOU!