Project Internal Point

I have the following problem: i have over 100 models of one project. We lately found out that our origin point is wrong. I did some research and found out that it is not possible to move the project internal point (PI). I tried to relocate project, move the project base point (PBP) or the survey point (SP), but still then PI stayes the same. This is no go as the clients wants the models for the caleboration with other parties and wants origin to origin (for unknown reason). The only possible way is to move al the elements in 3D and 2D, this can be sensible to errors.

Question: i was wondering if its possible to move the IP through python in Dinamo? if so can anyone help me with this please? Any other suggestions are welcome.



Hi @shahrasa,

I’m afraid, as far as I’m aware, it is not possible to modify the internal origin whatsoever, I believe this point is static and has to be as I think this is where Revit bases all its internal geometric and graphical calculations from using the other base points xyz data in the internal transformation matrix to give give you the correct coordinate values.

An observation is that, when clipped, by setting the coordinates of the project base point this will keep the project base point and internal origin in the same location but move the survey point. When unclipped, the PBpt will move away from the internal origin. Knowing this behaviour, you may be able to create a script to test each model and move the user modifiable base points to a coordinated location, however moving the geometry is definitely not the way to go. It’s expensive from a time-to-do perspective and extremely unreliable, for instance, how would you validate all the elements have moved correctly for 100 models? Just saying.

I know it’s silly to say now, but having a rigorous BIM execution plan stipulating the model setup from day one is very important. You wouldn’t have this problem.

I recently posted a useful script to help understand where your base points are in this post. You will need to figure out the rest though, this just tells you their respective coordinates (including internal origin point). This may help you understand what you need to do…


1 Like

Tnx for you good explanation and advise.

You could set up Shared Coordinates - it sounds like you are over-complicating the solution and using Dynamo when its not really warranted. Shared Coordinates will avoid the need to re-position the building relative to the file origin (which I think you are calling the PI). The best way to do this is to create a RVT master coordinates file with the correct PBP and SP typically by acquiring coordinates from a DWG OS map of your site. You then need to link all 100 files and publish coordinates to each one from this file. Also, creating a Point.Origin() in Dynamo or XYZ() using the Revit API will mark your file centre.

1 Like

There are certainly easy ways to set up Revit shared location. With good will. Sometimes there is no good will, and you have to work with hostile designers, that do not want to move an inch to accommodate proper location for models. for these situations, it would be very helpful to get dynamo script to do what, otherwise becoming a 2-3 hours exercises with checks and balances included.
my project has about 80 models ( about 20 facilities with 4 or 5 main disciplines). all of them are not georeferenced ( coordinate had not been published from the main model). I am looking for a way to “geolocate” these models by reassigning the shared project coordinate ( that is different for each model, so I have to create 80 unique translations) to a new position. If only Dynmo has ability to “set” new project origin, that would be straightforward exercise. unfortunately, Dynamo seems to only be able to create and manipulate geometry into new position, not to modify values of the project shared location.

My issue is related:
Client requires the model be located in exact relation to Revit’s internal origin.
The model was developed 6" too high.

The next thought in my nubby brain is: Could A Dynamo routine be created that changes the location of all model elements including levels to a position 6" down?

Doing this in Revit causes many many problems as you all must know.


That’s an easy one and not a dynamo question for it can be done in Revit itself.
Click on the Project Base Point, make sure it is clipped, and lower the Z-coordinate 6" down, in the coordinates shown next to the PBP.



Marcel, we think that Dynamo will solve all issues because we generally don’t know sufficient basics about the Revit Platform.

1 Like