Re: Please move...
Looks like the move is inevitable, so I'm gonna talk straight about the new site... no pulling punches because I know you guys can take it. :-) . The text is FAR too big on my browser (Firefox 3.0.10). A whole lot of scrolling just to get to the 5th message. I have to drop down a text size just to get the menu items to fit on one line. Likewise, the news items on the side just stack up on top of each other because they don't have enough room to breathe. It seems that the column sizes are exceptionally narrow (it's only using a 1/3rd of my screen)... a combination of widening the text area and dropping down the text size on the headings would make the whole page a lot cleaner and easier to read. An auto-sizing page would be ideal. . Is there a way to migrate the files en masse to the new site? It would be a shame to lose a bunch of the useful ones just because someone wasn't around to help out with the move. Of course, the list could also use a bit of pruning... . Now that I mention it, it would be helpful to add a Grasshopper Challenge section where people who are looking for help can post their broken files. We don't want a whole bunch of how do I loft 3 shapes together files clogging up the examples section. :-) . Check out rhinoscript.org - there's not a lot of material, but they have good ideas about sample files and the layout is pretty clean... It would be helpful to have 1) an option to upload a JPG that can be used as the patch's thumbnail, and 2) a field where the uploader can add which version the patch was created in, especially because future releases have the potential to cause incompatibilities with older files. Anyway, I know you've guys have got your hands full making the actual program better every day, but these improvements would go a long way to creating a rich user forum experience. Sincerely, Marc On May 15, 6:32 pm, Bob McNeel bob.mcn...@gmail.com wrote: The new site is up and going...www.grasshopper3d.com Please move any files you would like to keep over to the new site. We try to shut this forum down in the next few days. Thanks, - Bob
Re: No Multithreading?? :(
. We are using OpenMP in Rhino 5, but my guess is that in most cases where OpenMP helps Rhino is already so fast you won't be able to tell the difference very often. To get your head deep into the topic, pick up a copy of Using OpenMP from MIT Press. On May 13, 8:48 pm, damien_alomar dominos...@gmail.com wrote: I'm not sure what you're hopes were based on, but AFAIK there are no multithreading additions for v5 or Grasshopper. Doesn't really matter what kind of system you have as its something that requires the attention of the Rhino developers and David. Last I asked (many months ago), David said that he attempted to try out some multithreading with GH, but had a lot of problems managing threads and a number of issues with some SDK functions not being thread safe. Unfortunately the response from McNeel on multithreading has been practically non-existent with the only official word being that none of the functions in Rhino lend themselves to multithreading (loose quote there). I personally don't buy that, but I'm just a lay person and that's really a discussion for another thread. Best, Damien On May 13, 5:17 pm, Marc Syp marc@gmail.com wrote: So I installed Rhino 5 today in the hopes that it would allow my GH to multithread, but alas my dual-core still maxes out at 50%... I'm running 32-bit. Is that the problem?? We have 64-bit machines at work but I don't want to go through the lengthy and politically dangerous process of commandeering one of them if I will have the same problem. Will I find a multi-threading solution soon? I find that I am limited in GH only by access to more processing power, and it makes me very sad... :( Marc- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text -
Re: Create set of branches from list
You can also do it without scripting using Number Series, Interval/ Data at List Index, and the List Subset components based on your UV sliders. Marc On May 13, 12:39 pm, David Rutten da...@mcneel.com wrote: Hi Farley, you're not overlooking the obvious. We are still lacking many components that allow you to modify and create tree structures. Until these components have been added 0.5 will remain the official public version. What you want can be done using a VB component. See this image:http://groups.google.com/group/grasshopper3d/web/MakeATree.png The code inside the VB component is: '-- Sub RunScript(ByVal x As List(Of Object), ByVal N As Integer) Dim tree As New DataTree(Of Object) Dim count As Int32 = -1 Dim branch As Int32 = 0 For i As Int32 = 0 To x.Count - 1 count += 1 If (count = N) Then count = 0 branch += 1 End If Dim path As New EH_Path(branch) tree.Add(x(i), path) Next A = tree End Sub '-- -- David Rutten da...@mcneel.com Robert McNeel Associates
Re: Making a diagonal grid out of a rectangular grid
By the way, I solved this problem by creating the set of interpolated curves (with offending segments), exploding them, using a function to compare the length of each segment against the length of the smallest segment, and then culling the offending segments (which are always much longer than the proper point to point connections). Processor intensive, me thinks, but it works. FYI. Marc On May 3, 1:31 pm, Marc Syp marc@gmail.com wrote: http://groups.google.com/group/grasshopper3d/web/crossGrid.ghxhttp://groups.google.com/group/grasshopper3d/web/CrossGrid.3dm I am using a point grid from a surface for a part of a larger project, and I need to reorder this grid of points to also get all of the lines that connect on a diagonal. I have tried a handful of different sorting algorithms using List shifting, number series, etc. Anyway, this is the closest I can get. Unfortunately, I get the diagonal points in groups of 30 (or sometimes 29) but they need to be broken up further so I can separate the cross bars from each other. As of now I have to bake, explode, delete offending segments, rejoin, and then go from there. I would like to be able to separate into proper paths and use Interpolate Points Crv on this without baking and adjusting first. I started mapping the values to see if I could get a number series Subset logic going, but this one has got me stumped because some paths need to be broken into 2 pieces and others into 3. Please take a look. Any ideas? Maybe this is completely the wrong approach? I tried a couple other approaches but didn't even get this far. I feel like I'm missing something simple. Thanks, Marc
No Multithreading?? :(
So I installed Rhino 5 today in the hopes that it would allow my GH to multithread, but alas my dual-core still maxes out at 50%... I'm running 32-bit. Is that the problem?? We have 64-bit machines at work but I don't want to go through the lengthy and politically dangerous process of commandeering one of them if I will have the same problem. Will I find a multi-threading solution soon? I find that I am limited in GH only by access to more processing power, and it makes me very sad... :( Marc
Re: GH + Rhino 5
Wow. Nice machine. Too bad about the 2 cores issue. I had big dreams of running huge GH definitions with realtime updates... anyone know why there is a 2- core limitation and whether this will be addressed sometime soon in the era of multicore processing? It seems like there are so many multicore machines being produced now but only a handful of apps that utilize them properly. That reminds me, I have a general question about multicore processing... Is it possible in any way to exclude a core from a certain program's processes? I'm thinking specifically of vray, to exclude one or two cores (depending on how many you have) so that it's possible to do other tasks safely while rendering... Thanks, Marc On May 8, 1:18 am, autarchy d...@urbanfuture.org wrote: From what I gather, most CAD apps only work on 2 cores (except for render processing). I ran a few heavy definitions + VB scripts in GH with only 2 cores out of 8 bumped. Same goes for Rhinoscript even though they were both maxing out at times :XP x64 SP2 / 2 x X5472 @ 3.00GHz / 16GB FB-DIMM / Quadro 4500 FX
Re: shift branch (basic tree question)
Visose, FrankS - I've found that sometimes if my path structure changes the resulting data no longer matches properly with data carried over from other parts of the definition. I think this is perhaps the problem that FrankS is experiencing. In those cases I have found that doing the same operation on the other set of data works to match their paths up again. For instance, if you've shifted your data and need to reconnect it to the original data, you can put in a dummy shift for the original data. That is, use the actual shift method given by visose above, and then use it again on the same data but with an index of 0, so that the data order stays the same but receives an addition level of path structure. Your new shifted data will now match the original data, and you should be able to do whatever operation you intended on the matched set. I have to admit that this is a bit of a cobbled up workaround, and I'm having a hard time understanding how path components should work so that this kind of thing wouldn't be necessary. But for now it works. Marc On May 8, 12:45 pm, visose vic...@gmail.com wrote: what are you trying to do that you need them to be the same? maybe there's another way around it. On May 8, 11:49 am, frankS fffr...@googlemail.com wrote: ok, i am stuck again. visose, taking a closer look at your suggestion i found out that i end up with a sligthly different structure. (0;0;1) will be converted to (0;0;0;1) and so on. accordingly, shifting this way will add on level of tree hierarchy. anyway to avoid this? thanks, frank On May 6, 12:36 pm, frankS fffr...@googlemail.com wrote: wow, thanks visose for so much fast replies! i didn't figure the param viewer was useful for anything more than viewing. it makes path structure accessible/manageable. great! maybe it should change its name a bit to give a better hint. first suggestion: param viewer/handler would this make sense? On May 6, 12:18 pm, visose vic...@gmail.com wrote: No need to flatten, besides that method will only work if you have one item per branch. You can use the param viewer and tree branch components to achieve this:http://grasshopper3d.googlegroups.com/web/shiftbranch.jpg On May 6, 11:59 am, frankS fffr...@googlemail.com wrote: i am trying to shift branch structure, since there this no such component, i try it the following way: flatten the structure, shift the list, graft a new stucture from the shifted list... starting with a structure containing 3 paths (0;0;0) (0;1;0) (0;2;0) after grafting it ends up with (0;0;0) (0;0;1) (0;0;2) screenshot here:http://grasshopper3d.googlegroups.com/web/shift_tree.jpg?hl=engsc=YI... any idea how to rearrange this creating the same structure again? simplifiy doesn't seam to help... any advise much appreciated. frank- Hide quoted text - - Show quoted text -
Re: interpolaing between two points with tangency
I can tell you all that GH 0.6 is a different world and you should install it immediately. I was waiting at first to see if it would be stable enough (because I use GH for my job job and need it to be reliable), but I can tell you that it's more than stable and the benefits of 0.6 over 0.5 are incredible... Marc On May 8, 2:55 pm, boctom boc...@hotmail.com wrote: Taz, This could be really usafull I just can't find this BiArc Think it's a new component in GH 6 I'm going to install it right now Let me know if I'm wrong Thanks Thomas
Image Color Approximation in VB.NET
Hey guys... I am trying to find a way to take a JPG image and reduce it to an approximation made by a specific number of colors. I found the following text which seems to be in the right direction. Is this something I can do in VB.NET with a Custom Import? I would like to use the dithering option. How would I go about constructing this in VB? Thanks, Marc
Bug report: Canvas update when deleting in manual update mode
David - Just to let you know about a quirky problem I've been having... perhaps others are having it as well but haven't reported it because it doesn't really hinder performance. Anyway, when I am working on a fairly large definition and I have Grasshopper causes automatic updates OFF, I find that when I delete something from the canvas, it doesn't actually disappear until I take some GUI action like zooming or panning the canvas. Like I said, it's not a real functional problem, it's more of a quirk. Anyway, perhaps someone can confirm this? It happens on my dual-core laptop with Nvidia 256M graphics card. Marc
Most common workarounds that need components
Hi all. How about a survey. We all must do certain tasks over and over again that require in some cases extensive workarounds because a component doesn't exist. What workaround do you use most often? A few that I would love to see turned into components: 1) Map values to user-defined domain. Begone foul functions! 2) Filter/Weave component: ability to accept multiple gate values and filter by index value. I have two streams of identical length. I want to filter this into one stream of the same original length but by picking values in a binary fashion by index number. That is give a list of 0,1,0,1,1,1,etc values that determine the piece of data chosen for index positions 0,1,2,3,4,5, respectively. As of now I have to generate cull patterns to eliminate unwanted data and then use the Weave component. It seems to me that the Filter stream component should accept multiple gate indices and use this one value per index behavior. 3) Shift branch - A component that works like the Shift List component but works on entire branches. I find myself using a workaround for this all the time... which involves a lot of flattening, number series, subsets, and regrouping and/or path extraction and list shifting. 4) Split data into paths - You want to divide the flat list of 15 values into 5 sets of 3. No problem, but it involves creating two number series, a list of intervals, and subsets. I would love a component where you just plug in the list and the group size list as a repeating mask. In this case, 3. The component takes the first 3 values and makes it a path, the next three values and makes it a path, etc, until the list runs out. Alternatively, you could provide a series of numbers that work as a repeating set. 3,4,5 would create paths with N=3, N=4, N=5, N=3, N=4, N=5, N=3, etc, until the list runs out. Good, no? 5) Lists within lists. I think you know what I'm talking about. Breaking down lists into flattening, making subsets, doing an operation, and then rebuilding the original path structure based on list length components farther back in the tree. Lists of lists would make this so much dreamier. Other little wishes: 1) Duplicate data: option to generate new paths for each duplicated data set 2) Override icon preview: really helpful for Parameter, and VBScript nodes, especially. I love icon view but hate that I have to live with the icons for parameters and script buttons without differentiation. There are a few others that I'm forgetting, but perhaps someone can add some to this thread as well. Marc
GH + Rhino 5
Anyone using GH with Rhino 5 beta? How is the performance? Is it truly multithreaded? Any appreciable diffferences between 32- and 64-bit? Thanks, Marc
Re: Most common workarounds that need components
I agree with this completely. Marc On May 5, 7:38 pm, Andrew Heumann and...@heumann.com wrote: I would love a sort of copy data tree structure component that accepted two lists and placed the data from the first into a data tree structure exactly the same as that of the second. Anything to make assigning custom data structures to existing sets of data easier would be an enormous help. Andrew On May 5, 9:54 am, Marc Syp marc@gmail.com wrote: Hi all. How about a survey. We all must do certain tasks over and over again that require in some cases extensive workarounds because a component doesn't exist. What workaround do you use most often? A few that I would love to see turned into components: 1) Map values to user-defined domain. Begone foul functions! 2) Filter/Weave component: ability to accept multiple gate values and filter by index value. I have two streams of identical length. I want to filter this into one stream of the same original length but by picking values in a binary fashion by index number. That is give a list of 0,1,0,1,1,1,etc values that determine the piece of data chosen for index positions 0,1,2,3,4,5, respectively. As of now I have to generate cull patterns to eliminate unwanted data and then use the Weave component. It seems to me that the Filter stream component should accept multiple gate indices and use this one value per index behavior. 3) Shift branch - A component that works like the Shift List component but works on entire branches. I find myself using a workaround for this all the time... which involves a lot of flattening, number series, subsets, and regrouping and/or path extraction and list shifting. 4) Split data into paths - You want to divide the flat list of 15 values into 5 sets of 3. No problem, but it involves creating two number series, a list of intervals, and subsets. I would love a component where you just plug in the list and the group size list as a repeating mask. In this case, 3. The component takes the first 3 values and makes it a path, the next three values and makes it a path, etc, until the list runs out. Alternatively, you could provide a series of numbers that work as a repeating set. 3,4,5 would create paths with N=3, N=4, N=5, N=3, N=4, N=5, N=3, etc, until the list runs out. Good, no? 5) Lists within lists. I think you know what I'm talking about. Breaking down lists into flattening, making subsets, doing an operation, and then rebuilding the original path structure based on list length components farther back in the tree. Lists of lists would make this so much dreamier. Other little wishes: 1) Duplicate data: option to generate new paths for each duplicated data set 2) Override icon preview: really helpful for Parameter, and VBScript nodes, especially. I love icon view but hate that I have to live with the icons for parameters and script buttons without differentiation. There are a few others that I'm forgetting, but perhaps someone can add some to this thread as well. Marc
Re: Most common workarounds that need components
No need for all that. In Scalar components, there is a Min-Max node. Hook it up to your list and then extract the interval and voila, you have both min and max values to play with. Marc On May 5, 7:42 pm, Andrew Heumann and...@heumann.com wrote: @frankS I get around this without scripting by: 1. sorting the list, and taking the item at index=0 for the min 2. reversing the sorted list and taking the item at index=0 for the max On May 5, 12:37 pm, frankS fffr...@googlemail.com wrote: 1.1.) find min/max of all list values. i don't know if there is a smart way to find the lowest or highest value in a list. i use a vb-component (called list mapper) friendly shared by someone on this forum. frank
Making a diagonal grid out of a rectangular grid
http://groups.google.com/group/grasshopper3d/web/crossGrid.ghx http://groups.google.com/group/grasshopper3d/web/CrossGrid.3dm I am using a point grid from a surface for a part of a larger project, and I need to reorder this grid of points to also get all of the lines that connect on a diagonal. I have tried a handful of different sorting algorithms using List shifting, number series, etc. Anyway, this is the closest I can get. Unfortunately, I get the diagonal points in groups of 30 (or sometimes 29) but they need to be broken up further so I can separate the cross bars from each other. As of now I have to bake, explode, delete offending segments, rejoin, and then go from there. I would like to be able to separate into proper paths and use Interpolate Points Crv on this without baking and adjusting first. I started mapping the values to see if I could get a number series Subset logic going, but this one has got me stumped because some paths need to be broken into 2 pieces and others into 3. Please take a look. Any ideas? Maybe this is completely the wrong approach? I tried a couple other approaches but didn't even get this far. I feel like I'm missing something simple. Thanks, Marc
Re: merge component nullifying inputs bug
Yep, this bug is still there. Another somewhat cleaner workaround is to connect both streams to a parameter object (of the appropriate type). This is nice for when you need to connect that stream to a large number of inputs... Marc On May 3, 3:06 pm, quantx antonsa...@gmail.com wrote: yes, i have experienced the same problem. for example curves to be lofted coming from different flows. when merging through merge component some data gets nulled and respectively when this is passed to the loft it is not working as expected. when directly linking all individual flows to the loft component by pressing the shift key there is no problem.
Re: Can I change the background of gh to dark gray?
What did you think of the Nadal-Djokovic final??? I guess I'm not the only one alternating between Grasshopper and the BNL Masters. I'm actually in Rome and tried to get tickets but I didn't have enough time to track one down during the week... :P Marc On May 2, 4:27 pm, visose vic...@gmail.com wrote: those 4 numbers represent alpha, red, green and blue (in that order). oops again. I actually changed the 4 values to 50. This reminds me not reply to this forum and try to watch a tennis match at the same time.
Re: second closest point
Very cool. Nice to see you guys using it in ways I didn't expect. Marc On May 1, 6:40 am, autarchy d...@urbanfuture.org wrote: try this VB script that sorts and clusters nearest neighbours. http://groups.google.com/group/grasshopper3d/web/nearest2Neighbours.g...
Re: color baking
Hey guys... I'm not able to get either of these scripts to work by modifying the original. It's definitely my VB.NET ignorance, I'm still a beginner. Can someone post a .ghx of this VB component? Thanks, Marc On Apr 15, 2:25 pm, fraguada fragu...@gmail.com wrote: Damien, Visose...great stuff.. to do both: If blnBake Then 'Bake Object Dim mObj As New MRhinoBrepObject mObj = doc.AddBrepObject(obj) 'Set Material Dim att As New MRhinoObjectAttributes(mObj.Attributes()) att.setmaterialsource(1) att.m_material_index = doc.m_material_table.AddMaterial (material) 'Modify the attributes Dim objref As New MRhinoObjRef(mObj.Attributes.m_uuid) doc.ModifyObjectAttributes(objref, att) Dim att2 As New MRhinoObjectAttributes(mObj.Attributes()) att2.SetColorSource(1) 'setcolorsource to From Object Dim rColor As New OnColor (color) 'make OnColor att2.m_color = rColor 'Set ObjectColor doc.ModifyObjectAttributes(objref, att2) End If -This works with my tossed together knowledge of vb.net/rhino sdk (is there a cleaner way?... Tocolorcurves would it work by changing the MRhinoBrepObject to its curve correspondent? I have not tried, just wondering coneptually... Luis On Apr 13, 8:36 pm, Pablo Morales olba...@gmail.com wrote: and i can't open the file with grasshopper can you upload a image of the grasshopper view please Thanks, Pablo Morales On Mon, Apr 13, 2009 at 8:11 PM, Pablo Morales olba...@gmail.com wrote: hi, my version of grasshopper is 0.5.0099 On Mon, Apr 13, 2009 at 7:41 PM, visose vic...@gmail.com wrote: I modified the above script to actually bake the material for rendering purposes. You need to add an input called 'material' and connect it to the shader. If blnBake Then 'Bake Object Dim mObj As New MRhinoBrepObject mObj = doc.AddBrepObject(obj) 'Set Material Dim att As New MRhinoObjectAttributes(mObj.Attributes()) att.setmaterialsource(1) att.m_material_index = doc.m_material_table.AddMaterial (material) 'Modify the attributes Dim objref As New MRhinoObjRef(mObj.Attributes.m_uuid) doc.ModifyObjectAttributes(objref, att) End If Damien, in relation to my problem about baking vertex colors. At least i can render something using this method and lots sub-surfaces (one per texel). It will be ridiculously inefficient though :P On Apr 13, 4:01 pm, damien_alomar dominos...@gmail.com wrote: Some one asked this a little while ago, so I cooked up a custom definition for it. http://grasshopper3d.googlegroups.com/web/bakeWcolor.ghx?hl=engda=Bx. .. -Damien On Apr 12, 11:07 am, Pablo Morales olba...@gmail.com wrote: hi, Is posible to conserve the colour of grasshopper when i bake? I mean is posible to render the colours of grasshopper in Rhino? Thanks
Re: color baking
Visose - Thanks for that. Unfortunately I can get the component to bake and I see the materials when I render in Rhino Render and Flamingo, but if I try Vray for Rhino or 3dsMax, I get nothing but grey. Any ideas? Thanks, Marc On May 3, 9:33 pm, visose vic...@gmail.com wrote: Here you go:http://grasshopper3d.googlegroups.com/web/bakematerial.ghx On May 3, 9:07 pm, Marc Syp marc@gmail.com wrote: Hey guys... I'm not able to get either of these scripts to work by modifying the original. It's definitely my VB.NET ignorance, I'm still a beginner. Can someone post a .ghx of this VB component? Thanks, Marc On Apr 15, 2:25 pm, fraguada fragu...@gmail.com wrote: Damien, Visose...great stuff.. to do both: If blnBake Then 'Bake Object Dim mObj As New MRhinoBrepObject mObj = doc.AddBrepObject(obj) 'Set Material Dim att As New MRhinoObjectAttributes(mObj.Attributes()) att.setmaterialsource(1) att.m_material_index = doc.m_material_table.AddMaterial (material) 'Modify the attributes Dim objref As New MRhinoObjRef(mObj.Attributes.m_uuid) doc.ModifyObjectAttributes(objref, att) Dim att2 As New MRhinoObjectAttributes(mObj.Attributes()) att2.SetColorSource(1) 'setcolorsource to From Object Dim rColor As New OnColor (color) 'make OnColor att2.m_color = rColor 'Set ObjectColor doc.ModifyObjectAttributes(objref, att2) End If -This works with my tossed together knowledge of vb.net/rhino sdk (is there a cleaner way?... Tocolorcurves would it work by changing the MRhinoBrepObject to its curve correspondent? I have not tried, just wondering coneptually... Luis On Apr 13, 8:36 pm, Pablo Morales olba...@gmail.com wrote: and i can't open the file with grasshopper can you upload a image of the grasshopper view please Thanks, Pablo Morales On Mon, Apr 13, 2009 at 8:11 PM, Pablo Morales olba...@gmail.com wrote: hi, my version of grasshopper is 0.5.0099 On Mon, Apr 13, 2009 at 7:41 PM, visose vic...@gmail.com wrote: I modified the above script to actually bake the material for rendering purposes. You need to add an input called 'material' and connect it to the shader. If blnBake Then 'Bake Object Dim mObj As New MRhinoBrepObject mObj = doc.AddBrepObject(obj) 'Set Material Dim att As New MRhinoObjectAttributes(mObj.Attributes()) att.setmaterialsource(1) att.m_material_index = doc.m_material_table.AddMaterial (material) 'Modify the attributes Dim objref As New MRhinoObjRef(mObj.Attributes.m_uuid) doc.ModifyObjectAttributes(objref, att) End If Damien, in relation to my problem about baking vertex colors. At least i can render something using this method and lots sub-surfaces (one per texel). It will be ridiculously inefficient though :P On Apr 13, 4:01 pm, damien_alomar dominos...@gmail.com wrote: Some one asked this a little while ago, so I cooked up a custom definition for it. http://grasshopper3d.googlegroups.com/web/bakeWcolor.ghx?hl=engda=Bx. .. -Damien On Apr 12, 11:07 am, Pablo Morales olba...@gmail.com wrote: hi, Is posible to conserve the colour of grasshopper when i bake? I mean is posible to render the colours of grasshopper in Rhino? Thanks
Nurbs Curve component failure
I have a problem with the Crv from control points component. My definition works when I use IntCrv (interpolate) but returns nulls with Curve from Control points. Any idea why? GHX: http://groups.google.com/group/grasshopper3d/web/OnCurve-Null.ghx?hl=en 3dm: http://groups.google.com/group/grasshopper3d/web/OnCurve-null.3dm?hl=en Thanks, Marc
Working with Boolean Values and/or Data Manipulation
Hi all... I'm having some difficulty with what seems like a simple operation. I have a list of 25 surfaces that undergo an intersection test with 3 lines. I want to separate the surfaces that get intersected from the ones that don't. So far, I've got the intersected surfaces with no problems. 3 of these 25 surfaces are further subdivided and I want to cull them OUT of the original. I have the index numbers of the surfaces in question. But the Booleans are driving me crazy, and I can't get a proper cull to work. So a few questions. 1) How do you generate a list of booleans dynamically? Let's say you know you want all trues except False at index position 7, 13, and 24. (These indices can change in value or number dynamically.) How do you generate that list? 2) Is there any way to replace by index? I have a list of 25 values, I want to replace the data at index 7. How? 3) Delete by index number. I have a list of 25 numbers. I want to delete the item at index 7. How? Any one of these last two options would solve all of my problems and relieve my heartache. Any ideas appreciated. Thanks, Marc
Re: Revisit: Sweep 1 Rail???
Yep... that's exactly what I'm talking about. :) Many times I can't even get the sweep1 to work at all unless I do some gymnastics getting the start point of the section to match the start point of the rail... but of course when you use a sweep you don't always want to have a rail for every component of the assembly; you should be able to sweep using a rail that has a distance from the section curve. Anyway, I will jump for joy when this problem is fixed. I am currently spending 4-6 hours a day sweeping profiles manually. :( Thanks, Marc On Apr 7, 7:51 pm, Alpha222 hero18w...@gmail.com wrote: hello guys,, the sweep 1 component in gh donot generate good enough results as we expect . is that the question you are talking about??if yes ,i think i came across the same question and want it solved as soon as possible .thanks, best, alpha
Revisit: Sweep 1 Rail???
Is the Sweep 1 component fixed in the latest release of GH? This is absolutely critical to me and would save me hours of tedious work... I've been holding off on installing 0.6 at work but I would do it if I could sweep a profile that is not touching the rail curve exactly how GH wants it to (like in finicky 0.5) Thanks, Marc
Re: Revisit: Sweep 1 Rail???
Any chance you might go back to it? I'm surprised we haven't seen more collective whining about this issue... :) It seems like architects mocking up structure would be wanting to use sweep every day of the week. I know I am. :) As it stands, I have to use GH to orient my profiles (works great!), bake pieces of the sweep assembly on separate layers, and then go through and sweep 1 rail each component individually, often going through the structural grid 3 or 4 times depending on the number of components. Knowing the power of GH and the possibility of doing all this with 4 clicks drives me a bit nuts!!! :P Anyway, I await eagerly the good news. :) Thanks, Marc On Apr 7, 4:21 pm, David Rutten da...@mcneel.com wrote: Hi Marc, I haven't touched Sweep code recently. -- David Rutten da...@mcneel.com Robert McNeel Associates On Apr 7, 1:31 pm, Marc Syp marc@gmail.com wrote: Is the Sweep 1 component fixed in the latest release of GH? This is absolutely critical to me and would save me hours of tedious work... I've been holding off on installing 0.6 at work but I would do it if I could sweep a profile that is not touching the rail curve exactly how GH wants it to (like in finicky 0.5) Thanks, Marc- Hide quoted text - - Show quoted text -
Re: Grasshopper 0.6 (revision 5) available for download
SERIOUSLY. Can everybody stop quoting the entire release notes in every message Those of us reading in digest form are getting like 200 gigabyte digests because everyone is posting their own Oh my god thank you David for GH 0.6! without taking a minute to prune the message quote. Cheers. Marc P.S. Oh my god thank you David for GH 0.6! :-) On Mar 19, 12:29 pm, baldino jonas.bre...@gmail.com wrote: little component wish: a Close Curve would be handy On Mar 19, 12:23 pm, David Rutten da...@mcneel.com wrote:
Re: WARNING: *.wrm file format about to disappear.
Wish I had been on a beta list for Rhino 5. Never got a chance to express my wish list like I have done here for GH... so all I can do is pray that somebody made the same requests and they were honored. Things I would love to see in Rhino 5: 1) Most importantly: vastly improved Xref functionality. As of now, you can't separate the layers of a linked DWG to drive geometry creation (through manual creation, Record History, and/or Grasshopper). Look at 3DS Max for a model of the functionality I'm looking for... the lines are not editable, but they are used as proxies for functions like extrude curve, loft, etc... 2) Isolate layer functions that work like AutoCAD. (I know, something works better in AutoCAD than in Rhino? It's hard to believe...) 3) No control point picking hassles... (when zoomed in close the point on the screen and the point you must click to get the control point are different... OpenGL problem? Dunno...) 4) Improved Area and volume calculations... Rhino often gives bad data for single surfaces yet includes these in totals without warnings. Calculating areas and volumes become a time-consuming process of Rebuilding surfaces and checking individual surface results to assure accurate and consistent results. Rhino should identify calculation problems automatically (e.g., negative and absurd results) and give warning messages at the very least, and at most automatically rebuild surfaces (in memory) to achieve the best approximations possible. I've got to say that there are very few things in Rhino that drive me absolutely crazy, but these are a few things I can think of off the top of my head that I have been hoping for in Rhino 5... I'm sure there are a couple other little things... Marc On Mar 10, 5:36 pm, David Rutten da...@mcneel.com wrote: I send a build of GH 0.6 to some people inside McNeel yesterday, they found 2 serious bugs. Once I fix those I'll send it out again. We'll keep repeating this until we can find no more (serious) bugs. So, if all goes well, tomorrow... Don't count on that. Rhino5 is currently being held up by the installer. We ran into a few issues with installing 32-bit Rhino on 64-bit windows when a 64-bit Rhino was already installed or something similar. I'm not keeping close tabs on the installer guys. Why do you want Rhino5? I mean, what do you think it will give you that Rhino4 hasn't got? I'm just curious... -- David Rutten da...@mcneel.com Robert McNeel Associates On Mar 10, 4:56 pm, jd jesse.duc...@gmail.com wrote: Thanks David. Is there an ETA for the next release of GH? What about Rhino 5?- Hide quoted text - - Show quoted text -
Re: TOP of my wish list
On Feb 22, 6:16 pm, David Rutten da...@mcneel.com wrote: Hi Marc, 1) Working, separately editable/instanceable/properly previewable clusters (I know, I know, it's complicated and you're working on it!!) 2) A Send/Receive data component ... I'm assuming this is a fairly simple thing to implement? It would be a godsend. It would be fairly simple to implement. And I can see the huge organisational benefits. Maybe I can slip one of these in before the next version is released. But since I kinda-sorta promised Bob it would be next week, I'm not sure if I can make that. Wow. Would be fantastic if you can manage it. Otherwise, I will be waiting patiently. :-) 3) Previewed geometry always on top. ... Is there an easy fix to make the current preview component ALWAYS show in green over the top of all red previews? I don't know. I'll have to discuss this with our main OpenGL guy, and then hope that it's possible in DotNET as well. It would incidentally be fairly easy to add Stored Preview States to Grasshopper. Does that sound like something you might still use if the other option would also be available? I would definitely use a stored preview states function even with an always-on-top preview. In many cases I will be using GH for functional diagram tools that generate different types of information simultaneously. The ability to save preview states would allow me to use a single definition to generate a number of diagrams in the same patch and switch seamlessly during presentations. Would be fantastic. 4) Gates and switches. Again, I use Max/MSP as a model... but having controllable gates allows you to set up testing scenarios and quickly switch between states. Also has implications for conditional data manipulation. There are some gates and merge components available now, but we need a lot more. Feel free to post some detailed descriptions of the functionality you're looking for. Sorry, I should have been more specific. Imagine a gate which has 5 inputs. 4 of this inputs are data streams, the fifth input is the control number input. The control number determines which data stream gets passed through the gate. In Max/MSP, you can set the gate component to have N number of data stream inputs. Also, conversely, imagine a component that has two inputs, one is a data stream and the other is the control input. There are four outputs, and the control input determines which output receives the data. Attach an integer slider to the input and you've got a simple switch. Output a matching data stream to the control input and you've got conditional data manipulation. Good stuff. While we're talking specifics... another thing I've missed is an inverse Cull Nth component. In one recent case, I wanted to KEEP every nth data point instead of excluding it. Seems like it would have been easy but I had to do a workaround with a series of numbers, intervals, and list subsets. Another thing I like in Max/MSP is that most components have an additional output that gives miscellaneous data. Often this means boolean values about the success of the operation or the leftovers generated by the component. In my case, the leftovers of the Cul Nth component would have been perfect for this job. Just a thought. Thanks! Marc
Re: Learning the language
It's funny. Did you guys ever play Robot Oddysey on the Apple II+? My dad bought it when I was around 8, and we used to spend days mapping out circuits for our robots. It was a lot of fun and, frankly, who knew it -- it was the perfect training wheels for Grasshopper. http://en.wikipedia.org/wiki/Robot_Odyssey Marc On Feb 14, 8:50 pm, David Rutten da...@mcneel.com wrote: Woe those lost souls who played tetris or pacman. Forever trapped in 2D! -- David Rutten da...@mcneel.com Robert McNeel Associates On Feb 14, 4:31 pm, Juan carlosla...@gmail.com wrote: Well, I have extensive experience with call of duty, guess that I picked up the wrong game... On Feb 14, 10:39 am, visose vic...@gmail.com wrote: I suspect I picked up most of geometry-sense while playing with Lego during ages 3~8 I personally noticed a great increase of my 3D spatial perception after spending a huge amounts of time playing Quake III Arena online. Not recommended thought... highly addictive. On Feb 13, 10:45 am, David Rutten da...@mcneel.com wrote: Hi Juan, I've read the Bentley book a while back at Siggraph. The graphics are fantastic, but the explanations didn't go very deep. I'm afraid I don't have any alternatives for you though, I suspect I picked up most of geometry-sense while playing with Lego during ages 3~8. There must be excellent books out there on geometry, but I think those will only cultivate your factual knowledge, not your insight. Learning to use Grasshopper essentially amounts to the same thing as learning to use any programming language. The actual language-syntax is only a small part of this process, far more important is the ability to break apart a problem into smaller chunks and a solid grip on how data is stored inside a system. Sorry for being no help whatsoever, David -- David Rutten da...@mcneel.com Robert McNeel Associates On Feb 13, 1:22 am, Juan carlosla...@gmail.com wrote: Hello, I am no expert by any means, but since I was introduced to computational design in my master studies I have had the impression that the software that you are using is more or less irrelevant if you can articulate your ideas in a clear geometrical language. I have done scripting in maya, tried houdini for its procedural workflow and right know Im very interested in grasshopper. However I really feel like my geometrical language is seriously lacking when I see some of the projects that you guys generate. With this in mind I would like to risk it and ask how/where can I find information that can enable me to start thinking in a better way? I have seen the bentley geometry for architects book in my ex-office, but well its a bit expensive. Maybe there is a internet repository of algorithms or something similar that can help people like me, that did not have the luck to have a good partner/teacher willing to share this information and instead is trying to learn on his own based on web tutorials and the like. Hope that I made sense. Best, Juan- Hide quoted text - - Show quoted text -
'hopper freezing
Hi guys. I've ul'ed a GHX here: http://groups.google.com/group/grasshopper3d/web/VolumeTests-S.ghx?hl=en Pretty simple definition. I'm using it to adjust building footprints and dynamically update building height based on Total Buildable Area. Works fine for about 2 minutes and then freezes Ghopper and Rhino... gives me the hourglass and stops responding. Happens on both my laptop and my work computer. Any ideas? Thanks, Marc
Re: wishes
Also wondering about isolating grasshopper data. If it's not possible to select in the viewport, perhaps the converse is possible. Anyway to preview a single data point from a list of data? For instance, if you have a list of points generated, being able to highlight one and see which one it is in the viewport... This would help greatly in situations where you are trying to debug the data heirarchy of a complex operation. Just a thought. Thanks, Marc On Feb 10, 8:44 pm, David Rutten da...@mcneel.com wrote: Hi Gijs, #1 You mean you want the Grasshopper preview to match exactly the current display mode that a viewport is in? number 2 is completely out of the question I'm afraid. You can only select objects in Rhino that are part of the document. Grasshopper geometry doesn't actually 'exist', so Rhino is completely unaware of it. For this to work, I'd have to add all Grasshopper geometry for real, causing memory usage to explode because of the use of Attributes and Undo records. -- David Rutten da...@mcneel.com Robert McNeel Associates On Feb 10, 10:34 am, Gijs gijsdezw...@gmail.com wrote: What I would like to see in GH is: - all display modes available that are normally available in Rhino, so including the ones we make ourselves - be able to select the geometry in the viewport, in order to see to which component it is connected -- Gijs- Hide quoted text - - Show quoted text -
Re: Surface analysis normal vectors not behaving as I expect!
Further musings: I think I need lists within lists to solve this problem. I need to be able to split my point list into N streams, based on the number of surfaces detected in the polysurface. Then repeat the surface selection process for each of those streams (equal to the number of curves selected) to keep the selection data in correspondence with the sample point. That could mean thousands of streams. I'm think of a For i = 1 to N routine, outputting a corresponding list of surface selections, which could then be fed into the geometry construction patch. Is this silly? I'm still not quite sure how the GH logic works exactly, I'm used to the time-based logic of Max/MSP, where you can strictly control the timing, heirarchy, and sequence of data flow... Hmmm... Thanks, Marc On Jan 30, 12:22 am, Marc Syp marc@gmail.com wrote: Visose, Thanks for the tips... also regarding the preview shortcut. Very nice. I've got it working fabulously for surfaces now. My next challenge is to get it working with BReps as well. Some of my surfaces are actually polysurfaces, and I'd rather not have to set my collection of curves separately for each surface that makes up the BRep. Why is it that the BRep analysis component doesn't provide uv coordinates??? As a workaround, I started developing a patch that explodes the BRep and then analyzes the distance of the sample point to each component surface, then selects the correct surface uv point for orientation purposes. My problem now is that it works great for one curve, but as soon as I load the whole collection it freaks out and is only able to select one surface for the whole collection. Obviously this is no better than exploding a BRep and feeding it through my original patch (also not working). I would like it to analyze each point individually as if in a discrete loop, but I think I'm having a problem of list lengths and redundant values, or in the structure of the patch itself. Any chance you can take a look and give me some leads on how to pursue the logic of this one? The patches: http://grasshopper3d.googlegroups.com/web/Tornado-extruder.3dm?gda=cu... http://grasshopper3d.googlegroups.com/web/Khing-tornado-extruder2.ghx... Thanks in advance. Marc On Jan 28, 9:24 pm, visose vic...@gmail.com wrote:
Surface CP can't handle a list of points and a list of surfaces?
I think part of the problem I am experiencing with my current patch is that the Surface CP component is not giving me the data I need. It can handle a list of surfaces with one point, it seems, but not both a list of surfaces and a list of points. For instance, if I feed it one point and 5 surfaces, I get 5 point results and 5 distance results. Perfect. But if I feed it 5 surfaces and 212 points, it ignores four of the surfaces and gives me 212 point results and 212 distance results. I would like to get the distance results for all five surfaces for all 212 points (list length of 1060). Is this a bug? Am I missing something?
Re: QT: Sound component
Yes, yes, yes, yes. I have also advocated a link between Grasshopper and Max/MSP. I'm drooling at the prospect. The possibilities are really quite endless. I did an architectural project in Max last year and would love to get it talking to GH. Wow. Marc On Jan 26, 12:14 pm, frankS fffr...@googlemail.com wrote: juhu, nice stuff in this thread! some links to graphical node-based realtime audio programming environments:http://cycling74.com/products/max5 does it all: realtime analysis, envelope following, FFT (spectral analysis), MIDI, OSC, ... nice product, not for free... ;-( (i own a copy) i suggested to bridge max/msp and GH using OSC a while ago. see the thread in the link. would allow to do the analysis in realtime and stream the data to GH.http://groups.google.com/group/grasshopper3d/browse_thread/thread/8d5... http://puredata.info/ is a free derivate of max/msp hooking up MIDI devices to GH is also cool, but limited due to the 8- bit character of this protocol. MIDI is meant to transport information on e.g. which note to play, not to transport the actual soundfile. OSC is far more advanced and could transport analysis information probably better. i will look up some stuff... frank On Jan 26, 10:02 am, klint lars.renkl...@gmail.com wrote: Wow, PLAY Grasshopper! Need to get myself a midi-keyboard... On 26 Jan, 06:00, damien_alomar dominos...@gmail.com wrote: This is definitely a cool idea guys...I actually did my thesis connecting Music (composition) and Architecture, so this is really up my alley. Although the sound as form kind of thing its definitely cool, I'm personally, I'm way more about the actual notes and those kind of musical structures and what's going on. Anyway, I did a little searching on MSDN and there's a Midi module within the dotNet framework. So, I think I'm gonna start looking into possibly connecting this through more of a composition/notes basis. This is definitely gonna come up with some cool stuff and I'm really wondering what's going to come out of it. Keep experimenting cause this stuff is already pretty darn sweet. dotNET midi modulehttp://msdn.microsoft.com/en-us/library/ms704980(VS.85).aspx -Damien On Jan 25, 3:23 pm, visose vic...@gmail.com wrote: nice, that seems to work better than my previous mediocre attempts posted above (i think no one replied because they didn't want to hurt my feelings). Wavosaur only allowed to export the raw values of the sound wave and i had to calculate manually the amplitude inside grasshopper. That reduced the fidelity a lot. Spectrum lab does just what i was looking for, i have to improve my searching skills :p On Jan 25, 8:24 pm, baldino jonas.bre...@gmail.com wrote: getting there ... :-) http://www.viddler.com/explore/Baldino/videos/7/ On Jan 25, 7:10 pm, klint lars.renkl...@gmail.com wrote: Hope you don't mind me trowing in another music-related idea.. There's plenty enough of different midi-controllers, mixer etc, how cool wouldn't it be to control all sliders etc in the GH Remote Control Panel with real physical sliders. Something like -http://www.lightsounds.com/Portals/0/storepix/xsessionp.jpg Did some search for software to translate the midi-signal from such a controller into values in a spreadsheet, and got quite a few examples that worked the other way around, that is, translate data from Excel to a midi-synth. But maybe someday I'll find something.. /Lars On 25 Jan, 18:24, baldino jonas.bre...@gmail.com wrote: one thing is definitely working: to analyze a whole track and get values in a spreadsheet i found a tutorial here:http://www.designcontest.net/tutorials/spectrumanalyser it is meant for flash, but it shows pretty well how to export useful data with some work, an animation from GH and some editing with a video editor may result in a nice synchronized video On Jan 25, 5:17 pm, visose vic...@gmail.com wrote: Thanks baldino, I'm trying it right now. You mean exporting one line at a time so we can use it in real time? I don't think this method would be the most convenient since every time the file is written there is some amount of lag. In the documentation it says something about using WM_COPYDATA messages to transfer data between active programs, but it seems that even this method is not suitable for real time since it has some milliseconds of lag. But the biggest lag of all will probably be when the geometry is generated. Still, I'm waiting for Damien Alomar to post the part 2 of the excel to grasshopper realtime connection. I'd like to try to connect my
Re: Surface analysis normal vectors not behaving as I expect!
Sorry to bump this up, but I feel like I'm missing something really simple. Any tips appreciated. Thanks, Marc On Jan 28, 12:16 pm, Marc Syp marc@gmail.com wrote: http://grasshopper3d.googlegroups.com/web/extruder-test.3dm?hl=engda... http://grasshopper3d.googlegroups.com/web/extruder-test.ghx?hl=engda... Please take a look at the definition and rhino model I have provided. It is quite a simple definition but I am having some problems with the surface analysis. I am trying to use the surface as a guide for rotating extruded geometry. Here's the concept: I have a wireframe model and a surface that was used to generate the triangulations. 1) I make a plane perpendicular to each line at the start point. 2) I take the start point of every line and find the closest corresponding point on the surface. 3) I find the normal of the surface at that point and use the resulting vector to orient my original plane. 4) On that plane I create a rectangular section (16cm x 8cm), which should be oriented properly tangent to the surface. I can get everything to work except for the surface analysis. When I create a plane perpendicular to the resulting normal vectors, I expect to see a plane tangent to the surface. Instead they all appear to be perfectly horizontal. Therefore my alignments do not work properly and I cannot get the proper structural result (i.e., the deep part of the steel section should be seated perpendicular to the surface at my sample point. Can someone explain what I'm doing wrong? Thanks, Marc S.
Community Components
HI all, I have been following this list for a while now and I am impressed with the number of people developing elegant solutions to problems ranging from the simple to the complex. One thing I like about Grasshopper is that it usings a signal-processor interface logic that is nearly identical to Max/MSP, an audio/visual processing app that has been around for a long time and has a dedicated following. Indeed, I've seen that people are beginning to interface these two programs together, which I find incredibly exciting. I'm writing because one thing I've seen in the Max/MSP community is a huge number of user-defined patches or components that are found in various internet clearinghouses. In Max, you can encapsulate an entire patch solution into a single component, as you can do in GH. It seems that there is an opportunity to do the same thing here. I know there is a file section here, but I was thinking about something more like vraymaterials.de, where you upload an encapsulated GH component with a description, and the user community has an opportunity to dl it, rate it, tweak it, so that the most useful float to the top... what's more, it could be searchable and be constructed with a number of categories (Geometry generation, Data management, Sorting, Math, etc)... Is this a crazy idea? Too much work? Already exists? Thanks, Marc