Automotive grille parametric modelling-Alias/Grasshopper

Hello to the community,

I am trying to model the front grille of a the AMG GT model 2014. Simultaneously, I am trying to teach myself para

metric modelling using grasshopper now. The grille has a parametric design which I am trying to do with grasshopper. I have modelled the surface patch in Alias. But it is an untrimmed rectangular surface. I am unable to decide what should be the workflow now on Rhino/Grasshopper. Can anyone suggest me some steps?

Please find the screenshot for your kind reference.

Thanks in advance.

Hello, I think I understand you. You want something as the work of Kevin Dechamps
There are lots of parameters, it is for sure doable but in order to teach and not do the job at your place can you be a bit more specific on which parameters you want to control?
Also post the geometry you have done.
Try to begin a script with parameters, guide curves …

This is a very generic question. Any grill is different and requires different mapping strategies.

I would divide it in two major parts:

1.) Just learn to create point or curve grids on any shape esp. trimmed/faced surfaces and how to efficently modify them.( A manual process is a great blueprint. Curves in between, project, join, refit/rebuild/reapproximate …)

2.) In a second step learn how to build surface geometry from this. The key here is to deal with the data. So you need to learn how data management in GH works. (Or directly dive into scripting)

The difficult part is not the pattern mapping, but instead to create correct surfaces(e.g. precise crowned draft/flange surfaces, g1/g2 surface fillets etc. The problem is that grasshopper misses surface tools for this). If you can’t automate many of these things, just choose a hybrid approach and do as much as you can with Grasshopper.

Also have a look at morphs, transform etc. Best is to try each component at least once, to find out what it does. The naming at some point is a bit odd. Especially if you are used to Alias.

I would start here:

Marco Traverso is an engineer, developer and 3D designer/consultant with over 18 years of experience with Rhinoceros. In the past 7 years he has developed workflows and tools for integrating the parametric capabilities of Grasshopper into creative concept design pipelines – his published work is visible at Marco . He is founder of Car Body Design a leading website on transportation design since 2004.


This is also a good source for tutorials on patterns:

Here is a basic breakdown of pattern making:

With the greatest respect to this guy, but he is creating polygonal data (!) in his video series. I’m not against this for conceptual design, but the challenge is to create something useful for the whole product development process. And a polygon model is simply pointless for real use cases.

Sure, but the concepts still hold true. The tools work for NURBS and meshes:

Parametric Design | Grasshopper3d | Mercedes Diamond Grille

And of course if you want to do patterns that can be fabricated, this might inspire.

and I just caught this one last week:

Here are some more basics:

This holds true for any pattern and is nothing Automotive specific. As I said, the difficult part is not the pattern but instead making it to look nice on a car. This part is completly skipped by all tutorials.I’m not doing it better, because I haven’t published one by myself. But besides the BMW part, the rest is extremly conceptional and should be viewed as such. The whole Mercedes grill, even the frame is far beyond how it will look like on a prototype or even final model. I just want to point that out and not argue against you. I’ve done many parametric grilles/speakers/ inlays for Volkswagen and its daughters up to production state. And the part which challenges most is making it in the required quality. I just wanted to point that out.

Thanks for the reply. Yes, exactly I am trying to make the Mercedes diamond grille which has a flattened hexagon with rounded corners as the floating elements around the central star. I saw in one of the tutorials where the surface isoparms are used to create the curvature around the centre. and these isoparms are then used to place the geometry, tangential at the points. And then extruded. As I have a flat surface, the isoparms are not straight and not curved.

Thanks for the reply and the links. Some are new links to me and I am going through them. Some, I have already watched the tutorials and examples.

Yes, agreed. I think we might say the devil is in the details.


This is my work flow till now. You can see in the rhino screenshot that I am able to assign the geometry on the surface. Currently, these are the issues I face:

Can this pattern be done without using surface isoparms? As I am having issues on the top and lower side of the central badge.

Even though I have made use of the distance and scale function, I am not able to achieve the size variation from the center.

I have used a Polygon function to define the geometry, but I am not able to understand on how to vary the u and v sizes.

Since it is an imported surface from Alias, when I assign it on GH, do the divide function it takes only one side and not both.

Simple UV division is quite limiting. You can use PanelingTools. This allows you to split up the surface in any way you would like. For instnace if you want to section one directions and U or V the other. It also has tools to decide if a point is on the edge or inside the surface. The edge are cases you may want Grasshopper to do something different with the grid or panel.

PanelingTools can help make the patterns quite sophisticated. But is also can take some time to experiment with and understand all its permutations. Make sure to watch the samples and videos.

This tutorial on a Renault Trezor style pattern uses Lunchbox added to Rhino, Alias and Grasshopper. Lunchbox is quite popular.

Of course there is Parakeet also:



Doing a grid on a trimmed surface really opens up some possibilities and frees you from having to have a single surface with perfect UV. Here is the technique for working with a trimmed surface, but still using the UV or any other divide technique: Parametric curiosity -Trimmed surface division video

Here is a simple example. I’m not gonna invest more time into this, and sorry for not cleaning the definition up. It just is there to give you one simple approach. Mapping is by no means perfect, nor it reflects the exact pattern or outline… Actually the shape is not quite easy to map and would take more time to make it better. Well you can do a lot different spacing approaches, but sometimes you can adjust the grid (or curve grid) manually in second loop. What often is required to bring to perfection is constant refinement. Its actually very similar to traditional surface modelling.

For quality concepts, my experience is that you usually spend 2-3 days up to 2 weeks to find a great mapping. And of course its always a good idea to try multiple approaches and see what works best. A lot of this is actually experience and trial and error. (90.1 KB)


@scottd That Renault read was quite interesting. It had the covered the same range of softwares and addressed a similar problem which I face. Thanks for sharing. Yes, I installed and explored lunchbox hex cells by watching some tutorials. I trying to understand more the panelling tools and the method you suggested. I am just a month old to GH now. The other link regarding the trimmed surface, I didn’t quite get it. furthermore, along with the issue of trimmed surface UV distribution, another challenge for me is to understand how to import a centreline symmetrical surface into GH. Because when I import it as IGES into Rhino, and assign in GH, start with an algorithm, it doesn’t do the pattern on both sides. I wonder why.

@TomTom Yes, thats a similar looking pattern. Thanks for putting in the effort to develop one for me to understand. I am trying to understand the commands you used in GH to make this. when I am successful I will share it on the forum. My whole Alias model is now stuck for the patterns on front and the side vents since a week now as I am trying to understand GH.

There are some great tutorials on PanelingTools on the website where you can download it. There is also a good forum here to learn more about it.

We would have to look at the IGES file. But, I expect it is actually two surfaces joined or grouped. You may want to ungroup them or explode them to find the two surfaces.


I’m not sure if this is the problem, but the issues I had with IGES Import/Export to various CAD is the boundary of a trimmed surface. Some CAD interpret it as a single Closed Nurbs, other break it down to multiple curves. I had this issue with Icem and I believe Alias as well. I remember importing it to Catia and exporting it as Iges from there solved it for me in Rhino. Otherwise you would need to retrim everything in Rhino. But I used to do the trimming in Icem for most parts after export from Rhino. The Catia-in-between was actually a reliable workaround for me, since I used to have access to it anyway. But if its about one or two surfaces, it really is no problem doing the retrim. So it depends… (26.3 KB)

@scottd @TomTom I have tried again to import the IGES file from Alias, its working now. I exported the objects as a trimmed surface.

With the use of curves and intersection, I have learned and developed a first level algorithm depicting the pattern manipulation. I would like to vary the height and width of the hex pattern which I am unable to do right now. I know it is done using the lunchbox hex cells, but how to implement that here I am clueless.