Revit Survey reference point appears to apply True North rotation on receive

Hi Speckle team,

I’m testing a Rhino → Speckle → Revit workflow for GIS/context geometry and I’m seeing behavior that seems inconsistent with the documented Revit reference point options.

Testing workflow:

Rhino:

  • Data pulled from several PDOK services in the Netherlands to acquire GIS data, oriented True North on the Dutch RD coordinate system. Translated to local Rhino origin to minimize geometry space.
  • WCS origin = 0,0,0
  • Geometry is aligned to True North
  • Rhino +Y = True North
  • Geometry is published to Speckle without any rotation

Revit

  • Survey Point = 0,0,0
  • Project Base Point offset (example):
    • N/S = 7000
    • E/W = 70000
  • Angle to True North = 40.30°
  • Receive is performed in a view oriented to True North
  • Speckle Reference Point = Survey

Expected behavior

Based on the documentation, I understand Survey to mean:

  • Rhino / Speckle origin maps to the Revit Survey Point
  • No rotation is applied

So I would expect:

  • Rhino 0,0,0 → Revit Survey Point
  • Rhino +Y remains aligned with True North
  • The 40.30° Project North / True North rotation should not be applied to the received geometry
  • View orientation (True North / Project North) should not affect geometry placement when using Survey point.

Observed behavior

Instead:

  • The geometry is translated as though the Survey Point offset is being evaluated along axes rotated by the Revit True North angle
  • The geometry itself receives an additional rotation of exactly 40.30°
  • The resulting placement appears to use a rotated/implied Survey coordinate frame rather than a pure Survey Point translation

The measured unwanted rotation is exactly equal to the Revit Angle to True North: 40.30°.

This looks more like the documented Shared Coordinates behavior — Survey Point + True North rotation — than the documented Survey behavior.

Could you confirm whether this is expected behavior for the current Revit connector?

If Survey is intended to be translation-only, it appears that the True North rotation is being included in the receive transform when it should not be.

Regards,

Gijs