Search code examples
autodesk-forgeautodesk-viewerautodesk-model-derivative

how to automaticlly create the 3D Models of Cellular-Sites according to the configurations


I have a project, use Forge platform and Google Maps API for javascript. the requirements is that:

1, Display all Cellular-Sites on the GIS map as markers. I can achieve this through Google Maps API for Javascript.

2, Display the 3D design model of a Cellular-Site while the markers be clicked. I can achieve this through the Forge platform. first create a bucket, then upload the 3D model source file and transform to svf format, finally explorer it through the Viewer library.

3, Dynamicly create the 3D model for Cellular-Sites.

Because of the Cellular-Sites consists of some components, Such as a Tower and a House.

There are some different kinds of House and Tower. We have all the 3D model files of the House and Tower.(such as HouseSmall.rfa, HouseLarge.rfa, TowerLow.rfa, TowerHeigh.rfa)

The configurations of Cellular-Sites are stored in database. the Schema may like this:

[
{SiteId:1, SiteName:"small-house-big-tower", HouseType:"HouseSmall", TowerType:"TowerHigh"},
{SiteId:2, SiteName:"large-house-low-tower", HouseType:"HouseLarge", TowerType:"TowerLow"},
]

the position of House and Tower is fixed.

I'm wondering how to automaticlly create the 3D Models of Cellular-Sites according to the configurations.

Any help will be very appreciate. Thank you very much.


Solution

  • The Forge translation pipeline does not support RFA, but only RVT. That means you would first need to create a RVT for each element, then get them translated into the Forge Model Derivative before using them. YOu can create a catalog of element URN to be consumed into the Forge Viewer later. The Forge Viewer can load multiple URN at the same time, which then should address your needs. Now to automatically create the 'URN catalog', you need Revit (RFA -> RVT); I guess you can either use the Revit scripting mechanism or write a Revit plug-in for this. Jeremy Tammik wrote a 'room editor' on his blog which shows how to export a RVT to Forge from a plug-in. I believe this would be a good start.