Grasshopper

algorithmic modeling for Rhino

Bug #1:

this cant be bug ,but I wish it could be fixed : once all gh documents are closed ,GH still remember the  last closed one at the title .See picture below . 


Bug #2:
I think there is bug with the pipe component .I have one curve ,but Pipe component outputs two pipes .This guide curve have two kinks . Pipe component fails at one of them .


Bug #3

I guess this bug may have been fixed .



Wish #1 

 I hope   adding an "reverse list" option to the right-click menu .I think this would be useful (at least for myself).

Wish #2

I hope the SimplifyTree component would clear the zeros located at the end and middle of  branch in condition the branches have same length.For example, I have a tree looks like :

A = {0;1;0}
B = {0;1;0;1}
C = {0;1;0;0;1;0;0;0}

After simplify ,I get:

A = {1}
B = {1;0;1}
C = {1;0;0;1}

And if the tree structure is something like:

A={0;0;1;0}

B={0;0;1;1}

C={0;0;1;2}

After simplify ,I get:

A={1;0}

B={1;1}

C={1;2}

 But If the tree is:

A={0;0;0;0;0;0}

B={0;0;1;0;1;0}

C={0;0;1;0;2;0}

I get:

A={0;0}

B={1;1}

C={1;2}


WIsh #3

I came across conditions  that there is no direct way to handle some Datatree matching problems . And now I think I find what's the problem :GH now lack the capability to make cross reference between lists/branches .For example, I have two trees ,the first one have two branches {0}&{1}, the other have three branches{0}&{1}&{2}.Now GH would do:


what I want is :



If this can come true ,I can say it would be very very very useful .
 I just have a coarse idea on how to do that:
Like () wrap items,{} wrap branches,   then  [] wrap trees .
Say I have a tree [0] ,which have three brabches{0},{1},{2}.
 So [0]=[{0};{1};{2}] or [0]=[{0},{1},{2}] 
If this is ruled, the following fomula is meanningful:
[0]=[{0}]  (this means tree[0] just have one branch)
[0]=[{0;0;0};{0;0;1};{0;0;2}]
[0]=[{0;0};{0;1};{0;2}]=[{0;0;0};{0;0;1};{0;1};{0;2}]

After that, Maybe we could match [{0};{1}] and [{0};{1};{2}] very easily (Longest List;Shortest List;Cross Reference) ??


I tried to explain the concept of "tree" to my friends ,but I am confuzed somewhere myself .For example ,how could we have a tree including branches {0},{0;0}and{0;0;0} at the same time??{0} should be the biggest tree trunk,and {0;0} is part of {0} .{0;0;0} is just the smallest trunk  and store the least data inside .How could the biggert trucks are empty while only the smallest branches contain items ?(David drawed a datatree that tell this,remember??)


But if this idea is acceptable ,then I could make a fairy tale about tree to them :


(Long long ago...)

[0] is a tree ,[1] is a tree.

{0},{1},{0;0}.{0;1;0} are branches.

 {0}=(0,1,2,3,4,5) is branch.

[0]= [{0;0;0};{0;0;1};{0;0;2] is a standard tree .

[0]=[{0;0;0};{0;0;2};{0;0;3] is a pruned tree.

 [{0};{0;0};{0;0;0}]  is an illegal tree .

Gh is lenient enough to allow the existence of illegal tree .

Gh is lenient enough to allow the existence of empty trees& empty branch&null items.

We can use PathMapper to transform an illegal tree into a  legal one and vice versa .
 We can use PathMapper to do any things  to tree&branch&item.


Wish #4


wish for Split List  component : it would have a wrap option just like many other components.In this way , we can split a list of data at -1 .I think this would be useful .


wish #5


wish for a Preview toggle component  .See picture below (it's fake).



this toggle look mostly like the boolean toggle, but it have a input param by which we can control the preview logically and smartly .
When there is no input ,we can control swith the preview with a double click action .This toggle component could control all gh geometry overriding the global setting .The link curve between toggle and target works just like the galapagos.

Wish #6

Wish for  adding arc angle output to both Arc 3pt and Arc SED components.This would make things easier sometimes .

Wish  #7

Many times I were puzzled that a same gh script would perform perfect if the input is single surface but buggy while the input is more than one surface .After debuging many times ,I just found that if one or two  component  of the script do things smarter ,this kind of bugs would never happen again !!
Simply saying:we need a optional datatree match behavior.
Say I have two datatree [{0;0};{0;1}] and [{0;0;0};{0;0;1};{0;0;2};{0;0;3}; {0;1;0};{0;1;1};{0;1;2};{0;1;3}] 
Normally {0;0} matchs {0;0;0},{0;1} matchs other branches (Longest List behavior).Now I need {0;0} matchs {0;0;0},{0;0;1},{0;0;2},{0;0;3}  separately and {0;1} matchs {0;1;0};{0;1;1};{0;1;2};{0;1;3} separately .I cant describe this matching rules  accurately but it's very obvious .I hope you can understand the meaning .
 
I remember David said once that he would not change anything about the datatree matching rules in order to avoid destroy people's production work .And that is my bottomline too .What I want is when I need one component to match the input datatree in this way ,I can switch it (just it ) into this mode (Assuming these is a "xxx mode" option in component's right-click menu ). In this way ,All the exist Gh def would not be destoryed.

PS. I am not carping but I found the DivideKink param input of Divide Curve component is useless except adding a segments output .



Views: 409

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service