How to add custom graph types to the native Graph Mapper component?

Hello everyone, I have a question about the native `Graph Mapper` component. On my ghfile I’m seeing a graph types, like “Sinus Cardinalis distribution,” which are not part of the standard Grasshopper installation. My research has led to some conflicting information. On one hand, I’ve read in several places that it’s not possible for users to add custom graph types to the native `Graph Mapper`. On the other hand, some sources specifically mention that the Pufferfish plugin is somehow able to **“inject”** its own set of graph types into this very component. This leads to my main question: How is this technically possible? How can a plugin like Pufferfish extend the functionality of a native, seemingly closed component like the `Graph Mapper`? Thanks for any insights.

ripples_2017Aug23b (1).gh (27.9 KB)

There’s a Riched Graph Mapper plugin that has a bit more functionality and different graph types, written by @Dani_Abalde , but I’m not aware of being able to change the native component at all.

yes, I know about the **Riched Graph Mapper** plugin, and I’ve seen quite a few discussions about it on the forums. I’m mostly curious about the technical side: how is it actually possible to add custom graph types to the native `Graph Mapper` component? It seems very impressive. And I have to say, I was pleasantly surprised when I found this discussion thread: `https://discourse.mcneel.com/t/ripple-raindrop-pattern/109031\` and saw that you were also one of the contributors there. It’s really cool to see that.

:nerd_face: :nerd_face: :nerd_face:

I don’t think it is possible to actually modify the native component. I think you would have to recreate it as Dani Abalde has done when creating his Riched Graph mapper component.

I tried using the Kea plugin to use AI to generate a c# component. It almost worked but tried to reference the NCalc nuget which generated an error. I don’t know enough about scripting to fix this and the component won’t have the Graph mapper graph representation on the component.

So I went for a simpler component where you can just pick a list of predetermined expressions.

GraphMapperCustomTest.gh (14.4 KB)

Hey, thanks a ton for sending that over! I’ve been playing around with your code using AI since you sent it, and my mind is blown. I had no idea you could do so much with expressions. I seriously thought the `Expression` and `Evaluate` components were all there was to it. This is awesome, learned a lot!