A new Rhino 7 tool that has changed the way I work (Tutorial... kind of)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

"how thicc is ya boy" LMAO

But seriously thanks for the video! I had no idea this was a feature

👍︎︎ 2 👤︎︎ u/Brawght 📅︎︎ Oct 13 2021 🗫︎ replies

I was laughing the whole vid! Hahaha

👍︎︎ 1 👤︎︎ u/migueltamad 📅︎︎ Oct 13 2021 🗫︎ replies
Captions
[Music] hello hello hello hello you beautiful design nerds i'm back with yet another video and this one is well i'm really excited about this one usually i get excited about videos that will show you a new way of how to do fancy geometry but this is not going to be the case it's not going to be anything fantastic in a sense of geometry it's actually opposite to that it's how do you create quality of life improvements to yourself by using the new tools that are available in rhino and i'm going to show you one thing that i found that is just blew me away and i'm really really happy to actually you know put it put this out there and show it to the world so to say so without any further ado i'll i guess i'll start talking so grasshopper scripts right usually when you have a grasshopper script it's a long boy and it's only you who can operate with it and once anyone else opens it it's really hard for you to or for the person to understand what the hell is going on because there's a bunch of nodes so while i was kind of going around different tools in rhino i found this grasshopper player grasshopper player tool that i didn't really notice before and i started investigating what the hell it is and oh man it's quite something i i believe it's a game changer i really do so if by default we just type in grasshopper layer nope not that grasshopper player and hit enter it asks you to give it a grasshopper file right and i currently don't have one we will need to build it but basically the way it works is it takes a grasshopper file that was made for the grasshopper player and without even opening up grasshopper it will run that script while asking you for inputs for that script in the command line so i will start by showing you a very simple example and then we'll do something a little bit more um let's say down to earth and a little bit more that's actually useful in a architectural design setting because i'm an architect and i do architectural design so it makes sense for me to show you something that is useful for architectural design if you're just a just well no shouldn't say that if you're a product designer it's still very very strong and useful tool you'll see so let's just start by going into grasshopper and here under utilities you can see that if you're running rhino 7 by the way very important that you run rhino 7 you can see this context bake get geometry blah blah this stuff that has the purple line underneath it these set of nodes that are new in rhino 7 or maybe in a new version of grasshopper these notes work together with the grasshopper player and are made for grasshopper player so the way they work is you get some geometry right you get some geometry in you get some i don't know some some some numbers um get number you get that one in right and then you see what happens with the geometry that you're going to get and with the numbers that you're going to get right so let's say i want to be able to populate any kind of form with a bunch of points and then create spheres on those points i don't know something very very simple just to get the point across right so if i have a surface and let me just quickly rebuild it so that it's a little bit more complex and just move it around move some points around yeah good enough you know you have a surface you should be able to reference it in and for now i'll just keep these guys somewhere here and i'll just do it with you know your regular grasshopper nodes so i'll just reference it in as geometry right click set one geometry now these are linked then i will use populate properly geometry i'll populate it with points with some number of points let's say 120. bam and then for uh around each point i will create a sphere sphere bam oh that's that's a heavy boy isn't it maybe a sphere is not not the best solution here uh let's do something more like a mesh sphere there's sphere where where is it located it's just under primitives if you don't have a mesh sphere you can just use any kind of other other node for instance a domain box that that would work as well you know so you can either create a bunch of boxes or you can create a bunch of mesh spheres i'll go for their spheres here with radius that is also going to be some sort of a number uh let's say 20 i have no idea how yeah 20 is way too much let's go for one one is too little let's go for five there we go right so now we have a very simple script right so on every surface we can get 120 spheres that have radius of three right that's our definition now if instead of just having it like so if i say that we will get the geometry from rhino right like that so i just delete the referenced in geometry and for the number of points or number of points instead of a slider we will get a number we can also get an integer here under utilities get integer that's like full numbers without any comma so i guess we can get an integer here and then for the radius we do give it a number like that and then the output of this would be would need to be baked back into rhino right so under utilities there's also context bake this guy right here click there connect you're done you have yourselves a very very complex very interesting script right it doesn't work the reason why it doesn't work is because it's you know it's used for the grasshopper player it doesn't really work right now with the surface because it's not reference then that's fine we will fix it i will uh talk about these notes just a tiny bit if you right click on them there's a bunch of stuff that you can change so for instance here under get geometry i can choose what kind of geometry is it going to be so it's not going to be points i untick it it's not going to be curves it can be surfaces it can be b reps it can be sub these and it can be measures that's fine then for how many geometries um the the script should be waiting for i want it to be at least one right so that's fine and at most well for this particular script also one right i just want to work with one surface at a time so i just choose at most one then here's the name the geometry i'll just say guide surface or guide geometry and then for the prompt i can i can click on the prompt and i can right here just give me the good stuff right same thing for the integer for prompt i can how many balls do you want right and at least it needs to be at least one ball and at most i don't care so it can be an infinite number um sorry this is not how many yeah this is not how many this is actually how many inputs do i want so i do want only one input because it's only one geometry i only want one number to be inserted so at least one and at most also one that is not a number let me change to english and now yes one number and then for minimum so that number what's the minimum range of that number and what's the maximum range so the minimum range is at least one and the maximum range i don't need to define it it can go until infinity i should probably define it because some of you will try it with 50 000 and it's gonna crash your computers but you know it's a it's on you it's on you you should know better same thing for the get number um oh yeah and i can here instead of get integer i can just call it um amount of balls and then here size of balls right with the prompt is how big are your balls right with giving it also at least one number at most one number minimum should be zero or let's go for 0.001 something very very small and for maximum we don't define maximum we can say that you can have as big of a ball or big balls as you want and that's it that's it now we have ourselves a setup that should work right so i will just save this grasshopper definition save document i'll just save it to desktop balls hit save we're ready to go okay and now back to this bad boy here now the grasshopper is not running right so i will just type in grasshopper layer hit enter and it's going to ask me for the definite where the definition is i'll select the bowls hit open and now you can see that it's here as it asking me for the questions that i wrote down give me the good stuff here's the good stuff how many balls do you want um i want to have like 200 of them how big are your balls let's go for they are five units big voila it just makes a bunch of balls right so see how powerful this is because right now you can have a bunch of scripts that do simple stuff like this well not like this but you get it you know simple stuff and you can just have a library of that and instead of doing all of the repetitive tasks over and over and needing to fish out where the hell your definition is and reference stuff in you can just use the grasshopper player and do it this way this saves so much time so now enough about the balls let's do something a little bit more architectural i'm going to actually by the way everything that i do i do in millimeters so if you want to follow along just do it in millimeters um i'm going to create a box that is let's say ten thousand millimeters that is not ten thousand that was a thousand i'll do it again ten thousand by uh let's see 4 000 by 3 000. right a big box here and i'm going to move it up and rotate it or come on rotate it and yeah i guess this this works i'll just boolean union these two boxes together so we have ourselves some sort of a form and this is an architectural study right of just volume just think about it this way usually when you showed something like this to a client the client will not really understand the scale of things and so on so what i really like doing is i like adding windows and doors and stuff like that to the volume to make it a little bit more let's say user friendly right a little bit more friendly to to people who are not used to these three-dimensional you know very simplistic shapes so i'll just hit it with a shell command and i'll give it thickness of 300 300 millimeters i'll say that this is open this is open this is open this is open hit enter now we have ourselves a thickness for this already starts looking a little bit more architectural right and then i'll just cut out a few a few holes or where i would want the windows to be and i'll be very let's say pragmatic about it i'm not going to think about too much about the composition or or stuff like that just a bunch of holes here and there right and all of these holes have different proportions and different heights and so on and maybe let's add one more in here actually i should probably do it properly with a three point box like that push it in somewhere here [Music] yeah sounds about right scale skill 1d and just make it wider push it up yeah there's just going to be one window here i don't care okay and then we do you know the old trusted boolean uh boolean difference for the building with the boxes that we've made the negative boxes then we get rid of the boxes because i forgot to tick mark one thing and we have ourselves you know a carcass carcass now that is not in english it is an english word but it doesn't mean what i want it to mean we have ourselves like an unfinished building let's see it like that just a structure now to add the windows here what i would usually do is just you know create a three point um three point rectangle take it scale it scale 1d scale it to be from here to here let's say a meter click there copy you don't need to follow along i'm going to be deleting this by the way at least sorry at least this portion uh then scale it to fill in this whole thing offset you know offset it inwards by whatever amount you want i'll just use three centimeters let's lock the oops that that was the delete button let's lock the the building all together offset that inwards like that create planner services for this create planner services sorry for the frames uh create planner services for the windows themselves or for for the glass of the windows um take the glass parts offset surface them inwards by zero point zero oh sorry that we're in millimeters so by 20 by two centimeters and this bad boy gets inserted inwards or offset it inwards offset surface the frames get offsetted by let's say 100 millimeters right so that means the windows will need to move in by some amount i don't really care and we have ourselves you know windows hoorah the problem with this is that i would go around around the whole perimeter and for every you know window opening i would create these kind of very simplistic windows and then the client changes his mind or we just have a discussion with the client and i need to make a version 2.0 or then version 3.0 version 3.1 you know and everything is constantly changing and the proportions of the windows are constantly changing and they're rotating and this i'm just wasting so much time doing this that it's just bad right so instead we are going to do a script not this kind of script a new document a script for the windows i'll show you how i kind of treat it first of all i need to decide what kind of input i'm going to have and that is just going to be i want to just give it a rectangle a bunch of rectangles for every opening i want to create a rectangle that's it right so i'm going to give it a bunch of rectangles and let's say that this rectangle right here bam bam three-point rectangle and this rectangle right here bam oh come on three points please like that and one more ah let's just use this one why not three points from here to here here these three rectangles are going to be my like test subjects right for for creating this script so i'm going to reference them in set multiple curves and i'm going to first of all divide them up into like proper proper sizes because for instance a facade like this would be very very expensive to do in or window opening like this would be very expensive to do with a single glass you usually want to have vertical divisions right so i will want to divide this up and the way i do it's like a million different ways of how you can do it the way i'm going to do it is i will say that i'm only interested in the top line and the bottom line of this rectangle i don't care about the the the vertical lines i'm all i only care about the horizontal lines right i'm going to extract those and then i'm going to divide those lines into segments that are as close to let's say one meter in width as possible or some sort of variable so how do i do that it's a little bit yeah it's not going to be pretty but let's say if i explode explode these curves oh and i probably should do the bifocals there you go now you'll see the the names of it if i explode these curves now i get four curves for each of the rectangles right the and then for each of these i can say what's their direction are they horizontal or are they vertical right so i'm just going to ask um how do we do this let's do evaluate evaluate curve so we'll do evaluate curve add some sort of parameter and the parameter doesn't matter these are straight lines right so the parameter like the direction of them doesn't change so i'll just go for 0.5 you know the middle point and i should probably just do it this way 0.5 just in the panel a slider works as well but panel is smaller i like panels that in that way for that reason um so we get ourselves tangents tangents are directions right so if i take these tangents and i deconstruct them struct vector if i deconstruct these tangents i get their x y and z coordinates right and if i were to check those z coordinates you can see that z is if it goes up it's plus one if it goes to the side it if the line is completely horizontal it's zero and if it goes down it's minus one we only care about the ones that are zero right so i'm going to take those tangents and i'll ask or the z that component of those tangent vectors and i'm going to ask yo are you very close to zero so i'm just because sometimes you you kind of mess up the 3d modeling and you don't want to deal with the tolerances so i'm just going to ask yo are you larger are you larger than 0.001 you know some number again instead of a slider i'm just going to use this a panel like that and it's going to give me a bunch of yes and no answers and with those yes and no answers i can cull pattern call pattern i can remove the segments that's the list that i'm calling the segments that are actually larger than 0.01 right pattern what oh smaller than smaller than my bad my bad i'm sorry i'm sorry don't yell at me smaller than right so you can see that it's weird because only this segment got removed and this segment got removed and the segment got removed the reason for that is because this vertical segment is -1 meaning that is it's indeed smaller than 0.001 right so that's a problem how do we fix it well quite quite simply actually uh we can ask it are you um are you also smaller smaller than negative 0.001 right because in doing so we're basically saying that the range that we want is in between minus 0.001 and 0.001 i know that you're thinking you could just ask are you equal to zero but again i don't want to deal with the tolerances so now with this done i need to somehow join these up together and the really nice little tool that does that is called or gate or so either this is true or this is true if either one of these are true then this is going to say true and thus it's going to cull and it doesn't work hello why or or should it be and wait let let me double check i should have prepared true true true yes yes yes yes indeed indeed indeed it needs to be and it's not or it's and right isn't it no it's not god damn it i'm making a fool of myself wait okay let's let's do it the other way around jesus christ this is falling apart quite quite early on let's do larger than okay let's do it other way around larger than 0.01 and then if i just connect it this way oops sorry if i connect it this way then it gives me only that but i can right click on the p input here and choose invert right click on the p choose invert and then we're back to normal and then i think if we do and let's see so this gives me true false false false yes that's good and then this one needs to be smaller than like that like that so i accidentally deleted the other one the other one you shouldn't delete the second smaller then should you should keep like that and this one gives me through here so now if i say or gate or between these two and i check then i have two true statements yes that is good okay saved saved instead of uh smaller than for this one you just use larger than okay we're back we're back to where we were up until here there are no variables that we mess around with it's all static right so we have ourselves the two curves for each branch right then i will use um divide curve component divide curve and it's going to ask me yo how many how many divisions do you want and i don't know how many right because i don't know the lengths of them and for now by by default it says 10 for every one of them i don't know no we're we're not doing that so instead i'm going to say yeah what's the length what's what's the length of the curves and if i were to take that length and i were to divide it by a desired length you know of this curve i would get an approximate number of um segments that we should have to actually kind of that we should have to add to make up the full curve god damn it my mind is just going places and i really want to do justice to this tool bear with me i'll i'll get the ball rolling real fast okay so we have lengths right and if i just give you just show it to you 2.3 meters right right here so if i take those 2.3 meters and i divide them up by a thousand and 100 millimeters 1.1 meter right here i'm going to have 2.15 segments right this is how many segments of 1.1 meter we need to kind of fill in the the void here right with with the panels uh with panels that were would be 1.1 meter long so then i can say well this guy wants us to give it a full number and here we we will never have almost never have a full number so i'm just going to say give me an integer change this to an integer right that and now if i check it's two segments okay cool i connected this way and now we have one two three one two one two three so i kind of know that i kind of know that this is the first curve right or or the first rectangle and these two are the second and the third one just by looking at the data tree here so we have successfully we have successfully divided the the curves and we have successfully created what do you call them parameters parameters on the curves we know where the points are located in terms of the position on the curve right so with by using those those parameters we can then shatter these curves into parts chatter we shatter the curves with the parameters and visually nothing really changes right visually nothing really changes but if i were to check it here [Music] how do i how do i show it to you properly instead of one curve here now we have three right instead of one curve here we have three here we have two curves here we have two curves which means that now i can actually try to take the curve from here and the curve from here and try to loft them it's not going to be easy because they are in their own data branches and the data tree by the way looks just something like oh my god where is it no not graph mapper param viewer there we go just something like this right pretty hard to to understand what the hell is going on but the the principle of it is pretty straightforward or at least it should be pretty straightforward i wonder why is it five there or six one two three four five six and here we have sorry uh just give bear with me for a second here we have two okay that's that's fine that's fine so what we want to do is we want to first of all simplify this bad boy right click simplify the call pattern and here we have three rectangles like three data branches with two curves in each branch right which means that we need to mess around with the data tree here and this is not going to be a tutorial about the data trees if you want that that is on my channel you can find it if you just type in data trees grasshopper but here here here here we are going to do it the old-fashioned way of how tutorials work it's repeat after me style of a tutorial i'll go to the tree i'll choose the very very naughty naughty tool called pathmapper this one and if i just connect my shatter curves into the path mapper right click on it and i'll just choose uh i don't know create uh reverse mapping something like that doesn't matter here i it's going to tell me what it's going to do with the data frame okay now time to just broadly explain it our data tree right now is zero zero and then index zero one then 0 1 indexes 0 1. so this is 0 0 and then index right so this is like the data branch address and this is the the number of the curve in that branch and what do we want to do with those how do we want to reshuffle the structure and the way we want to re the way we want to reshuffle the structure is actually going to be this is going to be so weird instead of a b and index we're going to say a then we put index in as as the address and then for the oh my god for for for the indices we are going to use the second portion of the branch this should work this is why i'm saying repeat after me because god damn it even explaining this is not not easy ah just do it this way a b index a index b right now if i look at the data branch or data structure i can see that it's always going to be pairs of curves right and those pairs of curves are always going to be this one and this one this one and this one this one and this one and then so on going through every single window here which means i can loft between them god damn it okay okay so i forgot one thing and that thing is this curve right here goes let's say from left to right and this curve right here since this is a rectangle it goes from right to left meaning that every other curve needs to be flipped we go back we go way back to this explode node no not to this explode node sorry we go back to here to cull pattern node and we will need to do a little bit of a little bit of tweaking for this right uh call pattern remember gave us these two curves these are not shattered curves these are just full one line second line the second line needs to be flipped how do we do that we use list item we will always have two lines right so we use list item and zoom into it and click on the plus sign to get plus one this is the first item on the list this is the second item on the list right the second item on the list gets flipped flip curve gets flipped and then they get merged back into being normal right so merge or not into being normal but merge back into one data tree or list right like that that's it now we need to reconnect everything a cool little trick that that was taught to me is that if you do control shift you can disconnect and reconnect all of the wires all at once um the problem was that we had the wire connected like so so now it's reconnecting it to itself so we just kind of write it this way and now this should work but it doesn't it's a problem one one problem after the other isn't it isn't it okay we have ourselves curves and we are dividing them and for some reason it's dividing them in a very very naughty way do these need to be reparameterized yes they do okay so more explanation panel connect this should actually work without us re-parameterizing it i have no idea why it doesn't let's see how many lofts one loft okay so it doesn't actually or does it work six no it doesn't work yikes so here we get we got stuff that doesn't really seem to work and that's because these are negative yeah there we go these are like negative values how why why are these negative values i have no idea what if we just say call pattern goes in here and we measure the length from here still doesn't work do i really need to stop the video to investigate i'm gonna stop the video to investigate i am sorry i did not figure it out well uh it's the the problem is with the with the negative values here and that we get because we flipped the the curves um [Music] whoopsie anyway instead of shatter we can use something else that might even be a little bit more [Music] user friendly let's see so i will not use shatter but instead i will use polyline polyline because the white curve it gives us these points right so i can just use polyline uh construct a polyline through these curves and i can explode the polyline into curved segments that's the same thing as shatter literally right and connect it this way and now it doesn't work again please just give me a break with this one why is it that every tutorial that i really want to do i struggle with um all right that's because you can see the addresses here it's a 0 0 0 0 1 0 0 1 0 0 1 1 0 and so on right the addresses of the data branches is crap that extra zero is unnecessary so we need to remove it because here it's basically the address that it's waiting for is abc and then index not a b so to remove that zero we just right click on the s output of the explode and choose to simplify and now it finally works oh my god that that was way too long that took way too long okay now it works now we have ourselves a loft right here okay that loft we don't really need it as a surface we just care about its edges beer up edges and at this point like all of these separate lofts you can see the seam here right all of these separate lofts we don't really care about um where they are positioned in the in the world right or rather what kind of frame the overall frame they belong to so i'm just going to right click and choose to flatten to get rid of the data tree because data trees are not fun okay lofts flattened we get b-rep edges we get ourselves all of the naked edges and we join them up into uh what you'll call it into curves and now we're back to everything being grafted again like everything being in a separate data branch no no we don't do that here we right click and choose to flatten again everything's in a single list we have ourselves eight eight rectangles all this to create eight rectangles but now as i move this slider it adapts oh no okay the slider edit uh minimum needs to be at least like 500 or 200 millimeters or else we're just gonna be asking for trouble right so now it's it's adaptive right let's go back to 1.1 meter or close to it so now these curves very simple procedure offset offset curve ah come on offset these curves or wait do we [Music] did i i jumped the gun with gra with flattening sorry we don't flatten the joint curves we do want to keep them in separate branches right so we right click on the joint curves c output and we don't choose flatten ah instead we choose to simplify it's basically we just put every single rectangle in its own separate branch so that we can do offsets for them individually and loft then them cleanly in a clean way so offset curve now we need to say how much of an offset distance we want to give it so i'm just going to say um 30 millimeters connected that connected to the distance and you can see that it gets offset outwards and in most cases it will get offsetted outwards not always though not always this is a problem that we need to solve sometimes it's going to actually can i force it flip no i can't okay sometimes it's going to the offset is going to go inwards not outwards and sometimes it's going to go outwards not inwards and i don't know why but it just does it so for that we need to actually do a little bit of of of magic with this i'm going to say 30 here but also i'm going to give it a negative 30. holding down the shift key connect the second distance here so we're offsetting it to both sides by 30 millimeters and then i'm going to say okay what's the length what's the length of the two rectangles for each rectangle the two rectangles that we get what are the lengths of them right and it's going to give me you know this is for the first rectangle the two lengths this is for the second rectangle the two lengths and so on right um you can see that these are separate separated right now i don't want them to be separated so i'm going to kind of bring back or or squish back the data tree by the outermost branches i will try to bring them back to one list right so these two will be in one list these two will be in one list you know so that they can be compared to each other uh that is going to be done by using trim tree command trim tree like that and i'll just show you might as well there's dash panel now they are both here and i can then sort sort list i can sort them so that the smallest one is always at the top and together with them i can sort the offsetted curves oh oh let's switch around the trim tree with the length in terms of connectivity so first we trim the tree then we measure the length like that and then we sort together with the lengths we sort the curves that the lengths belong to and thus we will the this polyline curve will always be like the first polyline curve in the in the tree in every list is going to be the smallest one the shortest one right so i can do then list item to get it and now now with it i will always always get the inner offset right so this portion right here or rather i would say this portion together with the negative part this portion right here is just um making sure that we are always offsetting inwards you know just so that it's never a problem never a mistake all right now we have ourselves curves here we have ourselves the outer curves here let's move it down and actually let me create a curve component curve connect it drag it out just so that they're here you know together big happy family and now we can do merge bam bam merge them together like that and we can do boundary surface for them if i zoom in voila we have ourselves a surface between these and then let's just do the same thing for the uh just for the glass boundary surface here right for the list item okay we are getting there so now we have a surface for the frame and surface for the glass surface for the frame is pretty simple i will just say extrude extrude this bad boy let's extrude this bad boy along its own perpendicular vector so i can just ask are you are you flat are you planner is planner are you as a surface planner and it's going to give me a plane right and i can use that plane to give it a strength so if it's giving me a plane and i want to use a plane as direction it's going to use the z vector of the plane as direction that's why i can just easily connect plane to amplitude vector input this way and i'll just give it an amplitude of 100 millimeters like that and connect it to v and it's just going to be just gets extruded by a hundred i don't want um it to be kind of sticking out like that i want it to be centered around the guide curve so i'm going to actually move move it backwards by half of this vector right so i'm just going to take this vector and i'm going to divide it division right i'm going to divide it by minus 2 by negative 2. so it's immediately going to say okay sure you want to go backwards uh but with half the strength of the initial vector right if i hide it now it's always centered let me move this out actually now it's centered yeah yeah now for the glass glass is pretty much the same thing we extrude and let's just do it again extrude glass and we use unit not unit z goddammit we ask is the plaque is the glass planner this by the way will only work on flat you know boring windows that's all we need right we use amplitude and we say 20 millimeters and same thing we move it and i will just borrow this one thank you very much we move it by half backwards so that it's you know nicely nicely centered now we have ourselves the geometry of the glass and the geometry of the frames all ready to go um what's next next up we will just i guess color it nicely and then call it call it a day so to color it or i wonder if color will transfer color will not transfer so we don't care right we don't care this is done this is our our script this is our definition let me move it back in right so now we need to actually make it into the thing that i'm doing the tutorial about right into a grasshopper player enabled script so i'll go back to params utilities and i'll start seeing what kind of inputs i'll need for this to work so of course i need the curve so i'm going to go and get some geometry in here connect it like that and then right click and untick everything except for curves like that and then call it curves or rectangles yeah rectangles and prompt gimme vertical flat rectangles there we go then here everything is kind of static so we don't care we don't care we don't care we don't oh i forgot one thing how many at least one at most we don't care so we don't plug anything in there then here we don't care division there we go this one we care about uh utilities get number plug that bad boy in instead of just a boring number we use this one right click call it uh desired window uh width like that at least one number at most one number we will try to use the same um [Music] same number for all of the windows in the building right if you want to use two different numbers just run script two times on two different sets of curves right um minimum amount should be well our window should be at least 100 millimeters wide i i think right like anything smaller than 10 centimeters should not be considered the window and then maximum 5 meters 5 meters there we go then here nothing happens and here we have ourselves the also get number bam bam oh messed it up there we go and here i'm gonna say uh desired or not even desired but this is a this is a constant so it's it's gonna be a window frame or just frame thickness prompt how thick is ya boy i think it's ya boy at least one number at most one number minimum um you know uh i would say window frame should be at least one centimeter thick and maximum uh they shouldn't be more than 50 centimeters thick right so that and the last one or rather two last ones is a number here get number and the number here get number and keep in mind that here i'm i'm always doing everything in millimeters so i'm writing my numbers in millimeters as if they were to be written in millimeters but for you you might you know if you're used to meters then your numbers are going to be different you know especially minimum and maximum ranges but here uh this one is this is the depth um the frame depth and this is a glass thickness and for frame dev the prompt is going to be how deep do your brains go sure and the prompt for the glass is going to be how bullet proof is your glass right minimum for the frames is at least five centimeters i would say maximum is you know it can go for a meter sure minimum for the glass is five millimeters and maximum for glass is it can be a meter sure you know a moon or something like that and then by the end of it we merge everything into big one happy family flatten everything right so everything is flattened out and we do get get get or rather context bake is there anything that we can [Music] no no no changes here can be made that's fine okay time to save this bad boy save document windows with a z of course save close uh grasshopper player that is not grasshopper player grasshopper okay let's use the can i actually get the grasshopper player to pop up here how do you do that show toolbar uh grasshopper player grasshopper player come on give it to me give it to me give it to me come on where are you animation preview you're not the the one that i'm looking for player p is it p it's not p is it p properties plane stupid okay what if i just write player yeah okay player then it gives you grasshopper player as the first option sure grasshopper player scroll scroll windows open give me vertical flat rectangles here you go this one this one and this one enter how thick is ya boy so how thick are the frames um i don't know like 30 thick desired window width oh crap how thick is your boy is messed up i messed up immediately grasshopper player again [Music] i think is your boy is how wide the windows are there there there enter how thick is your boy um a meter thick high thick wait number bust me smaller than or equal to 500 this is weird that means let's go back here let's investigate this is actually important um it goes through where's the desired window with prompt frame thickness it doesn't how thick is your boy is the frame thickness and the desire to win the width uh prompt is how wide is your window let's just do it do it this way i want to i want to check one thing let's let's bring everything in here to the start and let's see if it's going to follow if it's going to follow this logic of reading it from top to bottom according to how the the nodes are placed right so i'm going to file save the document so it's first it first should ask me for the rectangles done for the thickness how thick is your boy then for the window with and then for the frame depth depth let's see uh player windows open okay give me flat rectangles there there there okay that's fine how thick is your boy uh 50 how wide is your window okay so then it's asking me for the window with uh which is a meter how deep do frames go 100 millimeters how bullish proof is your glass 20 millimeters voila we have ourselves some windows in here yeah and you can see that the windows are placed in a weird way that's because my curves are not centered in the middle of the of the openings but it does work okay more experimentation now if i do that that and that save so i will shuffle that layer layer windows okay rectangles comes first as per usual enter how wide is your window okay okay so this is actually i hope it's going to be useful for you because it matters where you position your nodes right it's going to a thousand how deep do frames go frame depth so it's going to read from top to bottom according to actual position of the nodes in your um in your file very important to know okay let's just finish up here i'm going to make more windows or or more rectangles like that three point that actually let's do this unlock it's going to be faster um user um is there a rectangle here okay cell curves i still need two here i need one there okay there there [Music] there dupe border and select and select and select and select delete cell curves select curves that has curves in that house okay we have curves everywhere let's just actually curves let's just do this will be easier okay okay okay cell crv uh move them in here okay uh now take the curve from here for instance oh actually now we can lock it all of our curves go in by 200 mil into the building like that minus 200 so i'm gonna be fast about it um that is done and now for this i will just change the gumball to be aligned with the object 200 you sir go in by 200 and you nope not you you go in by 200. okay so we have this now and let's yolo it player grasshopper player windows open give me flat rectangles all of them enter how wide is your window a thousand how deep do frames go um a hundred how bulletproof is the glass 20 how thick are the frames or how thick is ya boy 30. voila we have ourselves a script that will generate windows for us every time from rectangle curves we are saving time a bunch of time i hope you're as excited for this as i am so from now on um the grasshopper definitions if it's uh like this grasshopper definition is going to be available for patreon supporters for my patreon supporters link in the video description below um just like any other definition that i do on this channel the scripts that i will find useful that i i find useful for myself as i work i will be giving away for free for the patreons of any within any range of how much you support support you give i just want to give back something so that's going to be a thing and actually i really really hope to see some cool stuff from you guys um so if you have come up with anything in in [Music] in grasshopper and you can just kind of make make it into a grasshopper player-esque definition um share it with the community just uh send it over and i'll i'll show everyone right i'll show where to get it as well so that is that is about it really really good tool that i'm really going to use a lot and i will keep giving cool stuff to my colleagues and the patreon supporters as well enough enough of me laughing i'll see you in the next one later [Music] you
Info
Channel: Gediminas Kirdeikis
Views: 7,004
Rating: 4.9097743 out of 5
Keywords: grasshopper, player, rhino, rhino 7, rh, gh, script, coding, tool, design, arcitecture, quick, fast, lecture, tutorial, intro, beginner, advanced, professional, pro, profesional
Id: qF5aTJU26oY
Channel Id: undefined
Length: 67min 52sec (4072 seconds)
Published: Sun Oct 10 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.