Grasshopper

algorithmic modeling for Rhino

Just wanted share a project I am working on at Perkins+Will with my colleague Mario Guttman.  It is a geometry converter going from Rhino objects to native Revit.  Basically the premise is to distill out the core datums of any object in rhino and rebuild them within Revit with native elements utilizing the api.  We have come up with a way to generically describe most revit geometry in excel using point coordinate information.  Mario is doing the heavily lifting on the revit api side and I am developing some quick grasshopper components to aid in the formating and exporting of rhino geometry.  I should mention that this workflow is not limited to rhino but could work with many other tools (autocad, processing!?).  

So far we have enabled support for the following Revit objects:

Walls

Floors

Detail/model Lines

Columns/slanted columns

Adaptive Components

You can also identify and modify instance parameters on all these objects.

Some test geometry in Rhino:

Floor objects sliced from brep:

Grasshopper components to isolate points of floors and 3d mesh.  The mesh faces will be replaced in Revit with three point adaptive components.

Excel output from grasshopper:

Revit import tool:

Revit Floors created:

Mesh faces replaced with Revit three point Adaptive components:

Another example creating walls:

Views: 15632

Replies to This Discussion

How to give my this model high-rolling that revit, sheet can fugle pictorial whit is zero? thank!.

Hi Tim,

This is interesting. Very nice work.

Is it also possible to convert panels create with PanelingTools plugin for GH into Revit using your convertor?

Thanks

-Rajaa Issa

Yes, all we are using is the three or four coordinate points generated by the model.  So technically you could do any sort of paneling and replace it in revit with adaptive components.  We are also going to add the ability to define N-point adaptive components.  This becomes pretty cool when you are trying to place 3000 individual adaptive components!

Thanks Tim,

Will look forward to some examples.

Absolutely awesome. Do the walls include walls on surface, or are they just the regular vertical extrusion type?

Impressive work, well done.  Do you have to convert all edges into polylines though?


I've just been enabling nurbs exchange for slab edges (and loft profiles) for my IFC engines to exchange models from GH to Revit.  Will start testing walls etc shortly.  Happy to help if you want to check it out.  http://geometrygym.blogspot.com

yes converting to polylines, wow nurbs to revit that is pretty cool!  is this via the api? or ifc?

Both.  I've written a revit addon to import IFC model data (including WIP of the pending version IFC2x4 which does contain nurbs).  The revit addon uses the Revit API.

One of the advantages of then using a neutral standard such as IFC, is that you might actually export models from Digital Project, Archicad, Microstation or any other IFC capable software (the openBIM collaboration).  You can exchange models between different users, companies etc.  

Note at the moment the Revit  (2012 at least) API permits Nurbs curves exchange, not surface.  But you can capture a nurbs surface creation process such as lofts and sweeps, and I've been enabling this generation in Revit.

Happy to help you get started if you want to put it to the test.

Your example is a nice test case.  Hope you don't mind, I'm setting up a similar example to demonstrate slab exchange from Grasshopper to Revit, model will shortly be uploaded to my blog.

Nice collection of studies.  

I have been doing similar kinds of Revit API work to coordinate information between the environments.  For anyone interested in digging into the Revit API and achieving similar results, I have a growing resource to help anyone interested get started.  

http://theprovingground.wikidot.com/revit-api

All of the examples use IronPython so there is a nice overlap with RhinoPython scripting in the GH world.

-Nathan

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service