best practice: bring in revit models

13
Best Practice: Bring in Revit Models 1 Brief As an InfraWorks user, you need to make an agreement with Revit user to make sure that the Revit Model has correct Geolocation data and customized 3d view that can be read by InfraWorks. With those information, InfraWorks is able to place a Revit model into InfraWorks with zero configuration. This best practice document will show you the detailed steps to achieve that. This best practice only applies to InfraWorks 360 whose version is older than 2016.3. 2 Coordinated Geolocation between Revit and InfraWorks 2.1 Set the exact Location in Revit At first, we need to define where the current Revit Model is located in the physical world, which can be specified through the Manage\Location\Default City List. (See Figure 1: Revit Location Setting Dialog) Figure 1: Revit Location Setting Dialog We have to set the exact location of the project but not the rough location in City level. So we need to use the User Defined mode to input the Latitude and Longitude directly (See Figure 2). If you do not have the exact Location data in a Revit project, please refer to “4. Acquire the Geolocation from InfraWorks” to know how to acquire the latitude and longitude values from an InfraWorks POI asset.

Upload: nguyendieu

Post on 12-Dec-2016

240 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Best Practice: Bring in Revit Models

Best Practice: Bring in Revit Models 1 Brief As an InfraWorks user, you need to make an agreement with Revit user to make sure that the Revit

Model has correct Geolocation data and customized 3d view that can be read by InfraWorks. With those

information, InfraWorks is able to place a Revit model into InfraWorks with zero configuration. This best

practice document will show you the detailed steps to achieve that. This best practice only applies to

InfraWorks 360 whose version is older than 2016.3.

2 Coordinated Geolocation between Revit and InfraWorks

2.1 Set the exact Location in Revit At first, we need to define where the current Revit Model is located in the physical world, which can be

specified through the Manage\Location\Default City List. (See Figure 1: Revit Location Setting Dialog)

Figure 1: Revit Location Setting Dialog

We have to set the exact location of the project but not the rough location in City level. So we need to

use the User Defined mode to input the Latitude and Longitude directly (See Figure 2). If you do not

have the exact Location data in a Revit project, please refer to “4. Acquire the Geolocation from

InfraWorks” to know how to acquire the latitude and longitude values from an InfraWorks POI asset.

Page 2: Best Practice: Bring in Revit Models

Figure 2: Define the Location using User Defined Mode

2.2 Define the “Point” to present the Location in Revit Revit does not adopt the Georeferenced Coordinate System in a Revit project, so the Location must be

associated with a known point in Revit drawings. The know point is called “Site Location” which is not

visible to users, and the “Site Location” is the Origin of Revit model and the exported 3d Models like FBX.

The Elevation of “Site Location” is always 0.

However, in reality, the users do not associate the Location to “Site Location”, instead, they associate

the Location to “Survey Point” or “Project Base Point”. As a Revit user, we can read the value of “Survey

Point” and “Project Base Point” in Revit, which represents the offset to “Site Location”. For instance: In

“Figure 3: Shared Site of Project Base Point”, the “N/S -2000.6855” tells us the “Project Base Point” is

2000.6855 meters to the South of “Site Location”. “E/W 3100 1800” says the “Project Base Point” is

3100.1800 meters to the East of “Site Location”. “Elev 0.0000” means there is no elevation offset

between “Project Base Point” and “Site Location”. We can read the similar result in a “Survey Point.

Figure 3: Shared Site of Project Base Point

Page 3: Best Practice: Bring in Revit Models

So we now have three points that can be used to represent the Location – “Site Location”, “Survey Point”

and “Project Base Point”. By default the three points are at the same position when creating a new

project, but users may move them away in unclip mode, then we need to handle the cases respectively.

2.3 “Site Location” is used to present the Location In this scenario, we do not need to configure the Data Source manually, as InfraWorks is able to grab the

Location and Elevation data from Revit models. You can just click the Refresh button to get the model

imported with expected position.

In some cases, the elevation would be incorrect, as the InfraWorks always drapes the Revit model over

the terrain. You can just open up the Data Source Configuration again to correct the elevation by tuning

either Position Z or Offset Z. Listed below is the rule.

Make sure the length unit in Revit is meter.

Correct the Position Z or Offset Z to tune the evaluation.

Keep other setting unchanged, esp. the value of two Coordinate Systems.

Figure 4: Correct the Elevation when using Site Location to represent the Geolocation

Page 4: Best Practice: Bring in Revit Models

2.4 “Survey Pont” is used to represent the Location In this scenario, we need to tell InfraWorks what the offset of Survey Point takes. So we need to open

the Data Source Configuration to configure the Offset (X, Y). After opening up the Data Source

Configuration Dialog, you will get that InfraWorks has already filled in Position (X, Y, Z) reading from

Revit Location. Then please follow below rules to correct the offset and elevation.

Make sure the length unit in Revit is meter.

Fill in Offset X with minus E/W of Survey Point.

Fill in Offset Y with minus N/S of Survey Point.

Correct the Position Z or Offset Z to tune the evaluation. (Normally, set the Offset Z to minutes

Elevation of Survey Point).

Keep other setting unchanged, esp. the value of two Coordinate Systems.

Figure 5: Correct the offset and elevation when using Survey Point to represent the Geolocation

2.5 “Project Base Point” is used to represent the Location In this scenario, we need to tell InfraWorks what the offset of Project Base Point takes. So we need to

open the Data Source Configuration to configure the Offset (X, Y). After opening up the Data Source

Configuration Dialog, you will get that InfraWorks has already filled in Position (X, Y, Z) reading from

Revit Location. Then please follow below rules to correct the offset and elevation.

Make sure the length unit in Revit is meter.

Fill in Offset X with minus E/W of Project Base Point.

Fill in Offset Y with minus N/S of Project Base Point.

Page 5: Best Practice: Bring in Revit Models

Correct the Position Z or Offset Z to tune the evaluation. (Normally, set the Offset Z to minutes

Elevation of Project Base Point)

Keep other setting unchanged, esp. the value of two Coordinate Systems.

Figure 6: Correct offset and elevation Rules when using Project Base Point to represent the Geolocation

3 Create a 3d view to simplify the model for InfraWorks An imported Revit model in InfraWorks would look like as “Figure 7: Imported Revit model in

InfraWorks”, which is supposed to be like “Figure 8: Expected result in InfraWorks”.

Page 6: Best Practice: Bring in Revit Models

Figure 7: Imported Revit model in InfraWorks

Figure 8: Expected result in InfraWorks

This is because the “default” 3d view imported has some elements that is not supported well in

InfraWorks. We can make up a new 3d view with customized filter to make it look better in InfraWorks.

3.1 Customize 3d View for Cloud Import The cloud service is able to recognize the name of 3d view. If there is 3d view named ToAIW (or ToAIM),

then the cloud service will fetch the Elements from ToAIW view. If there is no 3d view named ToAIW (or

ToAIM), then the cloud service will go with the default one {3D}. In case that {3D} does not exist either,

then the first 3D view will be imported.

You can duplicate an existing 3d view (e.g. {3D}), and set the name to ToAIW (or ToAIM).

Page 7: Best Practice: Bring in Revit Models

Figure 9: Customized view for cloud import

3.2 Customize 3d View for Local Import It’s a bit different for local data import where 3D views ToAIW (or ToAIM) cannot be recognized by the

local import. Navisworks has also options to specify the 3D view to be read, which is by default

“Navisworks View”. With this option, Navisworks is able to to import the first view named like “navis-

***”. So you’re suggested to rename the 3D view to see in InfraWorks with “navis” prefix.

You can duplicate an existing 3d view (e.g. {3D}), and set the name to Navis-ToAIW.

Figure 10: Customized 3d view for local import

And then double check if the Convert setting of Revit reader in Navisworks Options is set correctly.

Page 8: Best Practice: Bring in Revit Models

Figure 11: Set Navisworks View as default convert settings of Revit reader In Navisworks

3.3 Filter out Topography Element At present, InfraWorks cannot aggregate the Topography (Surface) into InfraWorks as Terrain, and RPC

model as City Furniture. So you need to filter them out in ToAIW (or ToAIM) view and “navis-***” view.

Figure 12: A customized view flittering out Topography and RPC

4 Acquire the Geolocation from InfraWorks InfraWorks supports Georeferenced Coordinate System, but it does not have a Survey-Point-like Asset to

present a known point in the physical world of Building or 3d Models. One of a solution is to leverage

the POI, which would come from a SHP file, GIS database or digitized manually. Below Scripts is able to

Page 9: Best Practice: Bring in Revit Models

fetch the Latitude, Longitude and Elevation values from Point of Interest (POI) object and set the values

to User Data field.

Table 1: Scripts to get Latitude, Longitude and Elevation of POI

For instance, let’s imagine that there will be a building in Yellow Pin which presents the “Survey Point”.

The User Data field already has the geolocation of the “Survey Point”.

function getCoordinate(feature) { var vector = feature.GEOMETRY.Centroid2d; var vector2 = feature.GEOMETRY.BBox3d.Center; if(vector == null) { return; } vector = app.ReprojectPointDbToLL84(vector); if(vector == null) { return; } var longitude = vector.X; var latitude = vector.Y; var elevation = vector2.Z return latitude + ", " + longitude + ", " + elevation; } var db = app.ActiveModelDb; var classID = db.TableIndex("POIS"); var poisTable = db.Table(classID); var poisRow = poisTable.GetWriteRow(); poisTable.StartQuery(); var row = poisTable.Next(); while(row){ poisRow["USER_DATA"]=getCoordinate(row); var featureId=row.ID; poisTable.UpdateFeature(poisRow,featureId); print( "Feature "+featureId+" was updated."); row = poisTable.Next(); } poisTable.EndQuery();

Page 10: Best Practice: Bring in Revit Models

Figure 13: Geolocation of POI in InfraWorks

Then the Revit Project should have the same Geolocation by specifying the Latitude and Longitude in

Location dialog.

Figure 14: Enter the Latitude and Longitude in Revit Location

5 Tips

5.1 Set the Display Unit to Meter in Revit The Length Unit of LL84 (WGS84 datum, Latitude-Longitude; Degrees) is Meter. Accordingly, we need to

get the offset from Revit in Meter unit. You can either calculate by yourself or let Revit display the

values in Meter directly. Each approach requires us to know the length unit displayed in current Revit

project.

Please go to Manage\Project Units tool to open up the setting dialog and change the length unit if

needed.

Page 11: Best Practice: Bring in Revit Models

Figure 15: Shared Site of Project Base Point

5.2 Turn on Survey Point and Project Base Point Go to Visibility/Graphics options to enable the Survey Point and Project Base Point.

Page 12: Best Practice: Bring in Revit Models

Figure 16: Make Project Base Point and Survey Point visible

5.3 Turn off Topography Category Go to Visibility/Graphics options to disable the Topography.

Page 13: Best Practice: Bring in Revit Models

Figure 17: Make Topography invisible