This is a guide to combining Graphisoft Archicad content with Cesium ion datasets within NVIDIA Omniverse, using the Graphisoft Archicad connector and the Cesium for Omniverse extension.
You’ll learn how to:
- Prepare and export 3D content from Graphisoft Archicad.
- Accurately position this content on Cesium World Terrain.
- Know how to set up a basic Cesium for Omniverse stage in NVIDIA Omniverse USD Composer. Check out our Cesium for Omniverse Quickstart guide for instructions on starting with the Cesium for Omniverse extension.
- The Graphisoft Archicad S-Office sample project available here. For more information on Graphisoft samples, visit the Archicad samples page.
- The Graphisoft Archicad connector 200.1.276 installed from the Omniverse Launcher.
3D design software commonly favors local Cartesian coordinate systems over geographic ones to meet the demands of precision, accuracy, and simplified workflows. Local coordinate systems offer a convenient method for defining and manipulating precise measurements without the complications associated with geographic factors like Earth's curvature and latitude-longitude coordinates.
When it comes to Cesium for Omniverse, it typically adopts a geographic, Earth-centered Earth-fixed coordinate system, representing Earth as an accurate 3D globe. Consequently, to position an architectural model represented in local coordinates onto a geographic dataset such as a globe, a coordinate conversion process becomes necessary.
This tutorial demonstrates a workflow for aligning a Graphisoft Archicad architectural model with Cesium World Terrain. It is important to note that while the workflow in this tutorial can accurately position Archicad data on the globe, it does not feature a way to account for the curvature of Earth. This means for particularly large scenes, data at the edges of the model may not be accurately positioned with respect to the surface of the Cesium globe. Most architectural projects created with Archicad are small enough in geographic size for this to not be noticeable.
1Open the S-Office sample scene in Archicad.
2Right-click on the document and select Go to > 3D Window. Alternatively, press F3 on your keyboard.
3Click Options > Project Preferences > Location Settings to display the location settings interface.
4Click the Switch latitude display format button and select decimal degrees.
5Copy the Latitude, Longitude, Altitude,and North Angle values into a text editor for later use. Be sure to take note of the north/south and east/west values of the latitude and longitude. Ensure North Angle is also set to decimal degrees. These will be used to configure the location of the design on the Cesium globe.
Close the Location Settings window once these values are copied.
For the sample scene, the latitude and longitude defined in location settings reflect the exact geospatial location of the project origin (0,0,0) of this design. In some architectural models, this latitude and longitude may be approximated as it may be used for only sun/shadow analysis, rather than accurate geopositioning. If you cannot obtain an accurate location, you can check for additional location information under Survey Point or ask the creator of the file for more information on geopositioning.
6From the Omniverse toolbar, select Export as Prop to begin the export process. You may need to sign in to Omniverse if you wish to export to a Nucleus server.
7Choose a name and location for your USD and click Export to begin the export process.
1Open Omniverse USD Composer, ensuring the Omniverse Fabric Scene Delegate is enabled as per the quickstart tutorial.
2Click Edit > Preferences to open the Preferences window.
3Click Stage; then set Z as the Default Up Axis. This will ensure our stage follows the up-axis convention of typical AECO tools, making it easier to find and adjust coordinates.
4Click File > New to create a new empty scene. Remove the default ground surface.
5Click File > Add Payload, and select the USD file created during Step 1.
6Your Archicad content should now be loaded in the stage. However, it may not be completely visible. Press F to zoom extents.
7From the Cesium window, add Cesium World Terrain + Bing Maps Aerial imagery to the stage.
8From the stage, select the CesiumGeoreference prim to display its properties in the Property window.
9In the Property window, enter the latitude, longitude, and altitude (height) obtained from Archicad.
If your latitude had a direction of south or longitude a direction of west, you will need to negate the respective value first. For example:
- A latitude of 23.1 South would be entered as -23.1 in the CesiumGeoreference.
- A longitude of 19.6 West would be entered as -19.6 in the CesiumGeoreference.
10You may notice that the location approximately matches the design but that both orientation and elevation are incorrect and need to be adjusted.
11The altitude value from Archicad represents mean sea level. Cesium World Terrain has its height values defined based on the WGS84 ellipsoid. To align the two as accurately as possible, the difference between mean sea level and ellipsoid height needs to be calculated. This difference can be used to offset Cesium World Terrain vertically.
12Visit the UNAVCO Height Calculator in your browser.
13In the coordinates box, enter the project’s latitude and longitude, followed by a height of 0.0, separated by commas. Click Submit.
14Scroll down to find the results, and copy the value from the Geoid Height (m) column.
15Add this value to the original altitude value from Archicad. The result should be 148.39. Paste this value into the Height property of the CesiumGeoreference prim.
16Cesium World Terrain should lower and now closely align with the design from Archicad. The design terrain may not precisely match the existing terrain because of differences in source data or changes based on the design.
17Select the USD payload in the stage.
18The design in Archicad is aligned to the project coordinate system, which is different from the north-aligned orientation of the Cesium globe. To fix this, the USD payload needs to be rotated by a value calculated from the Archicad North Angle.
To calculate this, we subtract the North Angle from 90 degrees, giving us this equation:
90 - 148.828003506546 = -58.828003506546
Paste the result into the Y component of the Rotate property on the payload.
19The design should now be accurately positioned on the Cesium globe.
20Try swapping Cesium World Terrain for Photorealistic 3D Tiles. See our Photorealistic 3D Tiles from Google Maps Platform in Cesium for Omniverse tutorial for more information.