Beginner's guide to Grasshopper!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] get out there you're watching the Aussie BIM guru and today I'm going to be running a quick course in grasshopper forerunner so essentially a course that lets you spring into action and get started so I'm going to show you just roughly how the software works and then from there you can have a play with it so a grasshopper I probably already touched on it briefly in my crash course for Rhino video so it's built and integrated into ronu by McNeill and associates highly recommend you watch my crash course video if you're not aware of how Rhino works or the fundamentals but if you're aware then feel free to watch on so this video is really for people to have very basic experience of Rhino obviously if you've got advanced experience great you probably already know about grasshopper but ideally it's tailored towards design and computational architects who are looking to get started quite quickly and ideally you've got a bit of familiarity with dynamo or the concept of coding or visual coding so grasshopper if you're not aware of it is basically a visual coding language which enables us to enhance how we put our designs together it does a lot more than that but it's most commonly known to create quite advanced and complex forms with very intricate underlying form based algorithms that generate them but it can do a lot of other things as well such as machine learning and it can do a lot of iterative functions that would take other software quite a long time including dynamo so in terms of how it benchmarks itself versus dynamo I will do a video shortly that shows how you can benchmark the two platforms quite easily to prove to your company that it actually is superior to dynamo when it comes to dealing with geometry I find the interface is much more superior as well so this video will show you some of those features that I think are far better and also on the horizon for people that aren't aware of it there's a package called runner inside which enables Ronay to run in many platforms in particularly rabbit so there is the potential that the grasshopper may actually overtake dynamo as a scripting language to interface with rabbit if this keeps moving in the direction that it is so quite exciting but to get started I'll just give you a few tips of what you need to do to actually start using grass before I move into it so you can get grasshopper from this with this website here it's included in Ronnie's 6 by default but earlier versions will need installation so run a 5 and Rhino 4 will need to be downloaded from this website from the links there's some beginners tutorials which I highly recommend you watch I'm not going to show you everything about grasshopper from the beginners level I'm really just going to show you the interface some tips and tricks and some little things that I really like about the program having used it so far for about 2 weeks but there's a great series by David Rotten that I recommend you watch that really helps you get started with grasshopper and shows you some basic functions to teach you the fundamentals of lists logic and geometry logic in grasshopper so there's just little videos that you watch which have Vimeo links and you can just click through them and follow along with each one and I found they were great to get me started there's also a lot of custom add-ons available at the website food for Murano they usually named after other animals which i think is quite quite funny you know you know a little bit cutesy which is a nice touch and there's a really strong community of developers in the grasshopper community and a really strong user base as well so you can just find them on this website you can search for them there's also a really great website that I found which has our really good component references for both custom and default nodes in grasshopper so it has a massive library that you can search through if you're looking for a particular function this could be a good way to find it so anyway but let's on spring into action and actually look at grasshopper just a little bit and I'll show you some tips and tricks that have helped me so far and using it so we're just going to jump into Rhino the most important thing to start grasshopper is you just type grasshopper so assuming you have it installed there's grasshopper so sometimes when you open it you may have a little pallet of files that it's prompting you to open you get a little history dialog sometimes I'm just opening for the first time so I'm just going to create a new document and essentially it will just start by having to look around at our interface so I might just maximize grasshopper and I'll just save my script as well before I start so I'll just call this unnamed okay so I'm probably the two most important things to note is the first thing is we're on a canvas this is our coding or our node in canvas to work on in grasshopper so usually people start in the top left or they zoom out and they start in the middle from what I've been told there's a lot of buttons around here I won't focus on all of them it's important to note some of the movement commands so can is your right right mouse button you can zoom with the mouse wheel and that's pretty much it there's no orbiting as far as I know each set of functions or nodes is stored under these tabs by default you'll probably have all the tabs up to here beyond this point these are all custom packages that I've downloaded from food for Reiner it's has some really handy ones that I'm enjoying using a ladybug and honeybee for environmental analysis header opt arrow has some really good mathematics functions that I found quite useful kangaroo for physics it's been really interesting I believe it does a lot more than that lunch box up analyzation which has been very interesting and gee how i've been using just to transport excel data but for now we just focus on some basic notes so I think probably just start off by looking at a node so you've got a whole bunch of nodes here but I'm just gonna go on get a curve node and I'm Gabel to get a line between two points and note that all of these panels have a lot more functions hiding within them so if you click on this little header in each one you'll get a lot more functions so there's so many nodes to learning grasshopper I'm only really just starting so we'll just drag and drop and I'll just zoom in so you'll see by default this is probably what your nodes will look like when they first come in it's important to note that there's a few ways to look at nodes and I'll show you that in a second but let's just look at the anatomy of a node so we have inputs on the Left outputs on the right and just the name of the node in the middle so everything that's happening within the node the node happens within this body essentially and data is processed through the inputs and the outputs so for anyone this use dynamic it's exactly the same if anything dynamo really copied the logic of grasshopper or they both copied the logic of visual coding in a nutshell okay so let's actually just set up a function here so we need three inputs on our function so we're creating a line if we need to check what we're doing we can hover over our inputs you can see we need a start point and we need an end point so before we move on I might just show you how you can display these nodes as well so if you go up to display tab you can change the icons which I notice a lot of users end up doing the reason why this can be good is because you'll start to recognize the icons in your ribbon and visually match them to what you're looking for it's up to you what you find easier at the moment I've been working this way but I'm not finding it's really helping me that much so icons can be helpful as well some of the icons are a little bit abstract and don't always really tell you what the nodes doing but you will get used to seeing them over time okay the other thing that is really helpful for beginners is to turn on drawer full names this actually tells you what your inputs are called and your outputs are called which can make it so much easier to follow what's going on and for now I'm gonna leave this on okay so the next thing we're gonna get is we're gonna get a couple of inputs from runner so you can source geometry out of runner typically it's just stored under these commands so under the geometry commands we have a lot of inputs that we can receive for now we're just gonna get two points so I'm just gonna click one point and I'm gonna get another point and if I just minimize runner or minimize grasshopper and go to runner I can place two points in runner so let's just place one and two so if I right-click on this node I'll get a whole bunch of options and really the only ones that we're interested in now is set one point or set multiple points so we're gonna go set one point and I'm gonna pick a point and you'll see now our input is no longer orange so orange is basically a warning telling us that we need to check this node you'll see here if we hover over this that it's telling us that the parameter failed to collect data because it has no point but as soon as we give it a point we solve that warning and you'll see that grasshopper previews the points with a cross this you can change what the points look like under your display options but you can also right-click on nodes and turn off their preview and you'll see that now we know to see that that output so it's up to you how many things you want to preview during the course of your script but every single node that collects data that's geometric will display a preview in Rhino but note that it's only temporary it's not creating a permanent point it's just creating a point visually okay so let's connect up on now so we have a start point note that nothing happens at the moment but as soon as I connect my end point we just gained a line in Rhino so the really great thing about grasshopper is that these are all dynamically being controlled so if I move one of these points around you will note that it will actually update so grasshopper follows Rhino essentially so as this changes everything else will update and this is really the power of grasshopper it will constantly update itself and it works so fast that I haven't seen it really be a problem yet whereas in dynamo you might be used to pressing run every time you want to update your script so that's a different way of working and it does take some getting used to okay so probably beyond this so that we've looked at sourcing geometry from runner so how about we look at getting another node so we're gonna get a divided path node and we're gonna divide this line into some points B instead of going to the tab let's say I don't know where this tool is I'm gonna right click sorry double click I missed in my dynamo version where you right click instead and I'm just gonna get divided curve so you see even if ever I've divided path it sort of knows what I'm looking for so you'll see now we need a few things so we need a curve we need a count and we have kinks but note that we don't have to specify kinks because it has a default value of false so we're gonna take our curve and look at that we didn't even specify the count and already it's being divided that's because count has a default value of 10 let's say we want to change this from 10 so what we're gonna do is we're going to set up a number slider so essentially you can get number slider I believe and mmm I'm not sure if it's under this area I don't even know where this one is yet actually there it is it's not the input so if I just click on this I can create a number so so by default it's between zero and one this isn't suitable for this case so what you can do is go to edit and a lot of nodes have a lot of properties within them that you can edit so I'll show you some of those and some of these other ones shortly this one's a special one so you can go edit and you'll get a whole bunch of properties about how your slider is set up so you can have a rounded figure you can just have integers which in this case we want only even or only odd so and there's a lot of things you can change in this particular node itself so it's always worth right-clicking and having to look at what are what you're dealing with so let's say our minimum divisions are through maximum divisions note that I'm typing and then committing with this stick button let's say they're 20 cool so you can see that our range is 18 this is basically our value so if we okay this you see now our slider has changed so let's just connect this up to our count and immediate you'll see this is dynamically updated and what's really cool now is you get to see the feedback visually occurring and you see how quick that is it's very quick and obviously it's not it's not freaking out it's not slowing down it's not spinning it's very quick so let's just connect that up and let's um let's get a number line and we'll just connect that up and let's copy all these nodes as another set and I'm gonna specify these two other points to create another line that's being divided so we'll go one point and two points and then we go and you'll see that we can adjust these separately from each other so let's just connect these together again using our start point and end point and you'll note that we get a whole bunch of parameters about the line we don't just get the line itself so we get the points as a list tangents and parameters this is for our divided path we can also get the tangents at each point as well along the curve so we're getting a lot more data about our elements than you might be used to seeing a dynamo which I find really useful it's really nice to have this information ready in so many nodes like this but what we're gonna do now is we're going to take three lists of nodes so note that these are stuck on here at the moment so I have the choice of connecting like this or I can hold control and disconnect my node so if I hold ctrl it will unconnect I can reconnect and I can hold ctrl note in this case when this one point is connected all the points are going to one point that's by default most nodes in grasshopper default to what we call a longest lacing version so even though we have 10 points here we only have one point here so basically this one point is going to be sourced 10 times what we can do instead is let's connect these two points so and at the moment note that we've divided these 3 lines 9 times each so they have an equal number of points to connect if I start changing this number note that they start sort of clumping on the end so this is how longest lacing behaves so it goes to the last item in the list and will force it to basically clump at the last item so you can see that it just keeps using the last item until it runs out so lacing is a little bit different in grasshopper to how it works in dynamo which is good the way it handles lacing is much more efficient than dynamo where you right-click and specify the lacing per node so there's actually functions for lacing so we can say longest and we can force a longest list or we can get a shortest list and a shortest list works differently so the way that you work with lacing is you connect the three things you want to lace and you use those as your outputs and instead our lacing will behave differently so you see as we run out now we just stop using that last item so you'll see that it trims it to the end in this case and most lacing nodes will have a few options you can trim from the start you can trim from the end and you can even interpolate to try and roughly match the length of the lists through the indexes that are being used so I find that's very intuitive there's a more complex version of lacing called cross product so that one pretty much sauces every possible option between two lists so you'll see this one there's a lot more complicated it connects every possible outcome between the three lists so we use that one sometimes when we're trying to create a lot of outcomes in this case let's just keep our shortest lacing on at the moment and we'll just go equal equal divisions of nine each okay so essentially we've created dynamic dynamic feedback and obviously as this updates you'll see everything else is still updating very quickly so it's very exciting just how quickly this software can work and this is obviously just the tip of the iceberg to be honest there's so much more you can do than just this a really handy little tip with number sliders that I found out quite early if you double click and you type in a number less than or a greater than sign a number say ten and another one and say 20 and press Enter it will create a number slider between those three numbers set at the number you put in the middle so that's a really quick way to create a number slider without having to go into edit and change the properties that one all the time keep them on to your most nodes you can actually right click and change their name so I could say divisions two and I could call this one divisions one this way your users sort of know what you're trying to do with your script obviously some nodes can be used more than once as well so I can just use one slider for this particular set of nodes and you'll see now this controls both of those inputs so it's important to know you can connect a lot of things more than once if you ever want to change the destination of more than one wire at once which is what's connecting these all up I think you hold down I think it's control shift yeah so if you hold ctrl shift and click you see I get to reposition these to a new one and there we go that's how easy it is in order to connect those it's important to notice - and one thing I really like about grasshopper is you can change the way the wires work between nodes so let's say this this node is a long way away and it's going through all my nodes and it's very hard to see where it's coming from I might want to actually right click here and I can set my wire to a faint wire or even to a wireless wire so I hid in a wire and it becomes a receiver if I click on the node it still shows me temporarily where it's going back to but it makes it a little while a symbol and it really cleans up my canvas which I really like I find that really helpful in big scripts when it's quite difficult to navigate where wires are going so it really cleans it up and I meant you can put all your inputs right at the start of your script even if they don't happen until maybe 2/3 through the canvas so really useful so probably beyond that the next thing we'll look at is what's called a panel so a panel works a little bit like a code block in dynamo essentially it also behaves a bit like a watch node so if I plug this into at the end of a data stream I'll get a list format of what my daughter is which can be really helpful just for analyzing data output likewise I can go and get other things and plug them in and you'll see each time it gives me a representation of what those items are really helpful panels can also be used for holding data or values so instead of having this slider let's connect up a panel instead and you'll see by default it's giving me a red node so a red node and it means that something is not working it needs to be addressed you can see here that I can't convert text to an integer but what I can do I believe I should be able to put in a number there we go I put in five and you'll see now this can behave as an input as well so that can be a really helpful input method so that's really useful you can also use panels in order to hold on to notes or also to create lists of data so if I right-click on my panel and I turn multi-line data on and I go one two or three or four or five we end up with a list of five values that we can carry forward as in a list structure so immediately there's a lot of power in the panel so just be aware of that quite useful to know okay so I think after that I'll just quickly show you expression I found expressions really helpful these are just a way to write a little formula so if I just look up expression turn expression okay you got it and let's say I want to know your where this came from in my palette so I believe that to find something in a palette you hold down ctrl + alt and click and hold and you can see it tells you where it came from it tells me it's from maths and it's under scripts likewise I could hold down control I'll go to curve and you'll see it's telling me it's under divisions in curve for divide curve so really easy to find components if you weren't sure where they initially come from so here what I have is an expression editor so let's just create a list or a panel I'll just create a new panel and we're just gonna create two line items actually we'll create just a 1 and we'll create a true panel okay so what I want to do is create a function that multiplies these two elements so the way that expression editor works is you just double click and you can type in a formula essentially there's a lot of ways you can set up your formula let's just say we want it to be X actually we'll do a plus B so what I've done is I have to find two variables that don't exist in here by default so I'm going to right click and change variable X to a and variable Y to B and you'll see I still get a warning at the moment because these two variables don't exist so I'm just gonna connect this and connect this and you'll see now my notes warning is satisfied and you can see my result is 3 so this essentially passes through an expression expressions can be highly complex so just keep that in mind now you may have noticed when I zoomed in on this I got what's called zui or zoomable used it interface some components in dynamo when you get close enough gain the addition to add modifier and tweak the way that they're set up so let's say I want to make formula that is just a plus a so it's true I essentially I don't need B anymore so I can just remove that parameter and you'll see that now I've simplified my formula if i zoom out and want to add another parameter eventually I lose that ability because my zoomable user interface is too far away so just be mindful some nodes will have behavior obviously this one does not but this one does so really helpful to know I think so from there I believe that will look enabling and previous so at the moment I can disable any part of this script and stop the data from going through so I'll just say right-click enabled and you'll see that all my data stops up until this point note that all the wires become orange essentially that's their way of saying no data is passing through these wires I'll rien a belissa start my scripts running again likewise I can turn off previews which can be quite helpful for things when you're seeing a lot of copies of geometry in a row and on top of that you can also change the color of your preview by using a node called custom preview so I'll just double click and look custom preview and essentially this is a special type of node that takes a set of geometry and applies a color to it so let's take all my lines and I'll hide my original ones and we'll create a color swatch a color swatch is a great example of a special node where if you double-click on this component you get a little cube where you can change the hue see that now my lines are changing color as well so really helpful to know that you have the ability to change the color of elements in your preview I find this really helpful but note that there's a little jagged edge after the node that means that no data goes past this point it's the end of the line for this node it's just there to change your color and that's it so important to understand what some of those colors and also node representations mean so beyond that I think I've probably almost got to a point where I'll probably call it a session until we get to some more script building videos but I'll just show you a few navigation techniques I found really impressive dynamo one thing I really like is this thing called the Markov tool which essentially just tries to guess the next thing you're going to use based on the last thing you have so let's say I put down a custom preview note that it's trying to figure out what I should use notice it a swatch came up so the Markov tool based on my behavior and grasshopper predicts what tool unlikely use after this so that's really cool because I probably will use a swatch tool next if you get used to using the Markov tool you can save yourself a lot of time in grasshopper so really impressive that this tool exists I think it's highly intuitive and it's all based on your behavior too so the more you use grasshopper the better we'll get it predicting what you're going to use I find I'm already using the Markoff talk quite a lot and I've only used it for one week so far just over a week so beyond that any node you can right-click on it and go to a little help dialog that tries to explain the inputs the outputs and what what it does some things are more descriptive than others it just depends on what the know it is so you'll see there this is a really helpful one it gives you a lot of information about what's happening so there you go and you can also contact the developers in some cases cases as well I haven't yet so I don't know if it works but an interesting little feature okay so one thing I haven't touched on yet is what's called the radial menu so if you middle click at any point you'll get a whole bunch of commands on available on the quick quick command essentially so one really helpful one is you can obviously middle click and you can turn off preview really quickly so I can disable preview I can disable OneNote as well really quickly so let's say see you just having to click a few times and navigate through menus another really helpful thing available on here is the find node so this little magnifying glass so if I go to find I can start looking for things such as wine and see what nerds I have in my script that relate to lines and like that it really quickly highlights what I'm trying to find maybe even just panel and you'll see that I only have a few things now that connect up and tell me where I should be looking for panels and I can obviously start navigating through these and finding them so in a really big script this can be really helpful I believe it even finds custom names so if I look up divisions true you can see it nice to look for those divisions that I set up so a really cool command to find your way around grasshopper I think beyond that that's really as far as I was going to go today probably one last thing that's quite useful especially for for dynamo users is that you can group notes as well so if you right-click whilst you select the big set of notes then go group you'll basically put them together into a group and you can change the color of it as well using another hue selector so really cool and you can also right-click and change the name of the group and it gives it a little label so really really helpful I think just a lot of helpful little tips to get started but there's also so much more under the canvas in this tool I just highly recommend have a play with it and just sort of familiarize yourself with the components what they're called what they do you can expand that a little bit if you need to see a few more nodes but there's always gonna be quite a lot of them hiding and obviously as you go through the ribbon you're working with your way up through types of geometry so you'll start off with parameters mathematics lists vectors curves surfaces and meshes and be reps within the I think they're within the mesh and the surface components so there's a lot of geometric definitions within here and obviously you can expand grasshopper considerably with custom packages so hopefully this sort of helps get you started using grasshopper I highly recommend that you look at the basic tutorials if you haven't already and just haven't play with it because I'll start doing some tutorials on some basic to medium level scripts just to share what I'm finding in grasshopper so far and I want to share a few workflows on ladybug as well which is a custom package for environmental analysis but that's pretty much all for today so hopefully that helps get you started definitely recommend you look into it it's a great program so thanks for watching today I look forward to sharing more videos on grasshopper in future probably in two weeks time if you have any comments or feedback about grasshopper or the video feel free to leave it down below or get in touch with me by email thanks for watching today and hopefully I'll see you in the next video you
Info
Channel: Aussie BIM Guru
Views: 4,500
Rating: 4.9615383 out of 5
Keywords: aussie, bim, guru, cad, computational, tutorial, demonstration, how to, educational, rhino, grasshopper, beginner, start, learn
Id: _f7oH2lsUrU
Channel Id: undefined
Length: 28min 49sec (1729 seconds)
Published: Wed Oct 09 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.