For once I’m not looking for help but thought this might be helpful for others…
I’ve been working on this for a little while, I kept thinking I’d got there only to try it on another model and end up with the wrong values… I think though I’m finally there. It’s been a good exercise for me in understanding how this process works. Anyway I thought I’d post this here in case anyone is trying to do the same.
The key to this is knowing the location of a point in both model coordinates and shared coordinates. For this it’s easiest to use the Project Base Point - by extracting parameter data we can get it’s shared coordinates and by using the Coordinates.Basepoint node we can get the corresponding model coordinates.
Once you have this data you can then use it to define 2 coordinates systems - model and shared. The shared system needs to be rotated to match the project north rotation* and this can be done using the Coordinate System Rotate node.
Once both coordinate systems are defined you can then use the geometry transform node to convert from one to the other. The ‘from’ input is the coordinate system your element is reporting and the ‘context’ is the one you want to change it too.
Personally I’m trying to export coordinates to excel but there will I’m sure be other uses - my script is attached below.
*the only thing I still dont quite get is why, to get the correct translation, the rotation value needs to be 360-North Rotation and not simply the north rotation - maybe someone else can explain that.
There is some other info over on this thread which very much formed a starting point for me.
https://forum.dynamobim.com/t/element-shared-coordinates-location/5798/10
Cheers
K.Model Origin Survey Coordinates.dyn (23.8 KB)