The Elefront plug-in is all about managing model data and interaction with Rhino Objects. Elefront allows users to bake geometry to the Rhino model with the option of specifying attributes, including an unlimited amount of user defined attributes by means of key-value pairs. This way it is possible to treat a 3d Rhino model as a data base, where each object "knows" what it is, what it belongs to, where it should go, what its size is, when it needs to be fabricated etc. Instead of trying to store geometry in a database, Elefront stores data in an "Geometrybase", hereby turning your Rhino model into a "Building Information Model" or BIM, for short.
This data can be used for analysis, but also for referencing objects back into Grasshopper, based on one or more filters defined by key-value pairs that were defined upon baking, or that were added to the geometry with the "modify Rhino attributes" component.
Storing all data inside Rhino geometry, will enable you to split up your Grasshopper process into manageable portions that multiple users can now use as input for further Grasshopper development.

The main components in the suite are:
  • Bake with attributes
  • Reference by user text
  • Reference by attributes
  • Filter (by) attributes
  • Get attributes
  • Modify attributes

Full roundup of attribute related components is listed below


New in this release is the ability to extract a full set of attributes from an object and process and modify these attributes in parallel to the objects. "The filter (by) User Attribute" component is now able to filter these attributes and filter Grasshopper objects in parallel.

All tools are designed to work with worksession files. A typical workflow would be:

  1. Have all your input geometry brought in by means of one or multiple worksession files.
  2. Reference the geometry in Grasshopper based on filters. A data tree will be created with one branch for each property.
  3. Process the geometry in Grasshopper and bake the new geometry in your clean and empty model.

On top of that EleFront includes as suite of components that allow for baking annotation objects to Rhino. These include:

  • Angular Dimensions
  • Hatches
  • Leaders
  • Linear Dimensions
  • Text
  • Text dots


All of which can be baked with all attributes mentioned before. Drawing generation for huge projects is now a breeze. With Elefront it is possible to create thousands of drawings within a single session.

The "Data Description" parameter will hugely help you organize your definitions, by allowing you to set a description which will automatically be updated downstream if you modify the description.

Description 1

Description 2

Right-click this component and type "L" (for Link) to propagate it across your canvas.

We have tested this project, but it might contain still bugs. Please use it "as is", it does not come with warranties. We spent a lot of time developing the logic and implementing it, please give credit where credit is due. 

To install:
  • Drag the gha file from your download folder straight onto the canvas. The Elefront tab should now appear in your Grasshopper interface.
This plugin was made possible by Front New York 
http://www.frontinc.com  and is co-programmed by Alan Tai.
Ramon van der Heijden

Support Email: 4FQ.Q3GK3FLO@3YPZGYULYP3S1L@
Plug-in rating:
Average: 4.9 (26 votes)
Title Release Notes
Elefront Lite 1.2.0
Added components to extract, modify and filter attributes directly and independently from geometry.  
Version: 1.2.0
Language: English
Elefront Lite 1.1.0
Annotation components are back.  
Version: 1.1.0
Language: English
Elefront Lite
This is a stable version of the most essential components of the add-on  
Language: English
Elefront 0.1.4
Reference by Nickname (RefNick) now has the option to preserve the original data tree that was in place upon baking. Also the efficiency of the RefNick component is improved.  
Version: 0.1.4
Language: English
Elefront 0.1.3
User will receive a warning when trying to bake to the root of a referenced model.  
Version: 0.1.3
Language: English
Elefront 0.1.2
Should now work on winXP 32 bit  
Version: 0.1.2
Language: English
Elefront 0.1.1
Fixed some dotnet related installation issues  
Version: 0.1.1
Language: English
Elefront 0.1.0
Version: 0.1.0
Language: English
Homepage: Elefront
License: http://www.elefront.info/2013/07/license-agreement.html


Martin Siegrist's picture

My Filter by Type component does not filter any meshes.

The auto-fed value list also does not contain the type Mesh. 

RamonFront's picture

Hi Martin,

Thank you for your comment. It has been addressed and will be available in an update that is to be released soon. 

Martin Siegrist's picture


steven_lomenech's picture


I've got somes issues with the last update with modify rhino object attribute command.It seems that we cannot modify rhino object attribute anymore as it do not recognize the "new" elefront attribute anymore see message below


1. Solution exception:Impossible d'effectuer un cast d'un objet de type 'Elefront.ElefrontAttributes2' en type 'Elefront.ElefrontAttributes'.

RamonFront's picture

Hi Steven,

Thank you for your comment. It has been addressed and will be available in an update that is to be released soon. Can you send me an example file, so I can make sure it's working properly now?


First of all, thank you for this awesome plugin you developped!

It is probably one of the best Grasshopper plugin today and certainly a must have.


I am having some trouble with the Export Objects component. It seem you send Rhino command to do this but you probably forget the "_" to make it work in all languages. It is so not working on french Rhino.


Thank you and have a nice day!

RamonFront's picture


Thank you for notifying us of this issue. It has been fixed and wil be available in the next release of Elefront.

First, thanks for all your work on this plugin and for sharing it with the world.

I have noticed that the Bake component clears Rhino's undos.  Is this intentional (and/or related to "Bake Name" functionality)?  Personally, I would find this compnent more useful if it did not affect Rhino's undos (I often backtrack through lots of undos if a line of design exploration doesn't pay-off).


RamonFront's picture


Thank you for your feedback. The undo in Rhino is indeed cleared, as we found some bugs when using the baked model as a reference model in a subsequent worksession. The user attributes would sometimes scramble. On top of that, the undo stack would become enormous when baking thousands of objects with each click, quickly eating through the RAM on your computer.

An alternative workflow would be to do all (if any) manual modeling in a separate file that is then used as a reference model in a worksession. Elefront can be setup to reference objects from the manual model consistently and the new model will only contain geometry that is created with the Elefront bake component. You can even bake your manual objects with all their properties into the new model if you like.

This way you can keep a clear demarcation between manual models (including the entire undo stack) and Grasshopper models. Note that the Grasshopper's undo's are still available, as well as saved states.

claudioarchi's picture

Hello Ramon

I'm trying GH1.0 on Rhino 6 WIP and unfortunately Elefront makes Rhino to crash each time gh loads and get to the Elefront plug-in. Any idea how to solve this or if its going to get fixed in further releases.

Thank you in advance

RamonFront's picture

Hi Claudio,

We have not yet worked with Rhino 6, but I am sure that once we do, we will fix all problems.

Martin Siegrist's picture

Can you extend 'Get Rhino Attributes' to read materials? 

RamonFront's picture

It is on our "To Do List". But as ever....time time time....

Matt Gaydon's picture

I can't seem to find an option to set the default layer colour or even the layer colour independent of the colour input in the attributes componenent. Is either of these options possible?

Thanks Matt

RamonFront's picture

Dear Matt,


The default layer is the active layer in Rhino. If you want it to be something else, you can just input something else in the component.

The layer color is specified on the document level and not the object level. If you could specifiy the layer color for each object (on the same layer) you would get unpredictable results.

It is therefor advised to specify the layer color on the document level. If you leave the object color "blank" the object will inherit the "color by layer" flag.

Matt Gaydon's picture

Hi Ramon,

That makes sense i am trying to change the layer colour at document level independent of what the object colours are set as. 

The issue comes when you input new layer that's yet to be created in Rhino document into the component as this seems to only give me black layer colours (My Rhino options are set that new layer should be white by default so thats odd to).

I only noticed this issue when baking meshs at they only have colour when in a shaded view so if all layers colours are the same you can't tell the difference in Wireframe view unless you manualy update all the baked layers with chosen colours.

Thanks Matt 

Enrico's picture

Hey guys! Congrats for developing this useful add-on for gh but as othe computational designer asked, I cannot find the dimension component! :( Pls update the new releas with these components!

Thanks a lot


RamonFront's picture

Hey Everyone.

Sorry for the long silence. We had a few legal disputes about the distribution of this add-on. 

The annotation components are back in this release. The block components are still under embargo. 

Please enjoy the plugin and let us know your thoughts.

Please make 0.1.6 version available!

Elefront lite don't contain dimension components, and i have a gh that i made few month ago with 0.1.6. I cannot open my complete file with older versions. (I had Windows reinstall meanwhile)

Thanks in advance!

Great-Great Plugin!

Gizmodave's picture

Hi! I need the version 0.1.6 of elefront for the blocks tools! Someone can help me?

Same here!

Hey! asking the same thing! where are those great Block baking tools?

d3ssy's picture

Hi Elefront devs, 

I would like to make a request for future release of the Elefront plugin.

In referencing extended geometry / block and then deconstructing the block thereafter, I think the output of the deconstruct block component should include the Block Description and possibly URL. 

I personally make heavy use of the block description to add notes and references to part numbers, catalog numbers, reference drawings, etc..

Therefore when I reconstruct the block after modifying a referenced block, for example, I would need all the original attributes including the Block Description in order to bake and replace the referenced block with the new modified geometry. 



deisengard's picture

Have you thought about developing a corresponding Rhino plugin that would add a new tab to the object properties panel to display and allow editing of user-defined attributes?  Is there already a way to see and edit these per object in Rhino?

Davide's picture

because the possibility to use the bake component as geometry cache I agree to add line type and width to the object attribute!

thanks again 

Hi Ramon,

Do you think is possible to add Print width and linetype to the attributes component?


RamonFront's picture



Thank you for your suggestion. If there is enough demand for this, I can certainly add this functionality. Until then, a workaround is to assign line type and print width by layer and bake the objects to a new layer that corresponds to the correct line settings.

I tried that already but unfortunately the baked objects get assigned the default print width and not the by layer option. Perhaps that is something easier to change in the component. In any case, thanks for the plug in ;)


your amazing plugin seems exactly like what i'm looking for. I had the same problem as huaxiamengqing, I put the pulgin into the right folder, restared rhino, but could not find the label. and there's no error warning. it's so strange, is it because i'm using an office computer which requires administrator's password for most of the installations? by the way, my rhino version is rhino5 SR6-64bt , grasshopper version :September-28, 2012. pls let me know if you can solve this problem. thank you very much for your great work. 

Levin's picture

Try to do like this below,

Right-Click gha file> Properties > Security > Toggle "Unblock",

Restart Rhino after completion.

RamonFront's picture

Hi Guys,

Could you please try and contact  huaxiamengqing directly to find out how he solved the problem? I never heard back from him and I have never had any problems getting the add-on to work, even on an office computer without installation rights (which is what I am using myself)

Best regards,


Same problem here and I also got grasshopper version September-28, 2012... I'm not using an office computer though, but my own. No errors but doesn't work.

Davide's picture

thank you very much for your great work

RamonFront's picture

You're welcome :)
I'm glad you find the tools useful. For us they have revolutionized the way we work in our company.

d3ssy's picture

Hi RamonFront, 


I left a comment on your block regarding the elefront plugin, in particular the create block component. I will paste the comment below as perhaps this is the most appropriate platform for discussion. 

I am having trouble understanding how the CreateBlock component is supposed to be used in combination with the BakeObjects component. 

If I create some geometry in grasshopper (say a box) and feed it to the CreateBlock component and bake with a block name and attributes that include a nickname, the block correctly bakes to the Rhino document. When I change the box, however, and re-bake I would expect the block in Rhino to update, but this does not happen. 

Any advice on how to properly use this component? 

Many thanks,



RamonFront's picture

You have identified a little bug there. It must have creeped in right before we released it. We will fix it soon and re-release. 

Sorry about that.

Levin's picture

Many thanks for your great job!

I only have one question about this new version. I can use "extended geometry" to pick text and annotation now, but I didn't find any component for analyse the text and annotation.

It seems that I only can get the text, but I can't use it. Is this true? 

RamonFront's picture

The focus of the extended geometry parameter at the moment is on blocks. You are however able to use your referenced text, for instance to modify its attributes, or to export to a new file.
"deText" and "deDimension" components will follow soon.

Levin's picture

That is very expected indeed. The Block components have done me a big favor already. 

This is one of my favorites plugins,  for gh. 

Great work!




Great work. Thank you for your work. It's very helpful for us.

Great work. Thank you for your work. It's very helpful for us.

thanks for providing the plugin! also agree with one of the comments below: it would be great to be able to preview dimensions before they are baked. 

I have sovled the problem.Thank you,your have a good job. You adds_on do me  a big help! It's very convientient for me to export WorkingDiagram to CAD. the dim commonpent is very useful. Hope you can write some preview for the dim commonpent, It's easy for you I think. though pipeline calss didn't contians the dim class, you can draw some lines and vector to preview the dim!

Thank you again for you work.

RamonFront's picture


I know this has been an old issue, but could you tell me what you did back in the day to solve this problem? User  kay8815 is having the same issue.

Thank you. Best regards,


An error occured during GHA assembly loading: Path: C: \ Users \ \ Administrator \ AppData \ \ Roaming \ Grasshopper \ Libraries \ elefront gha The Exception System. IO. FileLoadException: Message: unable to load file or assembly 'file:///C:\Users\Administrator\AppData\Roaming\Grasshopper\Libraries\elefront.gha "or one of its dependencies. Does not support the operation. (abnormal from HRESULT: 0 x80131515) The Exception System. A NotSupportedException: Message: try to from a network location to load assemblies,. In previous versions of the.net Framework, which can lead to sand box on the assembly processing. The release of the.net Framework is not enabled by default CAS strategy, therefore, the load can be very dangerous. If the load is not to make a sandbox for assembly processing, please enable loadFromRemoteSources switch. For more information, see http://go.microsoft.com/fwlink/? LinkId = 155569
RamonFront's picture
Copying the elefront.gha file to the user libraries folder may not be sufficient for a succesful installation.   If you see in the Rhino console window after you load Grasshopper something like:   "An error occured during GHA assembly loading: Path: C: \ Users \ \ Administrator \ AppData \ \ Roaming \ Grasshopper \ Libraries \ elefront gha The Exception System. IO. FileLoadException: Message: unable to load file or assembly 'file:///C:\Users\Administrator\AppData\Roaming\Grasshopper\Libraries\elefront.gha "or one of its dependencies. Does not support the operation. (abnormal from HRESULT: 0 x80131515)" Close Rhino Remove the elefront.gha file from the Libraries folder. Start Grasshopper again. Drag and drop the elefront.gha file into the Grasshopper canvas. This will copy the .gha file into the folder with the as yet unidentified required attributes.
RamonFront's picture
Which version of Rhino are you using? And which version of Grasshopper? Do you get any error messages? Have you been able to load any other add-ons into Grasshopper? Kind regards
nothing with the version,My colleague have the same version about rhino and gh,but he can use your add-ons.Maybe it's the problem of the net frame in my OS. It's something about sandbox,I have post it in the gh forum,hope david can give me some tips!
Protected Collaborative Environments
© 2016McNeel Europe. User-submitted content and trademarks property of their respective owners.