algorithmic modeling for Rhino

(Edit. David sez: Please append your (well explained) ideas/suggestions/wishes. I don't care much for what you want, I care why you want it.)

Perhaps this topic has been covered recently, but I don't see any active threads.  We're looking for a plugin project and I'd like to get some feedback from the power users before choosing something.


What is missing from grasshopper?  

What would you like to connect to that you can't already connect to?

What kind of bottlenecks do you run into?

What secret wish do you have for Grasshopper that doesn't even seem possible?

What project have you been meaning to undertake but haven't had/won't have the time?

Just trying to brainstorm a few ideas here.  There are so many great and useful plugins out there, it's hard to discover the gaps anymore.   

Looking forward to your thoughts!



Views: 21882

Replies to This Discussion

Yup, I'd like to add preview=on/off to all inputs and outputs, as well as the ability to just remove an output altogether if you're not using it. It should clear up visually and if the component is smart enough to inspect the available of outputs it may even result in speedups as certain output data will not have to be computed.


sometimes heavy elements may have inputs grafted and such, but with few values/geometries this is not a problem; when you replace the input link with something else bigger (list or tree) GH will crash.

Example: offset surface, input "S" 100 surfaces grafted, "D" 2 values > total 200 surfaces as output

now in source link we replace the 2 values with 100 new values, and because we are changing the logic of the definition we would need to remove the graft in "S" to have just 100 surfaces as output, but it is too late! GH now is calculating 10000 new surfaces! (noob behavior, yes, but hey, it happens)

Solutions (maybe):

1- GH multiply only the trees lengths and/or complexity to find out how many outputs there will be. It will show up "We are going to calculate 10000 new surfaces, do you want to continue?" (if no, the component is disabled)

2- GH start doing some of the first solutions, check the time needed to do so, then calculate the approximative total time and pop up a "This component will require roughly x minutes to complete, do you want to continue?"

This should be done also with the whole definition: sometimes the output of a component (in danger if with new inputs) is linked to another dangerous component! (usually even to other more and more)

This lead in some cases, just by removing or adding a single graft/flatten somewhere, to completely crash GH, because millions of solutions should be calculated.

Calculate the total number of outputs should really faster than calculating the outputs themselves. A small IF to stop things where it's too much could come handy.

(tell me if I've explained myself bad :P )

Game breaking bug! Ignore all of these other petty problems...

The top and left edge of the blocked timer icon are cropped.

One old issue is that with custom ribbon layouts your user objects disappear in tabs.

See discussion here for details:

With the increasing number of plug-ins in general and plug-ins that consist of user objects searching the right component gets more and more problematic.

Today I realize that to have a profiler function to groups could be nice and useful...:rolleyes:

Would be great to be able to change the display mode for wires for all inputs in a multiple selection.

 - when doing model clean up and organization, would be great to select a group and then hide all wires in one action

it has been discussed:

The plan is actually to remove both fancy options and display options for GH2. Wires should always be displayed fancily when you might want to see that information. If the end-points of wires are off the screen, then there's little point in drawing them with the same vigour as fully visible wires. I'm hopeful that I can find a good automatic balance for fading/hiding wires to reduce visual complexity vs. removing important visual cues.

More than anything I'd like the ability to move input and output locations on a component to the top and bottom edges of components. Actually dragging them along the edges of the component until the right spot is found would be cool. the sprawling to the right and slightly downward trend of my bigger patches is becoming way to derivative to describe the glory of their design!

Also I have always felt like the intersections tab is really annoying to use.

Small side note: In order to reduce complexity, maybe you could consider bringing back the old S input at [construct point] and get rid of [point oriented] again.

IMHO S with XY as default would be enough to support its fundamental character, enhance purging the panels and be more obvious for new learners. (I got this question a couple of times lately.) Additionally it would support the more efficient character of constructing in different planes rather than re-orienting geometry itself afterwards.

And I have a special request for [clean tree]: If some how possible please make the order T, E, N, X and set all boolean on true. You always need a Tree for it and in my personal experience, removing empty branches is 95% of all usage.

Thanks for your kind consideration.

Best, p

Hi David,

could you please consider including [DataMatch] (or however you´d like to call it) into Sets-Tree for GH2? Whenever assigning attributes like colours or layer names for baking etc. it is always such a big help.

Best, p

p.s.: Sorry, for not crediting, I forgot who initially wrote this:

Private Sub RunScript(ByVal d As DataTree(Of System.Object), ByVal m As DataTree(Of System.Object), ByRef mD As Object)

    Dim dt As New datatree(Of Object)
    For j As Integer = 0 To m.BranchCount - 1
      For i As Integer = 0 To d.BranchCount - 1
        If m.Path(j).IsAncestor(d.Path(i), 0) Then
          dt.addrange(d.Branch(i).ToArray, m.Path(j))
          Exit For
        End If
    mD = dt

  End Sub

Drag and drop is good, but when the nodes are very far apart it's a problem to connect them.  I couldn't find how to do it any ather way. I think it's better to use copy/paste connetcion method in advance.

RClick menu over start or end point. "Connect to..."  Then select the target connection. 






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service