I am loading Revit models into rhino for different types of environmental analysis. I like that when I load in multiple models from the same site they are all correctly oriented and positioned relative to each other.
I also frequently load in context models to model the site’s surroundings as well. These context models generally have a geolocation attached to them. However the context is not “aware” of the revit models geolocation etc so needs to be manually positioned relative to this.
So my question is, assuming a Revit model has been geolocated correctly, does that data (latitude, longitude, elevation, angle to north) travel with the model when it is uploaded to Speckle? And if so, where does that data go when it is loaded into Rhino? I’ve noted some data written to document user text but nothing that looks to be location related. And I can’t see anything in the model data tree up on the viewer.
I would love to be able to import context and have it automatically placed and aligned relative to the revit model.
I may not be the best person to answer this, but I’ll try! If you’re asking about Survey Points defined in Revit, here’s what we do: when you publish your model to Speckle, you can define the origin point as the survey point. So when loaded in Rhino, the survey point becomes the Rhino origin and all elements are placed relative to that point.
However, I’m not aware of us storing actual geolocation data (latitude, longitude, elevation, true north angle) alongside the model.
Can you tell me more about your workflow and what you’re hoping to achieve? Would be helpful to understand the use case better!
Next I want to add context meshes from Cityweft in rhino. There’s various ways to do this but I would generally draw the outline of the region as a rectangle which also loads this into my model. However, this is not aligned to my revit model collection, so I need to manually reposition and rotate the context until it aligns and I end up with something like this:
Now this manual step isn’t particularly difficult, but I have broader ambitions of running this process headlessly in the background, therefore if I could automate this I might get there.
Cityweft also allows me to insert the context via API in grasshopper, by defining the latitude, longitude and radius of context I want. Therefore, if this latitude, longitude and angle relative to north was already present as data inside the speckle model, then it would just be a case of capturing this and using it as an input to the cityweft node (possibly with some transformations applied).
picking up on this thread and after playing around with different reference point settings for a while..
From what I can tell, exporting with origin set to survey point gives you:
Geometry in the survey point frame
and the transform from internal origin to survey point
But not the survey point’s actual real-world coordinates (as you mentioned ;))
So everything inside the model is consistent, but there’s no way to anchor it to the world - which kills any kind of automated alignment with external/georeferenced data.
A few questions:
Any known workaround to get those coords through today? Shared parameters? Commit metadata? Something I’m missing?
Is georeferencing data on the roadmap as first-class metadata on Revit commits?
That’s correct. We currently expose 3 options and those don’t inlcude real world coordinates. We just use the selected option as origin and transform the geometry accordingly.
It is possible to attach geolocation metadata to published model but its shape depends on the use case. And we need to understand the use case a bit better here. What are you going to do with this location data? Where are you going to use it? These are some questions i have.
the use case is that we have multiple models (site model and n building models) that we want to show in the same viewer and they are not necessarily coming all from Revit with the same survey point. So we need some reference (for exampel the survey point ) to transform the models into the correct reference system.