Revit: Project Base Point correction (suggestion and solution)

I understand that the devs are working on Base Point changes for the Revit plugin. Currently (4.21.E0) there are issues when needing to offset the model to Project Base Point:
This is to ultimately match other CAD imports (be it other Revit files with different coordinates or other packages). Project Base Point can be inconsistent for a project across files.

My opinion is that there should be a new Datasmith actor (called DatasmithTransform) which is the root of the DatasmithSceneActor (to solve coordination issues).

Additionally, having it this way would allow the exported Revit meshes maintain true axis alignment. I don’t think the transform offset should be applied on export, but could be recorded.

In Revit you have the Project Base Point and Survey Base Point. On top of that there is True North and Project North.

The DatasmithTransform object could have a drop-down that has pre-calculated coordinates which set the Location/Rotation. For example: Project Base Point - True North (new default)
Project Base Point - Project North (current default as of 4.21.E0)
Survey Base Point - True North
Survey Base Point - Project North

The way the devs could incorporate this is to create a nominal TrueNorthBasePoint object. To solve this today, we can do the same thing but requires a bit of work:

  1. Create a Generic Model family with a small 3d object that represents a datum (the box helps with orientation.
  2. Place this @ datum level in your project floor level plan. Ensure that the rotation matches True north (check Orientation) and the centre position is exactly on your Project Base Point.
  3. Export your .Datasmith file as usual and import into your UE4 level.
  4. Drag-out a StaticMesh (or Cube) into the level. Copy the transform (location and rotation) of your Revit datum object and apply to the Cube (important to do this first).
  5. Now select your DatasmithSceneActor and drag it onto the Cube. It will apply the transformation offset.
  6. Your .Datasmith actor now has a Project Base Point reference (Cube). You just need to apply the True North location on the Cube. This can be queried in Revit (measure X and Y if Project has rotation).

Hope this helps others as calculating offsets can be time-consuming.