Create/Move Dynamo Origin

Dynamo 1.2
Revit 2016

I am working on a development that has 3 towers and a podium. The Revit workflow is setup so that the podium is the central, and each tower is an individual link. I have been using dynamo to create conceptual massing in each tower file, and here is where my problem lies:

Because the 4 links that make up the overall project are oriented to the same origin, each tower in revit is located different to the dynamo origin point (see attached picture).

The Left set of elements are oriented to the dynamo origin point, whereas the right mass is where the tower is located in the revit file.

My Solution: Find the x and y difference between the two, and just translate my geometry by the given amount before importing the geometry into Revit.

This solution is a band-aid fix, but I need a real solution now, as the project is becoming more complex.

My Question:
Is it possible to change the origin point of dynamo so that my 0,0,0 in dynamo aligns correctly with the base of the tower to avoid the annoyance of just shifting everything after creating it?

Hi @cp_questions,

You need to calculate the vector translate from where your Dynamo origin is to you project base point. You can get the project base point coordinates easy enough, then you a vector.bytwopoints to give you the translate vector. If there is a rotation in your project perform that first.

See my post below that covers basepoints in Revit…


I’m trying to wrap my head around the whole, project base point vs dynamo base point concept. I think it makes sense to me, so I realize that the Level.Elevation node will simply give me a height above the established grade in revit. I can just pick an element that is aligned to the datum in the project, and find the difference between the elements Z value, and the height that the Level.Elevation node reads, but I was hoping to eliminate the selecting the element aspect (as elements often change location or get deleted).

Question: Is there a way to query the Z values of all levels, rather than the Level.Elevation (which doesn’t really help)

Bottom right of the image is the information I want to find without selecting the object.