This video is titled Getting Help. So in this video, I'm going to cover how you access some of the built-in in online dictionaries for both Python and Rhino script. So these two things are going to be accessed separately since they're two separate languages. We're going to start with Python. And if you look over to the left hand side of the editor, you'll see Python listed at the top and you can open that flyout and select something and it doesn't really matter. Select abs and down at the bottom, in the bottom part of our interface, we're going to get a little bit of information, and then we're going to get a link to a site called docs.python.org. So if I click on that link, it will open a browser and it brings me to this site, docs.python.org, and this is really where you find a lot of information about Python. It has a very large, very complete online dictionary, searchable dictionary for finding out about what some of the functions that we're going to use, do in Python. So another way to do this once you have this open, you can go up to the top and even though you're not going to really understand or recognize any of the terms in here, I mean there's one we can print. That's the one we've been using just a little bit. If I go back, there's another one that we're going to introduce in a little bit. Let's see, len, that gives us the length of a list. We don't really know what that means yet, but you can see it's just a sort of useful access if I want to look something up that we've talked about in the course. Another way to do that is just to save this bookmark that's in your browser and you can go to this library reference and then search something there. But I'll actually be honest with you and tell you exactly the way that I typically use it is I'll just type in the top of my browser python, and then some function, something I'm interested in doing. I'll just type in, let's say, print, and then where docs.python.org comes up, we'll click on that and that brings me to actually a different set of information. But oftentimes, finding something in that way, I get a much more thorough understanding of what that function is doing. So part of the course is really over time, you're going to start becoming more familiar with the language and the terms that we'll use in each of the languages in Python and Rhino script. But it does pay to go into this site and hunt around a little bit and look at a couple of things to start to familiarize yourself with that language. So typically, I don't really use this. I did want to show that, but I don't really search Python terms using that. So for Rhino script, there's actually three different ways that I can access help and help is going to come up. I'm going to show them, but we'll focus mainly on one for a couple different reasons that I'll talk about. So in the left hand column beneath Python, there's a flyout that says rhinoscriptsyntax. So if I open that, and let's say we open something like points, pointvector. So I want to point add. So if I want to find out something about that function, I can click on it. And then at the bottom of the screen, I get a bunch of information related to that function. Now, one reason we're not going to probably use this too much in this course is that the text is very small. And so it's going to be difficult to read and refer to it in here. So we're going to use actually an online form, which has the same information and it's actually a bit more easier to use and it has some more flexibility to it. So there is another way that that information is going to come up. If I, let's say for example, if I have this import rhinoscriptsyntax in my code here, and as soon as I start typing rs and hit dot, this flyout is going to come up. And it's going to show me all of the available functions in Rhino script in one list. So let's say we want to do something like, let's see, add, add an arc. So if I double click on that, it's going to load AddArc in, but it's not until I make a hit that first parentheses that the help information is going to come up at the bottom of the screen. So I have to either write in or select that function, and then hit that first parentheses to get that stuff to come up. Now again, this is a bit small and not easily readable. So I'm actually going to show the third way for accessing help and that's through the online help website set up by McNeil. So to access that, I go up to the top of my editor and click on this question mark for help topics and that should open my browser. So as I said, one of the reasons for using this is that the text is a lot bigger, so it's a lot easier to see. Another very good reason for using this is that it's searchable. So the stuff that we get in the editor is not searchable. So we've been using these get functions for selecting data and geometry in Rhino space. So if I just type in get here, I'm going to get a list of all of the functions that start with get. So one of the ones that we've been using was GetObject. So if I click on that, I get all the information not only related to that function, but I also get links to related functions. So GetObjects. It also shows me within the list of functions where it is. So it shows me all the sort of functions that are around it in the organization under the title selection. So that's very, very useful for starting to understand what functions actually exist and what things can do. Now, because this is when we were using a little bit, if I jump back to our editor here, and if we open the code that we're working with, so GetObject. And I'm giving it some information here between these two parentheses, which are part of the function, is where I put some data. And the slots for the separate pieces of data are separated by comma. So some functions don't need any data input. Some functions require some input data and some have some that's required and some that's optional. So how do you find this out, what's required and what's optional? There are some other terms, too, in a Python term in a function, these sort of slots that hold data are often called arguments. So in this case, I'm putting in two arguments. Let me access it here. In Rhino script language, they're referred to as parameters. So a function, this function GetObject, if I look under this title Parameters, it tells me exactly what it's looking for. And as I can see, all of those things that it's looking for are optional. So it's looking for a message, a filter, there can be some preselection, and there's a couple other things and pieces of language that we don't understand yet like bool. And then below parameters, I have returns and return is what the function is going to give me back. So when I run it, almost every time I use a function, it's going to return something. Whether I save that, decide to save that thing into a variable or not, that's going to return something. In this case and what we demonstrated in the last video was that it returned a guid, returned the identifier of the object that I picked, which was a box. Something else very handy about the Rhino help is that, and they'll do this in the Python help, too, is that they'll give you an example. So if I wanted to just select some tool, select some function, sometimes, we call these things tools. If I select some function in Rhino script and I want to just see what it does, I can just grab this example, copy it Ctrl+C, go into an editing window, And just paste that code in. And then I could run this and I could play around with it and it's doing a couple of things that we haven't talked about yet. So this is a conditional statement. So it's actually checking to see if it's actually selected something or not. So it's going to make that do that check before it actually prints something out. The other thing that we saw if I go back to my browser, the other thing that we saw was this filter. So typing rs.filter allowed us to filter the types of objects that we wanted to select. So this is a real basic introduction to these help menus, but we'll be accessing this throughout the entire course. So we'll be going back and picking things out and using this in reviewing parameters and returns for a lot of the functions that we'll be using. So one of the things that we understand is that with all this information there, you don't really have a lack of information, finding out things about Python or Rhino script. What you really have is a glut of information. You have way too much information. It's sort of like if somebody asks you to learn a new foreign language and they gave you an entire dictionary of that language to learn it. It would be very, very difficult and it's very, very daunting and overwhelming. And so I understand that about looking at these dictionaries. It's a lot of information, it's a lot to take in. So what we've done for the course is we've created what we call a cheat sheet and this is going to be accessible through the course. And we've compiled into this cheat sheet all of the functions both in Rhino scripts and in Python what you need to know to do the work within the course. You're certainly not limited to using these functions, but really by the end of the course, these are the functions that you should know and they're all on this one sheet. Also, what we did was we linked these. So this is an active sheet. So if I wanted to use this function called AddPoint, I just open up this document, click on AddPoint, and it's going to open Points in this browser. Let's click on something else. Let's see, rs.RotateObject. Okay, so it brings me right to that function, tells me a little bit about it, shows me the parameters that it needs. And so this is a document that we'll, it's a live document that we're revising and updating, but it really shows you all the functions that you need to know to complete the work in the course. The other thing that we're going to do is for, at least for the initial first several assignments, we will suggest the functions that you might need to do the work within that assignment. So the ones you probably want to look at to complete that. Again, you're not limited to using just those, but it really gives you a reduced abbreviated version of the dictionary that's not as overwhelming as looking at the whole thing in its entirety. So in the next session, we'll start to talk about the basic building blocks of code variables.