Object or Camera location - To Northing and Easting

Dear Hivemind,

Is it possible to move a family or camera to a specific Northing / Easting location?

I would like to get some views from a specific location in London.

Thanks in advance.

Dear Submind,

Yes, this is totally possible. Here is an example script that takes shared coords, converts them to internal coords and creates a perspective view looking at a target element/position.

PerspectiveViewBySharedCoordinates.dyn (44.6 KB)

Note: I have included two options for specifying shared coords. Either by manual entry, or by relative position to shared coordinates. Of course you can tweak these to your needs, for example using an excel spreadsheet to generate multiple views at different locations.

Warning: This uses the built-in Dynamo Node for this and therefore is subject to Element Binding. If you are unsure what this is, in short it means that running this script a second time will modify the view it created in the first run. If you want to know more about Element Binding see this thread.

Cheers,
Hive Support Submind 3 of 9, Tertiary Adjunct of Unimatrix 06.

2 Likes

Hi Daniel,

I really appreciate you taking the time to reply to this. I’m having a problem with Dynamo for Revit 2022 so had to uninstall and now I can’t seem to find a straightforward installer to set it up again…

I’ll let you know how I get on once I’ve resolved this new… challenge.

Craig

1 Like

I just discovered the BIM Interoperability Tools Add-in causes Dynamo to stop working… joy.

Hi. So I got the script working. I had to set the units to metres from mm to run it as it didn’t like the amount of digits.

It creates a view but unfortunately the view is empty of geometry and I’m scratching my head trying to figure out where everything is… When I select “show camera” in while in a plan view the camera doesn’t appear.

Edit. Looking at it, it seems to be a units problem.

Any ideas?

Hi @craig_SW ,

Hmm, I’m not sure. The script is not actually doing any unit coversion per se. Instead, I am letting the Transform do all this for me. As long as the coordinates you give it are in the same coordinate measurement as your project base point, then the Transform converts between shared coordinate values to internal coordinate values, in Dynamo these values would be whatever your project units are. However, the perspective view node will convert these to internal units (feet), you don’t need to worry about this.

Please see an example of the script in action below…

In the example, my project Eastings/Northings are in mm, I also have a rotation and elevation set for completeness. As you can see, this is working as expected. As for the error you might get in Dynamo, since we are dealing with quite large numbers here, the point with shared coordinates is beyond the working range of Dynamo (this is where you might start expecting some rounding errors and the further outside this range, the less accurate the values/geometry will be). To help with this, you need to set your geometry working range (Settings > Geometry Scaling) to be Extra Large, this may fix the issue although I found it made no real difference in my tests.

1 Like

Hi Daniel,

Again a massive thank you for taking the time to help me out on this.

The good news is I got it to work. The video was very useful. It is creating the view, although with a warning about size. I adjusted the geometry setting and that seems to have jogged it into working.

Thanks again. That’s a really great graph.

Craig

1 Like

No problem and glad you got it working! Have fun creating those views! :slight_smile:

1 Like

Hi @Daniel_Woodcock1 ,

I am having a task similar to this and I see that it has worked. I want to place the cameras at each room of my Revit file. I am thinking of using the room reference to place the camera at a fixed height of 1.7m.

Any suggestions on how to do this?

I really appreciate it.

If you’re not using shared coordinates, then you can use the standard internal coordinates dynamo gives you. Say for instance you want to place the camera location at the centre of your room, then get the rooms centre (there’s probably a node for this or some comprehensive forums posts on how). From this you can adjust the eye height and target direction as per your requirements. No need to convert coordinates.