Leaving a note on components in GH?

Hi there,

I am trying to find a way to leave notes on gh input components as per this description on shapediver documentation. I can’t seem to find a way to do so.

Regards,

Jonas Blazinskas

@mathieu1

bump

Oops, I let this one slide…
This is a case where the documentation was a bit ahead of the actual feature, it’s not possible yet to write a custom note and override the Grasshopper default one. I will update the documentation accordingly. If you need to export additional data relative to sliders, I suggest you do that using a JSON object in a text output.

No worries!

So If I understood from reading in the following guide: https://www.shapediver.com/blog/json-objects-explained/

I would end up with a separate json output which then my developer would have to merge to a slider data output?

How would one extract component nickname for linking? I believe MetaHopper is not an approved plugin?https://rhino.github.io/components/metahopper/componentInfo.html

Scripted component maybe? But I would have to torture your system of approval every time?

Regards,

Jonas Blazinskas

In this case, I’m not sure what your goal is. It seems like the easiest thing to do would be to create a single JSON object mapping the parameter names to the info you want to display online, like this:

{
  params: [
    {
      name: 'Param1',
      note: 'Some information about Param1'
    },
    {
      name: 'Param2',
      note: 'Some information about Param2'
    }
  ]
}

Since your developer can list all parameters of the model by calling api.parmaters.get(), he can easily make the connection with the contents of this JSON object.

Am I missing something?

Exactly my thought process there too.

Although you haven’t touched on the extraction of parameter nicknames. I would like to have something like MetaHopper component https://rhino.github.io/components/metahopper/componentInfo.html or maybe even you guys could release your own component that mimics it. As having a component as such would help the workflow and accuracy of data due to less potential human error as param nicknames would be linked instead of separate instances.

Regards,

Jonas Blazinskas

Since you are only reading from the document (and not manipulating it), you can use a script to read parameter nicknames (and other data as well). Find below an example script that lists the nicknames of some common input types (including some shapediver-specific inputs).

nicknames.gh (17.0 KB)

In the future we might add support for some Metahopper components which would do the job.

Awesome! I was under misconception that you guys block all scripted components, my apologies. Would this still work if I were to process only plugged in components? Or is that considered manipulation?


GetInputs.gh (4.7 KB)
Regards,

Jonas Blazinskas

That is fine too, and even slightly more convenient scripting-wise.

Only problems I have noticed with this one is, that if the component has an output node name then it reads that instead of the component name. Would you have any idea how to get around this? My scripting skills are a bit too rudimentary.

Here is a solution that should cover all types of inputs:

GetInputs.gh (12.0 KB)

1 Like

Thank you ever so much!!!

1 Like

@mathieu1 Let me guess if I tried replicating something like MetaHoppers Rename component in python, I would not be allowed past your system because I am manipulating the document?
image

You are correct. Find the reason here:

Specifically this part that I am copying below:

You can dynamically update sliders and other parameters within a script in Grasshopper. However, that is a strict limitation of our servers, along with anything that breaks the one-to-one relation between a set of parameters and a computation. If we’re being a little more fancy and mathematically sound, make sure your definition behaves as a deterministic finite automaton , but I’m not sure it’s helping…