Transcripts
1. Intro: Hi and welcome to DCO. My name is David confetti. These videos I'll
be sharing with you how to use Grasshopper
right now. In this video, I'll
go over how to create a structural
envelope that involves a wireframe structure with panels and connections, as well as openings. I'll be sharing how the
program works by walking through all of the
steps in detail. This way you can understand
how it all functions. Program is a little
bit intimidating at first if you've
never used it. But once you get useful, you'll see how important it is to understand it and how you can
use it to your advantage. I'll also be sharing the
script so you have it by your side as we move
through the exercise. This way you can always
reference, act to what I'm doing. Hopefully you're excited about getting started
with Grasshopper. And let's jump right in.
2. Base form: To start, we're going to first
bring in construct points. So I'll double-click here. But here to construct bring in point at the
zeros 00 coordinate. Now we can start by moving that point up and then we'll move it here in the x-direction. Let's start here
with this point, bringing a MOOC component, plugging the point
into the geometry and in the motion will
bring in a unit z. This way, we can move
this up the z-direction. Let's bring in a Slater. This will determine, I'll type in units. Let's see what units
we're working here. Now I have millimeters, but
I want this to be a large design local here and
change that to feet. That would be 79. Now let's move this top
point in the x-direction. I'll go here to a
mood component. The motion will bring in an unit x that I'll
also bring a slider. But I'd like to
just copy this one. We can use, we can see
it a little bit of time. And so with these three points, now I'll put it together
using nervous curve. Now you could also use
interpolated curve for three-point arc. But in this exercise
I wanted to show you using NURBS curve. We'll start by adding the
first and holding down Shift. I'll add the other two points. It's an under degree. I'll change it to two. This way. The component is
running correctly. And when we change
it from two to one, it actually changes at
interest rate segment. But we do want one
curve. This way. We can extrude it and have a base surface that we
can apply our design to. So let's take our arc
and go here to extrude. Will be extruding this
in the y-direction. We'll go here to y or unit. Why? We'll also obvious slider from here. That's our extrusion. I'm just moving some
of these sliders around just to see the
results that we get. With the space surface. What I'd like to do is
plug the surface into surface component or a direct component,
either one would work. And the reason why I do that is because since this
is the base geometry, I can also bring in a surface or set of different circles that I create here right now, in this way, can switch between a
parametric surface and one that I can
create instead of right now. Let's clean this up. I'll go here to
structure height, length, degree. This is going to be linked. The cool thing is
that I can also turn this into a straight line. I having it have no overhead. This next steps, we are
going to be offsetting. We're going to be
upsetting the surface. Then subdividing
it with triangles. And from there we'll continue
creating the connections. This next portion, we need to offset the surface
to the outside. This will give us the offset between the inside
wireframe and the outside. And if skin, I'll go here and
bring in an offset surface. Distance is going to be to the outside by whatever slider. So let's go here and a slider for it's offsetting
it to the inside. If we want to offset it to
the opposite direction, we'll go here to a negative
component. This way. You have a positive
slider and it converts it into a negative
value for the distance, which is the direction
that we want to offset it.
3. Subdivision: Now that we have this offset, we need to sub-divide both of those using
whatever pattern you want. For this. This time we are going
to be using lunchbox. Then under panels will be
using triangle panels B. We'll go ahead and
offset this out. Now I'll bring in under
lunchbox triangulated panels. I'll plug in the
original surface. That's quite a bit
of subdivisions. We could probably use a
lot less to start with. And then we can
increase it later on as we complete the script. Let's go here to you divisions. I'll go to three. I'll
create two sliders here. I'll disable the
preview on the surface. And most of the stuff back here, we don't need to preview. So I'll select all
of this middle click and disabled preview. Now that we've
subdivided to this one, well, we can do
the same thing to the other one by copying. This component will plug in this offset surface
as the surface input. Technically we've basically just applied the pattern to that
both of those surfaces. Now the one on the outside, it's going to be larger
than the one on the inside. And that is because
when you offset it, you're actually creating a larger area that
you're subdividing. Inside. One is going to be a wireframe. This outside one's going to be a panel and I'll be creating a connection that connects those panels to this wireframe. What I'll do first
is you bring in a component called
deconstruct view. It. I'll plug in the panels into the beer up and it'll do
the outside ones first. As you can see, we're now
getting redundant surfaces. Because every time we
bring in a new component, it will preview that. Sometimes it just
starts overlapping. So I'll tend to disable the
preview on this stuff before. This way it doesn't
get in the way of this stuff that I'll be
creating in the future. And you can always
bring it back, right? With this, we'll
go to faces now. We have, let's see how
many faces we have here. 42 phases. Those 42 faces have
an outside curve. Now, if I bring in
a curved component, this will actually give
me the outside curve, each one of those animals. How do I know that when I select this and I middle
click and bake, you can see that under
the default layer, the baked each and every
single one of these polylines, which is what we need to then offset and create
that connection. What I'll do is I'll
go here and I'll just select all the stuff that I just baked and I'll delete it. Now in here, what we need
to do is offset this curve. So what I'll do is I'll go to, I'll set curve will offset this curve relative to the
plane that it sits on. Let's go here to distance, because right now
it's upsetting to the outside and we actually want it to offset
to the insight. We have to go to a
negative component. And the distance will say 1.5. Now we've technically just
good thing about this. And actually the
important thing is that faces plug those into the plane. This way it's referencing, referencing the plane and it's offsetting
it to the inside. This is what we need to
now extract the points. The points are
critical because those are the points that
will be connected to this outside location
on the wireframe. Now let's disable the preview on which one's on these curves. Next, we'll bring
in the component called discontinuity. Go here. This continuity. What it'll do is it'll take a line and wherever
it's discontinued, which means that if
this is a polyline, it'll give you a 0.1 here,
one here, and one here. Basically, wherever the line
turns, you get a point. What that means is that these panels can now be connected from this
wireframe and below, what we'll be seeing is
something like this. Having these points
connecting here. The ones in the middle
here will connect to 123456 and so on. So let's go and do the same
thing that we did here. But we won't have to offset
it to this inside surface. These insights
surfaces will just be bringing in a deconstruct VRef. I'll also be bringing in. We have this will print
will do the same thing, basically bringing the curved
component into the faces. Now instead of upsetting, it, will be bringing
in discontinuity. Once we bring in
this continuity, we have to plug in
these points here. To connect them, will
bring in a line component. We'll start here and end here.
4. Structure: So as you can see, what
we've done is we have offset this to the
inside and connected that line here and
offset to the inside. Connected that line there. I know it was probably a
little bit confusing there, but that's all we did. Let's go back here. Disable the preview on
most of this stuff. Then get rid of the points. I'll select those middle
click, disabled preview. And then the same thing here. Bring it back those panels. At this point we've basically
created the connections, created the base geometry. Now what I'm going to do is turn this inside one into just
a wireframe to do that. And we'll take those panels, will join them using B-RAF join. The flatten. The input will bring in a
component called the rep edges. With this component will do
is when we plug this in, it'll give us those curves. And the reason why we don't
use the deconstructed once it's because when you see
here we have 126 edges. And that's because each panel has a line and they overlap. So technically you have to here, you have to hear where
they have one and another one meeting
and you actually have to two lines in here. When you look at the output, we only have about 60 curves. On here, we have 126, we have way too many down here. Using this, we can now
disable the preview. Bringing a pipe component. I'll go to caps, round and plug-in the
naked and interior curves. Now we can also have a
different size inside, once then to the outside ones by having two separate components, one for the outside
into the inside, one. Then creating two
separate sliders. Outside and one for the inside.
5. Connections: The next part is going to be
to create that connection, right, where this line
intersects with that surface. To locate where those
are on the panel. What I'll do is I'll take
this line and intersect. It can bring in the
origin of the plane. So we'll go here to a vector. We have plane origin. And I'll bring in surface. And the origin are going to be those points, these endpoints. Now what's happening here is that this is coming
in as a grafted list, and this is coming in as just
a regular flattened list. I actually have to use this
space surface to work. Because now we have
the information coming in organized in the same way. It will actually work. As you can see now, we have this point lining up exactly
where that surface is. And we need that
because we need to know where those
planes are located. We're bringing a circle,
plugging a radius. So we'll say 1.500. This way I have a
few decimal points to kind of play with here. Now, I'll disable the preview on the plane and we're
able to see a little bit more clearly
where those are located. Now we're going to take those and subtract
them from the panels. Actually go here too. Region difference. Bringing in curves which are going
to be these basis. B, are going to be the circles. We've now created. The new panels that
have that panel void. We'll go here to
boundary surfaces and disable preview
on this stuff. Now what we'll do is where
those circles that are located bring in
boundary surfaces, which means it will create a
surface at the boundary of that circle and extrude it
perpendicular to that surface, will go here to Extrude. Extrude the surfaces. The direction is
going to be using amplitude perpendicular
to the surface. And it's upsetting to the
inside, which is fine. But we also want to extrude it, it to the outside. So we have another one, so we'll go here
it another copy. And bringing a
negative component, we have an extruding to the
inside and the outside. And the amplitude will be
the value. So we'll do 0.5. And both of these outputs, I like to bring them out
as one single output. If possible, grouped, because there's so many and you'd rather
have them grouped. So I'll flatten the
output for the group. So when you bake this, it's going to be a lot easier. I'm just playing with
the values here, Numbers tabling the preview
and all that stuff. So all I see is this
last component. Also disabled the
preview on this one because technically this is
the only one that we need. What's really cool about this? If I get super excited
when I get to this point, because there are other
things that pop up into my mind like how this
is technically a truncation, how you're playing not just with the base geometry that
we had as triangles, but now the new
upsets be kind of create this new type of
geometry that is really fun. And I feel like there
are other options here. Now, we're only
connecting the panel. The panels themselves could
have a pattern within it. You see this base offset. But even using this base offset, we can offset this a
little bit more increase. Last panel that has openings and have
that be transparent. Transparency. So like I'm saying, this is just the beginning. When you start
working on a script, you start coming up with
so many different ideas. I'll disable the
preview on this stuff, will go back to this curve. And now let's turn
those into pipes. So we'll just copy This holding down Alt and
then I'll just plug this in, which will give those
ad should work. Now, I actually feel like it looks pretty
cool when it has that bump there
because it looks like a ribbit or some kind
of detail that it has. I feel like this should be a 0.3 weight thinner than this. And then the outside would
be the thinnest one. Then I'll pull this
one back to that. Really the tolerance
here is going to be which ones will
get the closest. We see that this limit to
how little we can offset, that's getting to like one. It's going to be
like a ratio between the radius after that circle and how far you can get that. How close we can get that in. Because if we go here to
our circle, we lower 0.6. You can then probably if you had a lower
value, maybe one.
6. Perforations: The upset here determines how far from the
base structure here. I do want to create
some panel opening. So let's go down to this offset. We're going to offset it again. We'll copy these. Basically we can plug-in
the same value. This way. The law, it's kinda
tied to that. Obviously we can add more. But we don't want to
do less than this. If we wanted to add more, will bring in addition. And we'll say 1.5. Notice now we can say this is the minimum and then
it can go from there. The thing is that since
we have these panels, which are called
these triangular, triangular panels
that are small, these are actually going to be our limit because when
I offset this further, at some point, the
ones that will break before anything
will be the small ones. That's going to be our limit. But it doesn't matter
because now with this, we can take this
offset and change. Either we can fill it, it using a different component
or here under corners. If we go, I think round. That's the thing. That's if we're offsetting
it to the outside. So on this one, I will go
to a fillet edge or a bill. It will change the
radius to 0.5. With this, we will go
to region difference. This will be curved as being, this will be current
stay. The same curves. This one is giving
us some issues here. I think this one is the one that does it and it's because it has to be before we turned
it into a service here. We will actually use
this after the fact. Now that we have these offsets, trying to think what would be bringing boundary surfaces here. You can probably see that these, we could probably
change the size of them using an attractor
point or an attractor curve. But I think with this, it gets shows you the power
of what this script can do, which is turned any surface into a panelist object like this. Now let's go here and bring in, change this value for
53, a straight one. And you'll see that
it'll also work. This will work on any
surface like overhang 0. We're even if we create it
ourselves. Let's go here too.
7. Finalize Script: I think you guys like this
one will go to a sphere. Radius, will bring in ISO trim. Actually, we already
have the surface. It applies it to the
sphere, to the inside. If we want the surface to
offset to the outside, well, we know that the value
has to be also the three. Then this one has
to be positive. So there's a lot of
things that actually happen when we use this sphere. Let's see if we can flip. It, doesn't do it.
Okay? So there are some limitations like that
sphere might, may not work. We'll go here into
elevation view and create an arc like this. I'll extrude it out. Go to Extrude curve like this and go here
to set one surface. I was trying to create
that base surface, but it's so the
surface is small. So when I created that
other one that was so large, it did not work. So let's create it again. I'll go here and create
an arc. Already. Anywhere here. I'll take this arc will extrude by whatever
amount this way. Now we can set one surface. I flipped it the other way, and now it works. Now let's increase
the subdivisions. And it works perfectly. I will take this, I will actually work
off of this salt bake. All of the items here. We'll start one at a time. Go here to my layers, started a new layer and
call this structure one. I hit tab type-in structure
to hit Tab and do connection. Then Tab one, and then
Tab. And it'll tip. We'll start here. I'll
make structure one, my current layer and
go to these two pipes. I'll middle click and bake
over the structure two. And I'll go to these
connecting pipes, middle click and bay. They don't go to connection, which will be the extrusion. Middle click, and then
we'll go to the panels. Middle click and bake. Then we'll go to panels too. And then also bake that. We'll go here to shaded mode. Lock the default layer, which is the layer where
I created that surface. This way I can take all of
this and move it to the side. I'll type in zoom selected. Now that we bake all
of that stuff and we have everything else
sitting, I'll select this. But zs for zoom selected. And I'll type in purge. I can get rid of all of the
layers and stuff that I'm not using. With this. Let's go here.
8. Bake and Finalize model in Rhino: In our random mode. Let's take a look at our model. So everything is
super clean here. The only thing is these panels are actually very, very thin. This is where I'll
go in two panels. One, right-click, Select
Objects and type in join. This way it's a joint
surface and we can take that and go
to Offset surface. And then we'll offset it to
the outside by two inches. Here's the thing. When you
offset it asks you if you want to delete the input. I'll go here to
copy, to clipboard. I'll undo it. This way. I'll offset surface
F flip direction and do it again that amount. This time since I had copied it, I can now paste it because
I had it on the clipboard. Now we can we have the outside
panels. Inside panels. And we'll go to Panels
to select objects. And the same thing here. So we'll go to Offset surface, will go to one inch,
we'll do less. Or the inside panel. The next thing is connecting
this to something. Typically, these would be
would have a foundation. So to do that, we'd have to think of where
the base line of this is in. Technically, we don't have that because we haven't
baked that information. One thing to keep in mind
is also to bring in some of the base geometry of that we had before we
created this dome. This way we can use
that as a reference to create further geometry when
we're modeling it here. So one trick to do
is bring in a plane. I'll go to a new layer
and create a plane from this endpoint all
the way out like this. And then using the scripts
scaling it but intersects it. Next thing is bringing a
component called intercept or a command called intersect. Two sets will use this surface. And I'll right-click
on structure one there to select objects. This and then Enter. When you use that,
those two commands, it's going to ask you,
first set, the second set, and it will give you of curve that is intersecting
with that surface. Now we can also do this
inside of grasshopper, but this is something
that is not necessarily, doesn't necessarily have
to be in Grasshopper because the idea is that Grasshopper takes care of the heavy load of the
programmed stuff. And then we can use some
upper modelling skills to earlier finish detailing
some other things here. I'll select this and
I'll type in isolate. This way. I don't see anything else. I only see this and I can go to top view and work with this. Delete this information in here. Because those are not necessary. I thought I can black tomorrow
at once, but I could not. There are different
ways to approach this next portion I was going to use is on layer six, which I will turn
into a gray layer. And I'll go to a new layer seven and turn this
into a red layer. This way I can get
the midpoint now, I typically don't
have nearest aren't. Smart trick sometimes
gets in the way. I'll take this and I'll upset. Two inches, three
inches to the right, and three inches this way, two inches this way. And extend these lines. Trim this out because this is the location of where
that connection would go. If we can't see it,
it's because I have it the same color as the grid. This is a connection. If I bring in the structure, we see that it's
intersecting here. And I'll. Extrude more than that. So I could be as simple as taking
minutes and then doing boolean difference to the
inside to create a connection. But I feel like good way to fix that
would be to take this. I'll type in isolate, explode. Get rid of. Well, this can join this surface lip direction
and do one inch. This will give us extruding
this surface out. Extruding this surface out. In the middle of here, we'll add a bit of detail. More detail can obviously
be added to this. But sometimes working from
the general way to go. So we'll go. I'll also
turn this into a block. I'll select this
had been blocked. Will calm, will select this one. And we'll call this anchor. Because technically
this would go down into the ground
and be bolted down. Let's type in show. Let's go here to Layer seven. And action won't let me change the name because
of the law will go here. And if this is the center, which it is from the midpoint, and we can copy these
at a specific spacing. We can say every TV,
maybe a little bit more. I'm holding down Alt clicking and it will remember the amount. I'm just picking these. You've seen a mirror command. They look a little small.
But that is because this is actually a super
big structure. So with that, let's
hide this ground plane. I'll bring back this curve
and I will offset this, makes sure that it
encompasses the outside here. So I could offset two feet. I'll do the same thing out here. So let me show you a
trick that I use a little upset. The outside. I'll select this one and this
one and use bounding box, which will create a
rectangle at those extents. So I can just delete that, take this and extrude this down. I could either extrude this down into a little stem law or offset by the inches
to the outside. Then bring this down minus one. This way, we can loft
these to type in cap, then turning that
into a solid and then extruding this
bottom surface down. Maybe by the entire floor. Either way. This would be
like without a person who, you couldn't really
tell the scale anyway. So this might as well be
six inches in this P1P2. This could be, you know,
really, really large. So that's that stem wall here. And then we use the center
line to offset or a footing. That will offset this
way or this way. It can lock these,
we could extrude it, different ways of doing it. And then extrude surface. This is going to be then change object layer. I'll have this side,
this side overhang. In terms of footings, you don't have to have
continuous footing. You could technically have this be a Fuge separate footings. But I feel like it looks at best when we have
this continuous wall here. These will be blocked. Group those and copy them. Here's the thing. It's pretty tricky to move this relative to the center here to assume selected copy relative
to that center. So I'll go to Copy. I'll turn on project
because I'm not referencing a point that will be the same in the
next location. But if I use project, I'll use the
construction plane on the ground as my reference. And it will project
to the middle, making sure that it
always works here. The other way is
selecting that typing in. And I are mirror,
reflecting that. Using that mid location. I'll go to Layer seven. Select Objects. Use the mirror command through the middle here. Projected end. Here's the thing you
do want to get close in there and make
sure that it is projecting off of the location that you're trying to do it. Otherwise, you'll have
a bit of a harder time. I'll select these and
do the same thing. Now in terms of other
this withstand up, the footings would hold
it up for the most part. This arc we're going to try
to push to the outside. There may be some other
engineering to do here, but if you were to
put a slab on top, the slab would be poured on
top of this one. This side. And up from the ground there. It looks a little bit
small, but in reality, let's say this was
outdoor design. The slab would be bored on top, something like this and
there'd be sand and gravel down here compacted. That kind of covers
for the most part. Some of the details in here. What I would want to do next is to go here into
rendered mode and apply some materials to
the different components. Because we have the structure, we have the connections, we have two separate panels. So it'd be cool to explore kind of contrasts between those two. The approach I'll take for this is going to be using V Ray. Now you don't necessarily
have to use VRA because rhino already has some materials that
you could apply. Similar steps just using your own materials
inside a right now. So I'll go here
instead of V Ray, I'll just create a new material. And I'll call this structure one Structure and this one
I want to create first because then I'm going
to duplicate it. And when I duplicate
it, I don't want to have to do these steps again. We'll go here to color, make it a very light
gray metal NAS. I'll go to the top
and then roughness. Just do about 0.2. I will take that material and
apply it to structure one. And thus we can see it's
already starting to apply some of the
materials to the model. We'll go here to
structure one. Duplicate. Make this maybe a
little bit darker. We'll apply this. The structure one is going, structure is going to be on
structure one in structure to this one will go
under the connections. Can be a bit darker. That and then the panels here will be trying to think
of what's going to be. I'll just create a
generic material, all this animal one. Then I'll create a new material or work off with this one, will go to bit of
a darker color. The roughness. I want it to be. Not super rough but enough where you can see
it a little bit of shine. Apply this to panel one. Duplicate this panel
one. A tiny bit darker. Apply that to panel
two, or vice versa. You can say Apply panel one. You can also another material that is a bit more translucent. Use that as the
penalty to the thing. Opacity is not going to
show up under this preview. The last one that we'll use is create the concrete
where the grounded for the footings and everything
will go here to materials. Basically copy panel one or panel to I will just
copy panel to duplicate. We will bring this
to a light gray. Panel three is going to be our foundation or
footing material. What I'll be doing is
doing a quick render. Let's take a look at
what it looks like here. First, let me actually
save the file. I don't want to lose all
the work we've done. So I'll pause and
I'll save both of these files under
whatever folder. So I'll actually change. I have a preset
that I've created. Render two. And this will give me an idea of what it's going to look like. And if I go here to
be re interactive, I'll be able to see a preview of what my render is
going to look like. Typically, I wanted to be
facing the location of where the white background
is because this is a studio setup background. Can change my aperture
if I want to. Go to, this looks good, which I feel like it
looks pretty good. I'll now go and disabled that and I'll
go to regular render. I'll leave this rendering and
also capture this script. This way I can kind of
create a little composite and read a library of
the work that I do. That's one of the things
that I like to do is share some of the
scripts that I have and share some of their
knowledge to get people into parametric architecture because I feel like it's one of, one of the things that is very critical to learn to
become a better designer. So thank you very much for watching and I hope
to see you next time.