I already posted this question on Revitforum.org, but so far received no response. That’s why I hope to attract a different audience over here.
My issue is as follows:
I pull points from Revit, in the World coordinate system (family placement point). What I need to do, is transform these points to a new coordinate system, based on the first 2 picked points (first point is origin, second point is on X-axis) I then feed those coordinates back into shared parameters, tag em and enable the installation crew to do a fast check on positioning of surrounding steelwork etc. Large part of the script is working, but I can’t get my head around the transformation. I hope someone can point me in the right direction…
Regards, Ron van Slobbe
coordinaten meetpunten bepalen
To translate the points to a new coordinate system, you could just do a simple addition/subtraction (used Lunchbox to decompose values).
To feed parameters back in, you could create a shared parameter to store the info, and then use SetParameterByName to set the values.
Thanks for your reply. Unfortunately this is not what I’m looking for. It’s not just a replacement of the origin, it could also be a rotation.
That makes it a lot more complex…
Couldn’t properly study your attached definition as it has a Custom node
However, if you need to transform geometry from one Coordinate System to another you could use Geometry.Transform
Thanks for your input. Unfortunately I am still not getting the desired result.
When you look at the watch on the bottom the first point should read 0, 0, 0, the second point 12240, 0, 0 and the third point 12240, 12240, 0
So I suppose something goes wrong in the Node “Coordinatesystem.ByOriginVectors” but I simply cannot grasp what I miss…
Anyone has a clue ?
May not be the right suggestion, as I don’t think I’ve managed to grasp what you’re attempting.
Use the points to specify the direction, but would suggest that you transform lines or other geometry. Not points.