algorithmic modeling for Rhino




Chameleon is a plugin for both Grasshopper and Revit with a focus on interoperability, simulation, and efficient practice workflows. Chameleon’s main advantage is its ability to facilitate easy transfer of geometric data between Grasshopper and Autodesk Revit, but also includes other valuable tools to make life easier, both in Grasshopper and Revit.

Location: Washington, DC
Members: 245
Latest Activity: Sep 20, 2023

Discussion Forum

type of chameleon most commonly kept as a pet in captivity

What is the most common type of chameleon found in captivity? Chameleons are popular pet lizards, and many…Continue

Tags: #chameleon, #reptile

Started by Fatima butt Feb 6, 2023.

chameleon is not installing in revit 2016 4 Replies

I have downloaded the chameleon plugin, It has been installed in grasshopper but when I am installing in revit it's not installing, Please help me. How to install in revit?Continue

Started by aman gupta. Last reply by Luigi Olivieri Jun 13, 2019.

New Chameleon Available 29 Replies

Hi all,The new Chameleon ( is finally here, check it out! now supports editing adaptive…Continue

Started by Hiroshi Jacobs. Last reply by MHMOD DEEP Sep 8, 2017.

running Chameleon in revit

Im facing a problem with the Chameleon while trying to push from GH to Revit, attached below is the error message, any help is higly appreciated.…Continue

Started by MHMOD DEEP Sep 8, 2017.

Comment Wall


You need to be a member of Chameleon to add comments!

Comment by aman gupta on September 8, 2016 at 11:45am


 I am trying to run the batch file but its not showing any icon on my Revit.

Comment by Sam Gulberg on August 6, 2016 at 4:16am

Hi guys,

Im facing a problem with the Chameleon while trying to push from GH to Revit, attached below is the error message, any help is higly appreciated.

Comment by Mahmoud Habib on February 8, 2015 at 7:25am

Thanks a lot Hiroshi Jacobs for this great plugin :) 

For the adaptive component... I want to be able to enter text values for the name of the parameters inside grasshopper so that it's automatically loaded to Revit without having to map P0, P1, P2... with different parameters inside the family

This will save the time when experimenting different parameters changes and updating it in Revit

check the image for what I mean

Thanks again for this great plugin :)

Comment by Mark Pothier on January 12, 2015 at 6:58am

Thanks for the advice, Paul!

I was in a 3D view when exporting, which I think uses the default north orientation. In any case, I was able to fix by, as you suggested, just using a rotation vector on all my incoming geometry in Grasshopper to rotate from Project to True North. Thanks for the help!

Comment by Paul Wintour on January 9, 2015 at 5:02pm
Hi Mark

When you use Chameleon (or any of the other GH-revit plugins) they are relative to Revit's internal base point. Revit actually has 3 coordinate systems: survey point (true North), project base point (project North) and the start up location (Revit's internal system). This may be your problem.

Has the project base point been moved? To check, select the project base point, un clip it and right click and select move to start up location. If it moves, this is probably the problem. You could then calculate the translation vector and incorporate this into your GH script. Or mark the start up location with a model line and move the base point back to where it was. Then once the geometry is in there (relative to start up point) you can physically move the geometry.

You probably also have to be in a view that is either true north or project North when activating the chameleon transfer button. I can't remember which so just try both. I hope that helps.
Comment by Mark Pothier on January 9, 2015 at 7:59am

Hi all,

While transferring geometry from Revit to Grasshopper, I noticed that the geometry does not align to the rhino model. The two files share the same origin, however my Revit project has a "Project North" in addition to "True North", and I am almost certain that this rotation vector is responsible for the misalignment.

Is there any way in either program to correct this?

Comment by Paul Wintour on January 8, 2015 at 3:22pm

Hi Ethan

Chameleon is the only plug-in that I know of that is bi-directional. Hummingbird & Grevit can't do it. Again, I'm finding Dynamo best for this kind of stuff. It's quite frustrating learning a new program but you don't have all these interoperability issues.

To get geometry from Revit into Grasshopper it sounds like you are doing it right. It will come in as a triangulated meshes which then have to be rebuilt within Grasshopper if you want to do anything substantial to them downstream. You could use bounding box or something like that. A bit tedious.

I recommend using the mesh output from the 'Revit get geometry' component. The brep and surfaces don't always return accurate results. You might also have to scale up the mesh/brep/surface as the units seem to be inconsistent and due to precision may display unexpected geometry representations. You might also run into issues if walls are joined in Revit. Chameleon will bring them in as chamfered walls. 

For you problem, you don't actually need a Revit wall to place an adaptive component. They can just float in space. It makes editing them downstream almost impossible without the Grasshopper script but that is fine. I would just recreate the Revit wall natively in Rhino and go from there.

Comment by Ethan on January 8, 2015 at 9:48am

Paul that is very very helpful! thank you so much. I am also now trying to understand the flow of information in the other direction from Revit back to GH. I can import walls floors and masses but the walls and floors are split into many surfaces and the masses come in as meshes. Have you ever tried to pull data from revit. I was hoping to drive the placement of the adaptive components and the parameters with gh but to use the geometry from revit to do so. My goal was to take a wall from an architectural project into gh to divide and apply adaptive components and parameters to say after affecting them with some analysis maybe geco and ecotect and then push those resulting numbers and placements back to revit for AC propagation but with the walls coming in as so many surfaces Im not sure how to proceed. Thanks again for your help! have you played with any of the other revit gh connections? I think its a very interesting field !

Comment by Paul Wintour on January 6, 2015 at 3:27pm

Hi Ethan

So I took a closer look at the example files in the installation files. My statement about only updating text parameters wasn't correct. I was thinking about Hummingbird.

Chameleon will export a P0 value that is a 'number'. For the P0 value to appear in the dialogue value the Revit family you are placing has to have a number parameter already in it. (Obviously the family needs to be loaded into the project before running Chameleon). For most families the parameters will be 'lengths'. Revit is very specific about different type of parameters. A number is a number (e.g. 10), while a length is a number with units (eg 10m). So to get around this you need to create a 'dummy' parameter which is a number. The length parameter which controlls you family then references this value. You will need to modify the formula to neutralize the units. This webpage describes this problem in more detail.

But basically take a number and *1 and you will turn it into a length. I jhope that helps.

Comment by Paul Wintour on December 29, 2014 at 4:14pm

Hi Owe

Before you activate the 'write' command in Grasshopper you need to load into Revit the family that you plan to place first. Once this is done, go back into Grasshopper and hit the boolean button/toggle to activate Chameleon. This is a two part process. To finish the process, you need to activate Chameleon within Revit: Go Add-Ins > Chameleon > AC Connect and follow the prompts on screen. It should work for you.


Members (245)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service