How to export procedural data to Revit?

11-22-2012 04:02 PM
New Contributor
I want to produce drawings from a CityEngine model. But I don't want to export non-procedural data (i.e. dumb solids) to a CAD/BIM program. I expect the CityEngine model to change many times and in the meantime drawings need to show the revised models.

If export is required to produce drawings, I want to find a way to export the procedural data, to make the drawing process as efficient and least repetitive as possible.
I can automate the creation of Revit families from procedural data stored in a neutral format such as txt or csv, via Revit's API, so that is not an issue.
But can I script the export of procedural data from CityEngine into a neutral format such as txt or csv?

Any suggestions or advice is more than welcome.
0 Kudos
3 Replies
Frequent Contributor II
Hi !

There's no way to export the procedural representation in it's 'procedural nature'.

Though we're currently working on the so-called 'Procedural Runtime', which is basically an SDK which you can tie into any 3d app and get back the models directly into that app (without need of CityEngine). Though that's a thing to arrive and is not yet available.

At the moment, I'd try to export your model to either .obj or .dae ( Collada ), and then automate the task of importing the new model again into Revit. That way, you just have the basic 'current model' sitting in a specific location in your project directory, from where it can be overridden from CE and loaded into Revit.

That's the fastest it get at the moment.

So you have to find the export format which currently works the best for you. (Currently, there's no possibility to write custom exporters. But e.g. .obj and .dae are ascii-based formats anyway, if you prefer this.

current export formats of interest for you :
- .obj
- .dae
- .fbx
- .kml / .kmz( = georeferenced dae )
- File GDB (Esri format)
- .3ds

Additionally, note that CityEngine does not create 'BIM-Models'. What you are creating is indeed a 'dumb' polygonal model, but next to the geometry, you can of course also export metadata for the geometries and export them also via Python to e.g. a text file, ready to load elsewhere.

Let me know if this helps and if you have more question.

Cheers !

0 Kudos
New Contributor
Thanks for your reply Matthias,

Perhaps a way to simplify the problem is by solving it incrementally.
I suggest that first we try to export the streets.
I would want to know, for example:

  • the coordinates of the street intersection nodes

  • the connectivity between these nodes (how to connect the dots)

  • the street type of each street segment

  • the street parameters

If I can export this into a .txt, or .csv, etc. than I can re-construct it in a application such as Revit.
The benefit of doing it this way, is that once the streets are re-constructed as native Revit objects, I can now leverage the documentation tools available in Revit. I can imagine that there is more involved within CityEngine in order to generate the detail it offers, but in Revit I am fine with avoiding much of that complexity, as long as I have a quick way to generate native Revit content.
If I can get this to work, that would be an important step in the right direction.
0 Kudos
Frequent Contributor II
Hi !

Sorry for the late reply.

Some of that data can be exported, but not really can be accessed.

If I understand you correctly, you'd like to have the CityEngine to use as an easy to use designing tool, then bring over the important structures and convert them into native objects for precise engineering/analysis purposes.

I understand the wish for this, but this is honestly a very difficult task.

Can you post an example of a script based definition of a curved street with a certain width ?

Depending on how that looks, a combination or reports / console prints and Python scripts can go in the right direction.

Let me know.

0 Kudos