说明
主要学习内容
- Learn why and when to use Dynamo in your structural office
- Learn how to work with structural parameters in Revit using Dynamo
- Learn how to use Dynamo to be more efficient at modeling structure in Revit and in other structural analysis software
- Learn how to build 3D structural beams, including roof framing, using Dynamo in Revit
讲师
- Marcello SgambelluriMarcello has worked on many BIM projects over the last 25 years as a project manager, design engineer, and BIM Director. Some of the BIM projects Marcello has worked on includes the Sphere in Las Vegas, The Walt Disney Concert Hall in Los Angeles - CA, the Ray and Maria Stata Technology Center at MIT, Tom Bradley International Terminal Expansion at LAX. Marcello is internationally recognized at one of the top BIM leaders and contributors to the education and implementation of BIM technology in the building industry. Marcello continually speaks at Autodesk University and the Revit Technology Conference (BILT) where he has received the 1st place speaker award for a record 18 times between 2012 thru 2021 between both conferences. In addition, Marcello provides training and consulting the the AEC industry. Marcello received his Bachelors and Master’s degrees in Civil Engineering and he is also a licensed Civil and Structural Engineer.
MARCELLO SGAMBELLURI: OK, let's get started. How's everyone doing?
AUDIENCE: [INAUDIBLE].
MARCELLO SGAMBELLURI: Yeah. I'm looking forward to the class?
ALL: Yes.
MARCELLO SGAMBELLURI: Yeah. All right. OK. So more Dynamo for Structure. All right, what is that? Hello, my name is Marcello Sgambelluri. I'm the Director of Advanced Technology at John Martin & Associates. We're a structure firm in downtown Los Angeles. Here's my Twitter handle if you want to tweet things through the class.
It looks like everyone here is on a computer station, but here's the data set if you need it for later. There's actually a few ways to get it. This is definitely one way to get it. Everything you're going to be having today's is all available on the AU website. So this is all accessible to you.
I thought I'd mention that. Because that's the most common question I get-- how do we get the handout? We get the data set? All right.
So maybe a little bit more about me as people filter in. Again, this is me. I've been teaching classes here at Autodesk University since 2012. And it's basically all of you that make me come back and try to figure things out so I can help the industry. So really, I thank everyone for attending and all your love and support.
I've actually won the top speaker five times out of the last six years. But again, that's not me, it's basically all of you. So really, I appreciate all your support. It's been amazing.
I also run a blog site. You can check that out. A lot of the things you'll be seeing today is also posted there. I run a YouTube channel. Simply Complex is kind of the brand I run. I also have a podcast if anyone wants to check that out.
And I just recently started a comic-- the AEC Complex comic. So you can check that out. It's kind of my opinion about the industry. So if you want to see what's in my head and how I feel about it, then check it out. It's a lot of fun.
So what are we doing here? What are we doing here? All right.
So last year. there was a class called Dynamo for Structure-- a lab. Was anyone in there? OK, three or four. All right.
So that's just basically the title, is More Dynamo for Structure. And in that class, we went over eight examples. I had about 80 that I wanted to show, and so I could only show eight. So I thought if the reviews were good enough, then I could come back and do a part two. And that's certainly what happened.
Actually, that class got first place last year, so I was really proud of that. So thank you again, everyone. And so I figure, OK, let's look through those examples and let's pull some more so we can do them today.
So may I borrow this for a moment? So what's in front of you is what we call a cheat sheet. These are the eight examples that we'll be covering today. If you wish, you can take this home with you. But only take it if you want it. I don't want to see this in the garbage can outside, OK?
[LAUGHTER]
All right. So before we get into this, I want to introduce, we've got three excellent lab assistants. We have John. Go ahead and raise your hand, John. We have Masha the back. And we've got Mercedes over there.
So this is how it's going to work with the lab, we're going to be flying through these examples. We're going to be having a lot of fun. Now, if you have a question for me, like to clarify something or you don't understand something, you raise your hand, and you look at me. And if you have a question about something technical, something's not working, and you need a lab assistant to help, raise your hand and look back at them. You got it?
All right. That way I know. All right. Good. OK.
So this is how it's going to work. Everyone ready to get rocking and rolling? Maybe I should poll the audience. It's not a requirement. How many people here have used Dynamo before? That means you had to have at least opened it, placed some nodes down, ran it, and saved it. It's not a requirement.
So we will be starting slow, but then we'll slowly take off if you're not familiar with it. Because I feel like Dynamo, a big part of it, especially with the structure discipline, is why do we need to use it. So we're going to go over why are we doing what we're doing.
It's easy to change a structure engineer's mind, would you say? Yeah. Just throw another piece of software at them and say go, and they go. Is that true?
So how many people here either work in the structural office, have to manage some kind of structure, anything kind of related to structure in any way? OK, cool. Of course, that's the name of the class. If you're an architect and you didn't raise your hand, you should be. Because I hope your modeling structure if you're an architect or a contractor.
OK, cool. All right, very good. So the way the way the class works is like this. This is basically the handout. I call them cheat sheets. And basically, it kind of works like this.
These are the small versions. The handout has the big, full-page version. So if you have a hard time reading the node, it's only because it got crunched to one fourth. So this is how it works. You've got the title up there-- pretty simple-- and then you've got, basically, this is the node zone. This is where you put all the nodes and descriptions.
And this is basically what happens when you do it. And down here is all the steps, like open this and that. But you won't have time, and you don't really need do that in this lab. You just look up here, follow what I'm doing, and you'll be good to go.
But the handout is online, as well as I also, traditionally, always print my handouts and bind them. I bound them myself this year. I'm writing a book on it, Dynamo Cheat Sheet, so this is kind of a draft copy. And the covers look a little different, because I'm kind of experimenting with it. But you can go ahead and pass this around. This is almost 200 pages of goodness.
Also you get the handout. This is a handout that's the PDF online. You get this too. So go ahead and pass this around and take a look. Here you go, and here you go.
So are there any questions before we start? I'm just going to-- boom-- start rocking right through them. Any questions? No questions. OK. All right, we'll try to stay on time.
So here are our four examples you kind of see-- got a little bit of everything. We're going to be building structure. I'm building off of last year's class. So if you didn't take last year's class, that's OK, you just go back and look it up. But you wouldn't have to take that as a prerequisite.
But we're kind of building off of that. So we're going to do a lot of structural analysis building. Basically, we're just going to have a lot of fun. There's even a portion down here where we're going to get into a little bit of a structural analysis models. So we'll talk about that in a little bit.
Everyone ready to get going? How far are we in, John?
JOHN: Seven minutes.
MARCELLO SGAMBELLURI: Seven minutes. Whoo-- I'm trying to cut my intros down. They used to be 15 minutes long. Seven minutes is good.
[LAUGHTER]
So just be aware, we're going to go slow and slowly ramp up. Yes, that's a cow. Slowly ramp up. I'm so excited. Oh, my gosh. I've waited a whole year for this class.
Has anyone ever seen me speak before? I suppose whether you watched it online or me in person? So I'm really dynamic. I love this stuff. So I'm just me running around in here. Oh, my gosh-- love it, love it, love it, love it. I am also a licensed structural engineer, so-- whoo-- man, this is right up my alley.
So anyway, the handout has 100 additional exercises, if you would like to, in your free time, go through them. So have at it. I couldn't go through 116 exercises today, so I had to pick eight that were kind of representative of what you may be doing.
So what I want to say is when we go through an example, it may not be exactly what you're doing in the office, but kind of think how you can apply it. Yeah? That's what I want you to do. I'm going to plant a seed and let everyone grow. Because we're all professionals here and we're all very intelligent, so I'm going to allow you to do that.
All right. So let's-- [INAUDIBLE]
So what we're going to do is everyone should already have the data set folder opened, and we're going to just rock and roll with this first one-- flat framing to curved. OK. Here, let's do it. So I'm going to abandon PowerPoint now, and we are nine minutes in. We stop at 1:30? No, we stop at 2:30.
And like I said, if you have a question, just shout it out. We're all in this together. It's very informal. Let's do it.
Here's the first one. I won't go to PowerPoint much, but here's the first one. Here's the first one. So we'll set it up.
Basically, we have laid down some flat framing and we have a curved roof and on top of it. So instead of having to model all of the elements on the curved roof, Dynamo is excellent at actually placing and projecting flat framing that you've already modeled onto curved roof surfaces. So I'm going to show you how to do that. It's really simple.
Now, by the way, all my examples here, you'll notice they're just one-page formats. There's only three, five, six nodes at maximum. That's how I teach my Dynamo classes, just simple, quick, little exercises to help you in the office on a practical level.
We're not building elaborate, 500-node graphs here to represent what may be like an add-in. These are simple, practical, quick exercises that will help you on your day-to-day practice. That's what we're doing, OK? Is everyone clear with that?
So you're moving along, you're like, I model flat framing, boy it'd be nice if I could project that up. Let's do it. It's really simple. I'll walk you through them, and we'll see how far we go as we place each node down.
Well, at least place each node-- we'll start from scratch, at least for the first few, so we can kind of get a feel for how we're doing. OK, are you ready, lab assistants? Let's do it.
Now, you should have a data set sitting in front of you that's already opened, and it should look like this, main. So you should have one called main. So under main, we're just going to walk right down these, OK? So we're going to go to flat framing. And under flat framing, we're going to open flat framing start.
Now, for these, you can go to the data set, and you can just click right on it. I wouldn't recommend that when you're in a work sharing situation OK but these are sweet simple little quick example. So it's OK to open Revit by double-clicking here. If you want to open Revit, and then open the file, that's OK with me too.
Can everyone follow me with what I just said? So just double-click. Flat framing start, that's how it usually works. The name of the exercise, Start. That's how we start. Easy-peasy, right? Does anyone like the one-page-- just like, boom, done. OK, good. I've been getting a lot of good feedback about that. OK,
Here it is. So say you're in the design office, and maybe you're going through SD and then you're heading into DD. But if you're heading into SD, a lot of times you can just model the framing flat, even though it's curved, if you only want to ever look at it in plan. So why do you need to actually model it curved?
Well, you wouldn't necessarily need to do that. So you lay modeling framing out flat. That's what we did here. I'm not going to show you how to do that. Can everyone model flat framing in Revit? Do we need to go over that. OK, cool.
So now it's flat. Let's just-- boom-- project it right up. So this is how it works. Let's go to a 3D view. So by the way, Dynamo is not a requirement, but knowing some Revit is a requirement. So I'm not going to go over the Revit basics. Everybody OK with that? OK.
Excellent. Here we go. So we've got the flat framing right here. So we want to project it up. So how do we do that? Oh, it's super-cool. Watch this.
I'm always going to use that language, because I just geek out about this. So go under Manage, and fire up Dynamo. Now, the version we're using is going to be 1.3.3, except for one example. So you've got it? 1.3.3. Please use 1.3.3, unless I say otherwise.
There's a lot of reasons why we're going to do it. I'll explain later why we're on that. There's an official release of 1.2 maybe towards the end of the year. But for right now, we're using 1.3.3. There's not a huge difference with it.
So Dynamo is open. Now, we're going to start from scratch. So everyone go ahead and start a new Dynamo session. Can everyone do that? New. All right.
Now, what we're going to do is we're going to actually project all of the framing up to that surface. So what I like to do is I like to place the node that I'm going to do last first, so that I know what to put into it. So over on the left is your library.
And so go over here to Revit. We're going to go to the Revit tab, but can anyone guess why we're going to the Revit tab first? Now, I'm going to ask you questions throughout this, so you've got to be paying attention. Why is that?
AUDIENCE: [INAUDIBLE].
MARCELLO SGAMBELLURI: Because we're modeling beams. That's why. Some people get a little confused on where to go. So you're thinking, I'm working with the Revit database, I open up the Revit menu here or the Revit tab.
So we're going to build elements. So we go to Revit, then Elements. I hardly ever type in the search, only because I like to know where I'm going and how things fit in context. So I'm going to Revit. I'm going to Elements.
And then Structural Framing perhaps? Yes. Beam by curve-- all you do is click it, and it'll drop right on the canvas. So that's what we need to do. Dynamo will actually build framing elements from that node. Super-cool, if you haven't done it yet.
So play with this one. On the input ports on the left, it's got curve, level, and framing type. That's the actual beam size. So we need to feed a curve into It so we've got to extract the curves of the flat framing, then project it up, and then the level, and then the type.
OK, so let's do that. So we need to first get the curve. So do you see this logic? I put this down, and I figure out, what do I need to frame it? What do I need a wire in there? A curve. How do I get the curve? I'm going to use projected curves-- that's what I've got to get, because it's projected onto the roof surface.
So let's do that. So what we do is we have to first select all the flat framing. There's a lot of ways to select elements in Revit. We're just going to kind of do it the quick and dirty way. So if you go back to your 3D view, maybe you can just get a view like this. We're just going to basically select all of these.
So the way you do that is you go into Dynamo, and then under Revit, under Selection-- because we're going to select the beams-- say Select Model Elements plural. Select Model elements plural-- got it? Then from here, we just say Select. And then we'll window this, and then we've selected them.
So why are we selecting them? Because we need to extract their geometry to project up to this roof surface. Everyone got that?
How we doing back there, lab assistants? Are we good? Do we see this on everyone's monitors? Am I moving too fast? OK.
All right. So now that we have the flat framing, we need to extract the curves on the flat framing so we can project it out. We don't project the beams up, we project the curves. So there's a node in Dynamo called Revit Elements. And under Elements, under Structural Framing, it says Location. So StructuralFraming.Location.
If you're not familiar with Dynamo, these are called nodes. These basically do all your functions. Now, if you need to pass information from the one to another, we need to pass the information from our selected beams into the structural framing location, like that. This will give us actual all the curves of the underlying geometry of the beams.
These are basically the work lines. And if you need to see him in Dynamo, you can maximize this, you can click this enable background over here, and you can right-click and say zoom to fit, and it's going to show you the framing. See that? That's the actual flat framing.
Do you want to see it again? You click here, [INAUDIBLE] preview. Right-click, say zoom to fit, and it'll-- and then you can use the mouse wheel and pan to kind of get it into focus. So can everyone get there? Are there any questions so far? Does everyone understand why we're extracting the curves of the beams that are flat?
Yeah? So let's project those up. That's the fun part. We've got the surface, let's project the curves up. Boom.
So how about we use a curve project node? What do you say? Curve project-- does that sound good? OK.
Curve project. So now this turned into Dynamo geometry, because it actually shows up in the background preview. So when we go over to the menu on the left, we go to geometry, we go to curve, and then we go to? Come on now, everyone. We're all in this together.
What do you think? What do you think the answer is? Curve and then--
AUDIENCE: Project.
MARCELLO SGAMBELLURI: Project. Yeah. Awesome. Curve, project.
AUDIENCE: What is curve under?
MARCELLO SGAMBELLURI: Curve is under Geometry. Geometry, Curve. Now, curve project means we've got to project a curve up. But we've got to project it to a surface. We don't have surface yet, do we? Oh, we need to get it.
Why do we need to get it? Because we need to convert it from Revit geometry to Dynamo geometry, because Dynamo is doing all the heavy lifting. Do you understand? OK, hang on a second.
Let me ask you this-- is there a framing project to surface in Revit? Is there a command and Revit called framing project to surface? Anyone? No.
So you say, I have all this flat framing, I don't want to remodel it curved. It looks actually all the same, even the same sizes. But I would love to just project that up. OK, Revit, do you have that capability? Hell no.
Why not? Because I'm 20 years old.
[LAUGHTER]
All right. But I know someone who does-- Dynamo. OK, take my geometry, Revit, take my geometry Dynamo, convert it to Dynamo geometry. Do all your super trickery wizardry, and then give me back my beams. Can you do that? Absolutely.
Is everyone clear why we're doing this now? OK. Awesome. Yes. I'm glad we're on the same page.
So Dynamo-- curve project. Now, this is base geometry. That's the one you're projecting to. So here we go. Ready?
So we need to get that surface. It's pretty easy. All we need to do is go back Revit, Selection, Select Face. Select Face will select the bottom of that surface. Everyone got it?
So kind of roll yourself to the underside, go Select Face, and pick it. Boom-- it's going to select a face. Now, you're going to start to see the Dynamo preview be a little prettier. You see that? Select Face.
I'm just going to keep going. So we need the curve. We're feeding the curve into curve project. We're feeding the surface into base geometry. That should say base surface, shouldn't it, probably? Maybe, maybe.
And then projection direction. That's a unit vector pointing up. If you want to know more about unit vectors, you can look through the handout. It has more explanations of what a unit vector is. But it basically just tells you what direction do you want me to project. Do you want me to project that way, or that way, or that way-- which way am I going to project? Anyone help me?
AUDIENCE: Up.
MARCELLO SGAMBELLURI: Up. Anyone guess what direction that would be?
AUDIENCE: Z.
MARCELLO SGAMBELLURI: Z. So we need a unit vector Z, up. That's pretty easy. So all you do is you go to Geometry, and then you go down to Vector, and then you say Z-axis. Right there, boom. And it should project up. Why didn't it project? Did it project?
Oh, oh. OK. One more thing. It projected one. Right-click and say lacings, and say cross product. Why cross-product? Because Dynamo, since it has a list, it doesn't know which one you want to do it to. Lace cross means do it everything basically. So you want to see-- I'll leave it open. Cross, got right there. Everyone got it?
That's cool. It's cool. So now, guess what? We've got the first element here. Do you remember this structural framing by beam? This now are our curves. Does everyone follow me on that? Yes? These are our curves, because we just projected them.
Now, the level, the level's up to you. You select a level, you go to Revit, Selection, and you go to Level. Level is up to you. I personally like to put my roof framing on level one. Let's just do level one today.
I like level 1, just because if you do it on level 1, that's 0,0 usually. And if you have your roof framing, you kind of know the endpoints and you know the top of steel values relative to zero. Anyone follow me on that?
Sorry. When I teach my Dynamo structure labs, I also like give you little structural nuggets too. But everyone hear what I'm saying? Right If it was all relative to mechanical framing level and you wanted to know what your top of steel was, you grab the beam, read the end, and it said one foot eight inches. We're using imperial units today. And you go, what's top of steel? One foot eight, mechanical equipment levels at 45 foot 7.
Well, what if it was at level zero? Then you'd say, OK, it's 50 foot five-- five inches-- and now I know what it is. So that's why I like to put it at level one. OK.
So we've got curve, we've got level, we have the last one, structural framing type. Now, we can just put one framing type in there, like, say, a W16 by 26. And it would build it all. But why don't we actually grab the types from the beams below? That way they match when they get propagated up. Everyone follow me?
You see what I'm saying? If they're all different, it's OK. Because when we map it up, then it'll map one-to-one.
So how we do that is we just extract the structural framing types out of the elements. And then that's not too hard. So what you do is you go to Revit, and then you go to Elements, and then you go to Family Instance. And then way down here is Type. So Family Instance, Type-- you got it?
Now, these are all the types of the elements that you selected. Everyone following me? So maybe it's an 1835. What else we got there? A 1422, whatever. Now, anyone guess what we can do with that? Any answers? We're almost there. What do we do now.
AUDIENCE: Plug it in.
MARCELLO SGAMBELLURI: Plug it in, right? This is just plug and chug, isn't it? Easy-peasy. OK, so let's do it. So you take that and you plug it right into the structural framing type, because those are the types we want. Dynamo is smart enough to match it up one-to-one. So you just go like this, boom and boom, like that.
And it's going to sync. And did we do it? Oh, we did it. Oh, but look. That's kind of cool, but we've got some beams that are flipped here. Do you see that?
This is actually a running bug that has not been fixed yet. What it does is it actually will change it to 180 on random ones. I don't know why. But you know what the developers told me, we'll fix it. So you know what I said, I'm not waiting for you. I'm going to do it myself.
So why don't we just add another node that says change that to 0. What do you say? Then we don't have to wait for the developers. Is that good idea? Yeah.
OK. Let's do it. So what you need is the set element parameter node. All right so you come over here, and then you go here, and then you go to-- we're going to set a parameter. Got it? So we go to Revit it, we say Elements, and under Elements we say Element again, just because you can do it on any element. And then we say SetParameterByName.
So we just built these, didn't we? When I say these, I mean the structural projected framing. Didn't we just build those? So those are the elements we want to change. So we feed that into element set parameter by name.
If you need a little reminder, what we're doing, is because these turned out to be negative 180, we want them to be 0. Everyone follow me why we want them 0? Somehow they're rotated negative 180 upside down-- I don't know why. We're going to rotate them back to 0.
You could window them and say 0, couldn't you? And type it in 0? But every time you do this and rerun it, it's going to flip it back to 180. So what you do is we want to set that to 0. That's what we're doing.
So everyone, you've got to memorize this, CROSS-SECTION Rotation. That's the parameter name. Got it? Cross section rotation. So what you do is you come over here, and you say, OK, let's do it.
So here's SetParameterByName, and then ParameterName, you double-click on here-- it needs a string-- and you say exactly as you sought, CROSS-SECTION, space, capital R, Rotation, endquote. CROSS-SECTION Rotation-- did we get it? CROSS-SECTION-- OK, good.
Does it have to be exactly as it is? Yes, it has exactly as it is. If you don't like it, deal with it.
ParameterName-- boom. Anyone guess what the value would be?
AUDIENCE: 0.
MARCELLO SGAMBELLURI: 0. Now, would you wanted anything other than 0? Maybe. Would you want to hardcode it at 0? Probably.
So all you do is double-click on their, double-click on the canvas and type in 0. And then here we go. We're going to do this, we're going to do this-- also, you can be running an automatic here. That's OK. And then you take this one, and you go like that, and boom. Oh! Oh, my gosh.
How pretty is that. Everyone like that?
AUDIENCE: Yeah.
MARCELLO SGAMBELLURI: Yeah, all right. Easy peasy, right? Easy peasy. OK. So what did we learn? Dynamo can do a lot of work for you. If Revit can't do, it ask if Dynamo could. Don't wait for the developers. Did you get it? Yes.
AUDIENCE: So when we do this it ends up associating with a random level. Do you know what causes that?
MARCELLO SGAMBELLURI: The question was, when you build it, it associates with a random level. No, I didn't really look into that much. Did you hear the question? But my answer to that is, well, then get another set parameter by name node and put it to whatever you want. That's my answer.
Do you know what Dynamo is? I'm sorry, I got to say it. Do you now what Dynamo is? It's a gift from the developers.
[LAUGHTER]
That's what it is, OK? All right. It's a gift. Where's John? If I gave John a beautiful gift, all wrapped with a pretty, blue bow, would he tell me, you know what? I don't like that bow blue, I want it pink. I want a pink bow. You're like, but it's a gift, come on! No, I want it pink.
That's the way I view Dynamo. It's like this beautiful gift. So you've got to kind of take it for what it is and just kind of work around it, because it is still helping you a lot-- or may help you a lot. So that's the way I view it. I've got this positive attitude. Thank you for the gift, developers. Yes.
AUDIENCE: So when we grant this [INAUDIBLE]--
MARCELLO SGAMBELLURI: I'm listening to you, yes. I'm setting it up. Go ahead, next one.
AUDIENCE: [INAUDIBLE]. Then when you create another codeblock, it sets rotation to 0, ran it again, it looks like this time it didn't create new structural members. It just modified the one that it created last time.
MARCELLO SGAMBELLURI: OK. So the question was, when we did rotation, it did not create new structural elements. That's correct. It did not create new structural elements. It knew to dig into the existing structural elements and rotate them. Even though it was running over again, Dynamo is smart enough to attach the Revit database, know what it did before, and know what you want to do now. It's very good at doing that. It wraps it in a transaction.
I'm teaching a class on Thursday on how to create custom nodes and zero touch. So we kind of go into that. But that's a very good question.
I'm going to set up the next example. Are there any other questions? These are awesome. Is everyone having fun? We're going to starting to move a little faster.
So think about how you can do that. So basically, when I model anything, I model all the flat framing now, and-- boom-- project it up. Because I can do it 10 times faster than if I have to-- so think about that.
Yes, I'm listening to you as we set up the next one. Go ahead and open up to number 2 start.
AUDIENCE: Is there a way to project it up without creating framing?
MARCELLO SGAMBELLURI: Is there a way to project up without creating framing? Yes, there is. And I'm going to do that in example three. Thank you. Do we have to model flat framing before we project? No. Good question. We'll get to that.
Number two-- let's do it. So this is called Revit wall by phase complex start. So if you go to the data set and double-click, it'll open up. I think if you open up-- I don't know. We get a little quirkiness sometimes because we're on these virtual machines. Sometimes it'll say invalid link-- just say ignore it. I'm not sure what's going on.
But anyway, when you see a big cow on your screen, you're ready to go. Why a big cow? I don't know. Because it's fun. That's why.
So we're going what we're going to do is Dynamo has the ability to build structural framing and structural walls. So I thought, well, let's have fun building structural walls. You can actually take a structural wall and host it onto a complex surface. So that's what we're going to do.
So maybe you have a bunch of complicated facades and you want to put walls onto those surfaces. Yes? Why not a cow? So this one we'll walk through, and then I think we'll start-- well, we won't have to do so many from scratch anymore.
How are we doing on time? We've got almost a full hour? OK, good. We're doing good on time. All right, are there any other questions? Is everyone having fun?
Yeah? All right. Good. It's just going to get way better than this.
We only have six node to put down in this case, so it'll go a little quicker. I'm not going to do my elaborate thing, because I want you always question why you're using Dynamo. And I'm not saying, always use Dynamo-- I'm not saying that. What you want to do is you want to evaluate, how long does this take me to do it without Dynamo? How long does it take me do it with Dynamo? And then make your decision from there. Or can I even do it using just Revit, like that last example.
So we're all smart, educated professionals here, you can make those decisions on your own, whether you want to use it or not. Plus, when you're talking with your colleagues and you're trying to get this in the office, they're always going to go, why, why, why, why, why, right? So you're going to need tell them. Got it? OK.
So what do we? Wall by face-- always start at the end and work back So what we want to do is we want to go wall by face. So open it up, say Manage, say Dynamo, again. We're going to say New, and then we're basically going to say wall by face.
All right. New-- ready? Revit, Elements, Wall By Face. By face-- this is actually a relatively new kid on the block node. So that's kind of nice. It says location line, wall type, and surface.
So location line-- basically, whenever you host a wall or you build a wall, it always tells you, do you want an exterior face, interior face, center? Do you want it basically on the outside of the face, inside of the phase, center, and all that business. So I won't go over that.
But we'll just we'll just pick an interior face. But that's what location line is. That's, where do you want it relative to the surface? Do you want to inboard, outboard, center? That's a good question, isn't it?
And then you got the wall type. So let's do wild type first. So we're going to do a selection. So go Revit, Selection, Wall Type. Revit, Selection, Wall Type.
Now, pick thin wall-- thin wall. Just pick thin wall. Why? Because thick wall was having a hard time mapping onto the cow. So if it's thin, it'll work. But you get the idea.
Next time, if you have a project that looks like a cow, come talk to me. We'll work it out. OK. So just do thin wall.
Next is surface-- good one. Let's get location line. Location line, what you got to do there is you've got to go to back to Revit Elements, Wall, and then Wall Location. See that? So it's right next to your By Face-- Wall Location.
I think I have finish face interior on this one. It doesn't really matter what you use, but maybe you want to use this one. Did I have interior face? Yeah, I got interior face. Cool. I like that one, just because it's got to build it out not in, in this case.
The next thing we need is a surface, right? So it's really similar to what we did before. Remember, we just did Select Face? So now, if anyone's not familiar with the Revit cow, I built this a few years ago. So you can have it. But it actually is built up of two parts-- one side is from the back leg all the way to the nose, and the other one is this kind of separate leg. So we'll just pick both of them, OK?
So all you do is you just drop down to nodes. We're going to pick the side of the cow and the leg. So how do we do that? We just go back to what we did last time. So we go Selection, and then we go to Select Face.
Now, could we do Select Faces? Yes. But we're doing Select Face now. So drop two of these down. Go one-- you can always copy paste, or you could just press it twice. There's a few ways to actually do this.
So one face will be this one, which will be the actual big part of the cow side, and then the other one will be this-- oh, it's going to take a while. There we go. There it is.
And then the next one will be-- here, the leg. There we go. Let me open this up. So it's going to look like this. Let me get this a little more tidy. There we go.
We zoom out, and everyone should see something like this. Yeah? (LAUGHING) All right.
Last thing we do is we have two surfaces now, but the Wall By Face is asking for one. So we just make a list of those two, feed it into a list, and then put the list into the surface. So there are a lot of ways to make a list. Let's just do it one way.
You can type in here and say List.Create, and it'll give you this node. You press this button, and it'll say 0 and 1. So 0 and 1, basically. Load these up as surfaces, and then it'll give you two surfaces. And then you put that in here, like so, and then pow.
So when everyone gets this then-- OK, lab assistants, can you let me know when everyone's here? Because I want to make sure everyone is here. I will zoom in, right there. Yes?
AUDIENCE: What if you selected the wrong leg?
MARCELLO SGAMBELLURI: That's OK. If you select the wrong leg, then you'll have something even cooler than what I have.
[LAUGHTER]
Yes?
AUDIENCE: Why are the element IDs the same?
MARCELLO SGAMBELLURI: Why are element IDs the same? Very good question. The element IDs are the same, because it's coming from the same Revit element. The Revit element, which is the Revit cow, is made up of many surfaces. One cow, one Revit family, many surfaces. So if you select one surface, then another, it's going to give you the same element ID, because it's pulling the element ID of the family. Very good question.
Anyone else? Are we good? Because we're quiet back there. Do you see a cow on everyone's computer like this? OK, cool.
So these are real walls. So hey, why don't we put some windows in? What do you say?
[LAUGHTER]
All right. So go ahead and close this. Go to Architecture tab, and if you're in Structure, make sure you always open the Architecture tab every once in a while. And then go over here to our window. I don't know-- boom. And give yourself a little-- pimp out your cow. OK.
Now, we're having a little fun, right? That's what we've got to do. All these examples are going to be fun. So any questions about this? Easy peasy, right? How many nodes we got up there? Well, you saw it. There was five nodes-- five, six, nodes-- Wall By Face-- boom-- get the surface, done. Yes?
AUDIENCE: What if I want to [INAUDIBLE] surface.
MARCELLO SGAMBELLURI: What if you want to create a model line on the surface?
AUDIENCE: [INAUDIBLE]
MARCELLO SGAMBELLURI: You want to create a wall as a line, instead of on a surface. So you want the wall to be created by a reference line instead of a reference surface, basically, is what you're asking? That's one of the 100 examples in your handout, so check it out. Easy peasy stuff. It's even easier. Any other questions?
How we doing on time? Oh, good, we're speeding up. All right, let's do number three. Awesome. Awesome, awesome. Is everyone having a good time? Yeah, all right.
We just have fun in here. It is so much fun. Oh, my gosh. So much fun.
So let's do the next one. And I got a little treat for everybody. So we're doing number three. So I don't know why, but I prefer, just for these exercises, to open it up. So number three is called get instance parameter by link. So we're going to say get instance parameter link start. Get set instance parameter linked start.
So here's what we're going to do. I'll lay it out for you as this opens. We have a wall, and we have columns that need to match the bottom of the wall. But the bottom of the wall is in a linked file. You got it?
That wall is in a linked file, as it may be an architectural. And so you went through to the architect's office, and you coordinated everything, and then you saw that the columns now are shorter than the wall, because the architect changed their mind and made it longer when you did a reload with the link. Architects don't change their minds?
[LAUGHTER]
Absolutely, right? But you're like, it's in a linked file! So what? Dynamo can dig into linked files and pull out parameters, which could be a bottom of a wall value. And then you just take the column and set it to that offset value. That's all we're doing. Ready? It's pretty easy.
So the way it works is-- if anyone recognizes example, it's kind of a classic that I've used, but this is the first time I showed it with a linked file example. So what are we going to do? Let's first select all the columns.
So do you see here? You could just go through here and type in the. Value couldn't you? But then when the architect changes it again and you reload, then you'd have to do it all over again-- everyone with me-- because it's a linked file. OK, cool.
So you could go in here. So what we do is we want to just select all these columns in the back face. So what we're going to do is we notice that this column is called a concrete square column. So we're going to open up Revit, and we're going to select all concrete column of that size. We're still in 1.3.3.
And we've got 45 minutes. Oh, awesome. We're doing good on time. Three. Doing good on time.
So here we go. So we're going to go New. So we're going to go to Revit, we're going to go to Selection-- I think this might be our last one we do all from scratch, but we'll see, because everyone's rocking and rolling. We're doing great.
So what we do is we go Family Types. We're going to select all the Family Types in the project. But that won't happen to be called concrete. You can scroll or you can type in C, and it'll kind of get you there. Concrete-- here, concrete square column, 30 by 30. Everyone see that? Is that hard to see? Not, too bad?
Can you see that back there, John? It's this concrete square column, 30 by 30. Can you see it now, John? OK, awesome. You get that?
Now, that just selected the type. We need to select all the family-- all the instances of that type. So you say, all elements of family type. That'll select all seven-- 1, 2, 3, 4, 5, 6, 7. It's OK to do a sanity check. Seven, right here. Ooh, seven. It'll tell you how many are in the list-- seven. Awesome.
OK. So now we have them. Ultimately, what we're doing is we're setting the parameter of the base values of them. So you always have to ask yourself, what am I doing? Do you see it's at minus 5 right now-- five feet? We want to set the base offset value to the bottom of the column.
So what we ultimately want to do is we ultimately want to change the parameter of the column. So if we want to ultimately change the parameter of the column, we need to get the set parameter by value. I'm walking you through this, because this is the logic you use as you go through.
So you go to Elements-- because we really did this right when we did the rotation. Element, Element again, and then Set Parameter by Name. So weird you've got the elements-- don't we? Those are the columns. Isn't it we want to change the columns, or we want to change the wall? Do we want to change the columns or the wall? Columns, right? OK, call.
Parameter name is called Base Offset as you see it, capital B-a-s-e, space, O-f-f-e-s-t-- Base Offset. Now, what's the value? The value-- anyone-- what would the value be? What would the value be? Can we just type in minus 11 foot 6 there? We could.
AUDIENCE: [INAUDIBLE] bottom of the wall.
MARCELLO SGAMBELLURI: Bottom of the wall. So let's get the bottom of the wall. Let's dig. Let Dynamo dig into that linked file and pull that parameter out. Cool? Let's do it.
So there's a package out there that does it-- actually reaches into a linked file. But first, you need to select the linked file. So let's first select the linked file. So let's go to Selection, Select Model Element.
All we're going to do is select the linked file. Everyone follow me? We're selecting the linked file. Got it? We're selecting the linked file.
So select the wall. The wall is a linked file. It's link.rvt. whatever it is. The architecture-- whatever is. OK.
Now, we're going to move out of the box nodes, and there's a node out there in the Package Manager, and you also have it here. It's called the Spring Nodes. You go to Spring Nodes, you go to Revit, and then under here you say Collector. Under Collector-- I'm going far. You can always type this in.
It says Spring.Collector.LinkedInstanceElements. I know that's a lot. But here it is again-- Spring Nodes, Revit, Collections. Why? Because the developers did not create an out of the box nodes to pull data from a linked file. Did everyone get that? Yeah?
So when you get Dynamo off the internet, you download it, you open it, you don't have the ability to reach into a linked file. But there were people out there, including John, who has the Rhythm package, as well as a few others. And this Spring Package was done by another individual. They kind of code on their own time and do this. So these are more gifts for us. But you just pull that node down.
So the link instances is the actual link that you selected. Whoops, whoops-- this one. And then the category is Walls. So you wouldn't want to reach into a linked file and grab everything, right? You may have 5,000 elements on your hands.
So this is a way to kind of filter it a bit. In this case, there's only one wall in that file. But anyway, you get the idea. So the category would be-- what do you think?
AUDIENCE: Walls.
MARCELLO SGAMBELLURI: Walls. So to select a category, you go Revit, Selection, Walls. No, no-- Revit, Selection, Category, Category, Walls. Walls, plural. There we go.
Now, if you go to Elements here, it's going to pull the elements. It pulls it transforms, in case they got rotated or whatever, but they don't have that here. So what you can do is if you want to see this, instead of using a watch note, I just double-click and make a variable like x, and then I feed that in like that so I can see it. And it shows you you have one wall that got selected. Everyone still with me?
How are we doing, John and Masha? Good? Yes? OK. All right.
So all we need to do now is get that parameter. So I'm going to move a little faster. Ready? So we go Revit, we say Elements, we say Element again, and then we say Get Parameter by Value.
So we feed in the element on the Get Parameter. We're getting it from the wall, right? So we feed in the wall we selected from the linked file. The parameter name, if you tab through this, is also called Base Offset. Do you see that?
I'm viewing the linked file now. Is everyone looking up there? I'm viewing the linked file. Does everyone see it?
AUDIENCE: Yeah.
MARCELLO SGAMBELLURI: OK. So that's also called Base Offset. Which is convenient. Why? Because then we can just use this one and plug it in there. Now, it should pull out the value of the wall.
We just pulled a value out of a linked file. Is that not cool? That cool stuff? No? Maybe? OK.
One more thing-- what do we need to do now? We've got to take the value that we selected, and we got to modify the columns. So let's go and take this one. Let me zoom out a little-- right there. We'll pull this over here. And we'll wire up the value we pulled out into-- what am I putting it into, again? The node that changes the column parameter, yeah?
So wire that up-- boom. And then come over here. And then again, it only did it to one. So what you can do is you can right-click on this and say, Lacing, Cross. And then it will do it to all of them. Whoo.
Yeah. How cool is that? Everyone there? I'll leave that up. How are we doing? Am I moving a little fast? A little bit? OK.
What's that? OK, I'll leave it there. Is that for me? Yes?
AUDIENCE: Is the wall-- if it were the other way, would we be able to edit the walls.
MARCELLO SGAMBELLURI: If it was the other way around, could you edit the walls? What do you mean?
AUDIENCE: Like, for a link.
MARCELLO SGAMBELLURI: Could you edit walls in a link, is that what you're asking?
AUDIENCE: If I change the parameter of the wall.
MARCELLO SGAMBELLURI: Could you change it? Well, I'm just going to say, for the most part-- the question was, can we change the linked file, basically. For the most part, linked files cannot be changed through Dynamo. That's all I'm going to say.
AUDIENCE: [INAUDIBLE].
MARCELLO SGAMBELLURI: For the most part. That's all I'm going to say-- for the most part. Yes?
AUDIENCE: Could you change all the columns from basically [INAUDIBLE]?
MARCELLO SGAMBELLURI: The question was, if the column changed to a different size, this would be invalid-- that this selection method would be invalid. Absolutely. So you would have to select it a different way. Absolutely, yes. Yes. But this is just one way to select. There's probably 20 ways to select something-- I can't go over everyone.
Everyone, in concept, understand what we're doing? You got a linked file, you need the value, you set it to something that's in your actual Revit, and-- boom-- they match up. That's all we're doing here. 2, 4, 6, 8, 9 nodes. No, 8 nodes. All right.
Does everyone have this? Does everyone have this match up one-to-one?
AUDIENCE: [INAUDIBLE].
MARCELLO SGAMBELLURI: Oh, get parameter node. The question was, where do we get parameter node. You go to Revit, Elements, Element again, and Get Parameter Node. Right there.
Now, if you're falling behind, it's OK. All you do is say open-- I'm only says once. You go to the actual file, and every file in there has a final-- get set parameter linked final. Everyone has a final. So you can open that and it'll already be all done for you, and then you can click Run, OK? If you're falling behind, feel free to do that.
Did everyone hear what I said? There is a Dynamo file in each folder that says final. Open that, and run it, and you'll get the same results.
So let's do that on the next one. We're not going to place an element down. We've got 30 minutes? All right.
So let's do that on the next one. Are there any questions about this? Yes?
AUDIENCE: Just for being consisten, one of your walls is transformed so that it has various levels.
MARCELLO SGAMBELLURI: Yeah. So let me just say this, this is more of an intro level course. So as you get really more complicated situations, these scenarios that I'm putting up won't work. You'll have to tweak them to make them work. So the question was, what if your wall is stepping all over the place? Well then you would have to use a slightly different method. But you can still do it, just not using these nodes. So there's going to be a lot of what-ifs here, but you kind of understand what's going on here, yeah?
So the next question, we got the question, and we said, do you remember when we took the framing and we projected it up to the curved surface? Instead of modeling flat framing, what if we actually, instead of had flat framing, we could just place structural beams on grids. So let's open up the next exercise, and I'll show you what I mean.
So let's go ahead and open up number-- what are we on, four? Or are we on five? We're on four, canopy beam. Can everyone open canopy beam start?
All right. So what we want to do with this one is we have grids-- so we have a complicated surface. We want to place girders on the major grids, but project them up to this curved surface. So it's going to be similar to the one we did, except this time we're not using structural framing, we're just going to use the actual grids as references, project those up, and put beams on those.
So we won't lay it down, because everyone conceptually knows what's going on here. So let's just go ahead and open up the final one. So everyone go here to Manage, and say Dynamo, and then open up the final one in there.
So this time we're going to Open, and then go to your data set, go to canopy beam, canopy beam final. Open. So as we move forward, we're not going to be placing nodes down a whole lot anymore, just because we kind of got the hang of it. But this is basically what we're doing-- we're selecting the face, we're selecting the grids, and we're projecting up. Didn't we do that in exercise one? This time it's grids.
But it doesn't have to be grids. It could be model lines. It could be detail lines. It could be center lines of walls. Does everyone see what I'm saying? It doesn't have to be structural framing. Does that answer your question there-- the gentleman there? OK.
So let's just hit Run. Boom. And then it put-- oh, oh, oh. Oh, boy. It's actually not going to work, because we found out that there's actually a bug running in in 1.3.3. So everyone close Revit, open it again. Let's do it one more time. This time we're going to use 2.1-- 2.0.1.
Open it all over again. But instead of 1.33, let's do 2.1. So you'll see what I mean. So we've got this.
So let's do it again-- Manage, Dynamo. We're going to use 2.0.1. This is the only exception we're going to do it with, because it's broken in 1.3.3 with putting all the curved elements.
Now, go ahead and open up your framing again, and then hit Run, and then it's going to run. And then it's going to actually put all the beams on. Now, we still have that same issue with the beam flip thing, don't we? You see that there?
But we know how to correct that now, right? I'm not going to do it. I'm just going to take them, and select this, and take zero. But you know how to do that now. OK.
So can everyone do that? So everyone go ahead do that. Open up and you get the beams. Exercise four-- got it? Open it up. Open up, open 2.0.1, and run it, and you should get beams that look like that. You can flip them around if you want, or not.
Any questions about that. I just wanted to prove that we could do that same example but just not with flat framing, with projection. Projection is huge, because-- do you understand why we're doing this? Remember, Revit doesn't do projections?
AUDIENCE: It used to.
MARCELLO SGAMBELLURI: Did it used to?
[LAUGHTER]
The comment was that it used to. All right. Any questions about this? We're going to start to slightly shift our focus from just building Revit elements. Yes?
AUDIENCE: [INAUDIBLE] put the zero [INAUDIBLE].
MARCELLO SGAMBELLURI: The question was, it didn't follow the form when we turned it to zero. I suppose that's possible if it wouldn't follow to zero, but it is on a curve, but you did rotate it. Yes, I suppose the common is if you rotate it by hand and it's not perfect, then have Dynamo do it. That's a good comment. Yeah.
OK. Yes?
AUDIENCE: [INAUDIBLE] 1.3 [INAUDIBLE]
MARCELLO SGAMBELLURI: The question, why is the bug at 1.-- I don't know. But they gave me a gift of 1.3.3, and I love it. But I got another gift on 2.0.1. So it works in this gift, but not this one. So what? So I kind of flop versions here and there.
There's a nice, solid release coming at the end of the year, 2.1. You should be using that when that comes out. But right now it's not out. But it's soon-- soon.
AUDIENCE: [INAUDIBLE].
MARCELLO SGAMBELLURI: Any question?
AUDIENCE: Does 2.1 have any rasterization tools? [INAUDIBLE]
MARCELLO SGAMBELLURI: OK. So a common is, 2.0 works. Well, you try it out for yourselves. But anyway, I'd recommend everyone get on the new version when it comes out at the end of the year. Any other questions about this? OK.
I'm excited to show this next part, which I have actually never done. So what we've done here is because this is Dynamo for structure, we're going to move off topic a little bit now, and we're going to start talking about something else here. Do we have time? Actually, we have-- we have time to do this. Let's do this change beam types, and then we'll go into our analysis.
So let's do change beam types. And we're going to move back to 1.3.3. So change beam type, start.
So what we want to do here is we want to set up a situation where-- so this is what we're doing in this situation. Where'd my pointer go? I don't know. All right. So what is inherent in Dynamo is you're allowed to actually change a framing type using Dynamo. See that Set Element Parameter by Name? Instead of feeding in-- and you feed in a type, and you feed in, quote unquote, "family and type." If you do that, you can change the size of a beam using Dynamo. That's what you can do.
How would you change it now? You'd click on the beam and use the type selector. Type selector-- type selector, type selector, OK. So when I was going through this, I thought, what would be a good example to highlight how Dynamo can change a beam or change a wall type? But that's not that exciting, because you can use a type selector.
Well, what if you built in logic-- engineering logic? What if he said, you know what, all my beams that are this short, analyze them. The ones that are this long, analyze them. Put in some engineering logic and use the type selection from Dynamo, that way when that criteria is met, then it will lengthen, or deepen, or shallow up the beam depending on its span.
Do you see what I'm saying? Wouldn't that be engineering logic? You've got a beam that's so deep. It can't be 100-feet long by set. So use some engineering logic, and as that beam lengthens, it'll start to grow in depth based on engineering logic that's based on the ability for Dynamo to change a type. Everyone with me? So that's what we're doing.
It's pretty simple. It's just that logic. I have my own logic. You may have your own engineering logic. But for steel beams, usually it's the depth in inches can go twice its span. So that's what I have up there.
AUDIENCE: If we're storing the data in a common place [INAUDIBLE].
MARCELLO SGAMBELLURI: I'm sorry, what's your question?
AUDIENCE: If we're storing the data, and it comes in a spreadsheet or [INAUDIBLE].
MARCELLO SGAMBELLURI: Let me clar-- what data?
AUDIENCE: The [INAUDIBLE].
MARCELLO SGAMBELLURI: Let's go through this example, and I'll address that. So here, let's go ahead and openness. So let's go ahead-- I'm not going to build this from scratch, but we'll walk through it.
OK, ready? So go Dynamo, and then we're going to say Open, and then going to say Main, change type beams, and we're going to say change beam type final. So let me run through this logic really quick. So basically, you have the get parameter which is going to find the length of a beam. Everyone with me? The get length is going to find the length of a beam. That's what you want to Do
You want to compare it against some criteria. In this case, I'm doing the length divided by 2. And then I say, OK, if it's a certain depth based on that criteria, keep it that size. If it grows more than that criteria, then make it a different size. That's what this if statement does. And it feeds into here, which is the family and type parameter, and then the value just changes through the if.
So go ahead. Let's try it. Let's run this in automatic, everyone, and see how this. This one geeks me out hardcore. Oh, my gosh. Watch this. Holy smokes.
OK. So we're going to run it. Everything right now was the smaller size, which was 12 by 19. And in this case, we're only using two beams, but you can use as many as you want in your criteria. Do you see what I'm saying? I'm only using two, but you can use hundreds of different beams if you want to select from.
So basically, it went through, and it said, OK, based on its depth, I'm going to make you deeper. So in this case, this beam was 32 feet. I think 24 feet's the threshold. So if it's shorter than 24 feet, it'll keep it the 12 by. If it's longer than 24 feet, it'll make it deeper. Did everyone understand that?
So let's try to force something to be longer. So we've still got this one, which is a 12 by 19. Can everyone navigate over to this corner? Keep that running automatic. So this is your engineering logic that's running in the background.
Now, as you move this out, all these beams are going to get deeper. Did you see that? Can you do that?
Let's do it again. You pull this out. You make these longer. And as you do that, successively, each one of these is going to get longer. Or conversely, if this got shorter-- does everyone see that? I won't let this go, and conversely these will get shorter. Do you see that?
Anyone think that's cool? That's super-cool.
[LAUGHTER]
Oh, my gosh. All right. Why not, right? Why not, right? If you're like, is that the right beam size? I don't know. Put the logic in yourself, gee.
[LAUGHTER]
So a lot of the framing, I lay out now. I put these rules in just so I can get an idea of how deep things are. And I actually tell this to my architect friends. And they love it, because they don't have to call you all the time to tell you how deep should that beam be. Here's some logic, do it yourself.
Yeah? Is it cool stuff? Yeah? All right. OK, cool.
So any questions about this? All right. You can use all kinds of engineering logic. The last year, we did one with concrete slab spans. But just have yourself a good time with it.
Let's move on to act three. Oh, I'm so excited, now, to do this. So there is a very rich database behind something that we use every day in the structural analysis office. How are we doing on time? Oh, we're doing awesome on time. OK.
This is Dynamo for Structure, right? How many people in their office whether you use it or not-- it's in your office-- some kind of structural analysis program. Some? How many people know people that use structural analysis programs? OK, good. This will be for you too.
So so far, we've been using Dynamo to talk with the Revit database. Well, I went through and wrote 800 custom nodes so that Dynamo can talk with other structural analysis databases. So today, we're going to use one called ETABS. Has anyone ever heard of ETABS?
If you haven't, it's OK. It's similar to Revit, except it does structural analysis. So I'm going to show you how to use Dynamo with ETABS, so you can extract structural analysis information. You may think, well, why would I ever use this, I'm sure you can find someone who could.
So Autodesk University was so kind enough to give us full licenses of ETABS for the lab today. So we've got to thank them. This was a long journey to get it, but we got it.
So we have a premade example. But I just want to tell you, the way ETABS works is very similar to Revit. It's got grids, and beams, and floors, and stories, and walls, and columns, just like Revit, except it has one other component-- you can run an analysis and get internal stresses. With engineers, a lot of times they need to extract that data and dump it into a spreadsheet. So what I'm going to show you is ways you can talk with the database and pull that data out, and give it them.
So if you've ever seen any engineers actually do use ETABS, they do an analysis, they copy, they paste into Excel. They do an analysis, they copy, they paste into Excel. They do an analysis, they copy, they paste it here. Right
So Dynamo has the ability to reach in and pull that data out. So I'm just going to show you on a very fundamental level how that works. Do you want to see it? Oh, super-cool.
So we're going to use the Simplex package, because Dynamo, out of the box, didn't make nodes to do this. But we're going to do that. So let's first open up the model. What we've got to do is we've got to open up e ETABS. OK, everybody? So let's open up ETABS.
Let's close Revit. We don't need Revit. So let's everyone open up ETABS. I believe you could just double-click on this file, ETABS geometry analytic final. If you don't want to do it that way, you can open up ETABS in the software, and then you can open up this. Now, what I did was I just happened to already have done a run, which means analyze. So there's already internal stresses waiting for you to look at.
Can anyone see how this would be helpful in any way to touch a structural analysis database? OK, cool. We're using ETABS, but the simplex package also touches SAP as well. Has anyone heard of SAP? I'm currently working on one for RAM as well as RISA. And simplex also has the ability to talk with Tekla right now as well. So this is just kind of the start of that.
So is everyone opening up ETABS? Oh, yes. Cool. OK, I'm getting nervous. I've never done this. I've never done this in front of an audience before. All right, cool.
How are we doing on time? Good, we've got 12 minutes. Any other questions? Any other questions? Hey, Ryan, see you. About this? No.
Whoops. Is yours already open?
AUDIENCE: Yeah.
MARCELLO SGAMBELLURI: Oh. OK, OK. You know what, OK, yeah. Then open up open Revit then. Open up Revit then open up Dynamo. Actually, I have a licensing issue I need to solve really quick while you do that. My licensing will work a little.
So open up Revit and open up Dynamo. Why? Just because we're using Revit to open up Dynamo that's the only reason why.
AUDIENCE: Does this work with Dynamo Studio?
MARCELLO SGAMBELLURI: The question was, will it work with Dynamo Studio? The answer is yes, it'll work with Dynamo Studio. But I don't open up Dynamo Studio, we're going to mess everything up. So you have this? So let's look at some analysis results really quick, and let's extract it.
Go ahead and click on the right side here. If you're not familiar with ETABS, then it's OK. But it works very similar to Revit. Over here, go to Display. Go to Force Stress Diagrams. And we're going to look at the moment diagram.
Don't worry, all of this is default. Go to frame [INAUDIBLE] spandrel. And it's OK if you don't see this. It's OK if you don't do this. And then just say, OK. All this is going to do is just display moment diagrams for us on an analysis that was already done. This is bending stresses in a beam under dead load, under its self weight.
So let's see if Dynamo can pull that information out. So let's open up Revit if you haven't done it already. I have to do it. So I'm going to go to Revit. Mine works a little differently here. And then everyone open up the final Dynamo file for our exercise.
So if you want, what you can do is just say New in Revit, just to get a file open to go to Dynamo. Can everyone do that? Just say New. It doesn't matter what you open. And then just say Dynamo. We're going to still use 1.3.3.
How we doing, John? Good? OK.
So everyone open Dynamo. Say Open, and you're going to open up the ETABS frame analysis results, like that. OK. So the way this works is you have this very large node. Can you see that? It's huge-- just because it has a lot of outputs. But it's in the Simplex package if you ever want to look for it later.
Basically, it says, OK, tell me what load case you want to look at, which would be dead load, and I'll tell you-- what is called here M3-- what the internal stress is. So let's go ahead and hit Run. And it's going to extract all that data. Oh, my gosh.
Now, the way this works is these are stations along a beam. And what it is is this note actually converted it, because for the ETABS database, it comes out as pound inches. So I want to convert it to kip feet-- sorry, we're using imperial units today-- so we can match what we saw inside of our display. Everyone follow me?
What we've just extracted in numbers out of Dynamo, we want to make sure that's what was actually in the analysis results run. So if you look down here, you see this value here-- I'm going to zoom in. This says 15.3 kip feet minus. Let's see if we can see that in ETABS.
So you go back to ETABS, and then you look It's this particular element, which is element number 74. If you right-click on that, you can look here-- see this little slider-- you can pull it to the far right. And then you see here, this says 15.31 Oh, my gosh. I'm so glad that worked. Holy smokes.
This was about a year in the making. Maybe it doesn't sound so significant, but it's huge. I'll tell you why. Because we were able to, just like when we went into that linked file, we can now touch structural analysis software. Can anyone see how powerful this is? Yeah? Yeah? Yeah? Oh, my gosh! Holy smokes!
So you're like, you were doing Dynamo for ETABS? Yeah. Wow. Oh, yeah. I use Dynamo. Oh-- Wait, wait-- hold on. I got to give everybody something.
I'm all proud of you. You're doing awesome. I've got special gifts for everybody, because you're so awesome. I know I'm jumping a little bit around here, but I made these very special ribbons for everybody. And they say Dynamo structural programmer, and they're only exclusive to this class. So we're all in a-- this is like our Fight Club, OK? So everybody gets one of these.
[APPLAUSE]
So when you see this, you see them in the hallway, you're like--
[LAUGHTER]
So when someone comes up to you, and they're like, oh, yeah, I took a Dynamo class. You're like, Dynamo for Revit? And you say, Dynamo For Revit? And they say, yeah. And you can be like, hmm, I already know Dynamo for ETABS.
[LAUGHTER]
It was no big deal. Could you help me with these? All right, everyone. So Dynamo structural program-- I'll wear one too. So is everyone having a good time? We've got another one to go over. Yes, question.
AUDIENCE: So you wouldn't have even had to open ETABS to be able to pull that data?
MARCELLO SGAMBELLURI: The question was, you wouldn't have had to open ETABS to pull that data. You have to open ETABS to pull the data. So you have to open Revit, and then Dyno to pull the Revit data. You have to open up ETABS, then Dynamo, to pull the ETABS data.
I spent a year on this class. There are 800 nodes, Dynamo for ETABS. There's 800 nodes, Dynamo for SAP, for all of you. And then there's more on the way. So show somebody that. Super-awesome, super-cool.
So you want to do another structural analysis sample?
AUDIENCE: Yeah.
MARCELLO SGAMBELLURI: OK. This one's even better. Does anybody-- how we doing on time? We got 11 minutes. Does anybody use this program? Oh, my gosh. It's getting real now.
Here-- I'll put this on a little later. Has anyone use this program, Enscape? Enscape is technology that latches on Revit that views things in real-time rendering. I don't know-- oh, there. There's nothing in here, but you understand, yeah?
So I was like, you know what, now that we actually took Dynamo and tapped the ETABS database, when you were ETABS, did you see how kind of simple the interface was? Let's go back. Let's open up another one.
So let's go to main-- I'm going somewhere with this. Let's go to ETAB model viewer, and let's go to viewer final. Open that one.
The ETABS viewer, as well as SAP viewer, as well as the RAM structural steel viewer, as well as all the other structural analysis viewers, are all based on technology that's at least 20 years old. So I was thinking, if you already have Dynamo tapping these structural analysis databases, why not extract that data and put it into a game engine. That way you can view your structural analysis model, not by that primitive viewing technology, but by a newer technology.
So what if we kind of made like an Enscape for ETABS? Wouldn't that be cool? So there's also nodes in the Simplex package that allows you to do this. so you want to see it? Let's do it.
So you've got your model. Let's say you've got your model, and you're like if everyone wants to zoom in on this, give it a try. If anyone want to try to rotate on this, give it a try. It's not the friendliest thing on the planet. But what you can do is you can then go-- let's get Revit and then Dynamo open again. So let's go to Revit. OK, cool. Oh, my gosh, I'm getting excited again.
Go to Revit. Mine's going to-- so just open Revit, open a blank project, open up Dynamo. Yes? Open up the final Dynamo for that example-- model viewer-- something-- model viewer, I think. OK, we're going have a lot of fun.
So I just say New. That's how I open it. But the gentleman over there said, could you use Dynamo Studio? You absolutely could. Could you use Dynamo Sandbox? You could use Dynamo Sandbox as well. So Manage, Dynamo, remember, 1.3.3.
And then we go to Open, and then Main, and then ETABS Model Viewer, and then open up this ETABS model viewer final. So what this does is-- it may seem a little funny, but it's not that bad-- basically, all you do is you just tell it-- in the data set, I gave you an Unity game engine executable file. So basically, all that does is it points to that Unity game engine. Then any time the model changes, it rewrites that data back to Unity, fires up Unity, and then away you go. That's all that is. But all those nodes are available in the Simplex package, as well as your handout.
So you see this? Everyone saw what the ETABS model looked like? Did anyone navigate in here just a little bit to see how late 1990s it is?
AUDIENCE: Yeah.
MARCELLO SGAMBELLURI: OK. And then go over here and say Run. And then it's going to kick up this window. This is basically the launcher for the game. Just go ahead and make this whatever resolution you want. Make sure it's windowed. We're having trouble with the frame virtual machines, but OK. And then click Play. It's going to fire Unity, and it's going to show your ETABS model inside the game engine.
AUDIENCE: Wow
MARCELLO SGAMBELLURI: How cool is that?
[APPLAUSE]
Yeah. OK. So unfortunately, you don't have mouse look. You can't do this. It's a thing with the virtual machine. So I apologize. Don't give me a bad mark because of that, OK?
[LAUGHTER]
But you are still able to look in the top-left. You can move up and down, and you can move left and right. But I was like, you know what-- because, see, this is what you do. So just keep progressing, right? You're like, OK, now that we have Dynamo for ETABS, well let's make them a viewer. OK, now that ETABS model is inside the game engine, let's add some physics.
So in my firm, we have a lot of fun with this. So I'm like, OK, we get someone's model in there, and then if you want, you could push F2 and it will actually explode your building.
[LAUGHTER]
And then you could turn on F3, and it'll turn on gravity. Oh, my gosh, this is so fun.
[LAUGHTER]
And you can press Backspace. It'll kind of reset it all. And you could do it all over again if you want. How cool is that?
[APPLAUSE]
All right. [INAUDIBLE].
AUDIENCE: [INAUDIBLE]?
MARCELLO SGAMBELLURI: Yeah. Let's do this. Now X to quit. We had issues earlier with the X to quit. Let's do it one more time. Let's close Dynamo. Let's make a change to this model and see if it changes in the game engine. What do you say?
So the way you change an ETABS model, if you go up here, it says reshape object. There's many ways to do this, but reshape object, do you see that? And then you kind of get this little arrow. Just click on something-- I don't know-- and then grab it and pull it. I don't know. Change something. Change something, OK?
It's got to be a frame element. Did you see what I did? Changed something. Change something, Whatever it is. Do you see what I'm doing.
So you go back here. It says reshape object. Do you got it? Reshape object. Or I don't know, you could delete half your model. Whatever, right? We're making a change, yes?
So make a change, then you have to open up Dynamo again for the change. I didn't code into do auto-changes. I didn't. So remember, the gift, the package, it's got a blue bow. Anybody want to complain? So open up that file again, open ETABS model viewer final. And then say Run, and then say Play. And then you'll see that the changes have been made.
How cool is that? Oh, my gosh. Sorry you can't pan like I can't. But, oh, my gosh, look at that. I'll be there, because that's where you're at.
You can go up or down. And then, of course, you can-- boom-- explode it again. How cool is that? Love tapping that database, yes? Yeah. All right, cool.
[APPLAUSE]
Any questions about that? Yes?
AUDIENCE: Is there enough data between the analysis in Revit to have a back and forth [INAUDIBLE]?
MARCELLO SGAMBELLURI: The question was, is there enough data to push data back and forth between Revit and the analysis program? I know I was going to get this question. Right now, when we did our ETABS example, we had nothing to do with the Revit database. Is that correct? So for right now, just think about it this way-- I'll answer your question, but think about it this way-- in your office, at some point in time, whether the ETABS model, the analysis model, was linked with Revit or not, at some point that user always opens up that analysis file independent of Revit. And they're doing stuff, and they're extracting data, whether it's copy and pasting.
So that's where this comes in. Do you understand? But this does have the potential to link up Revit and ETABS and have the databases talk to each other. Because there's something on the far left when you open up Revit, and you open up Dynamo, and you open up ETABS. There's a tab over there that says Revit. And there's things in there that you can do like we just showed. So I'd let you all use your imagination on how you can sync it up.
And email me. My contact's there. We'll put it up on the blog site. We'll even make a comic strip out of it or something. But I want you all to have fun. Is that a good question?
AUDIENCE: Yeah.
MARCELLO SGAMBELLURI: OK. Are there any other questions? Did you blow up your file? I hope. What's really cool is you can put this in reverse, actually, and then watch it all come together. That's even cooler. So let's see. How are we doing on time? Doing good?
There was only one other example we didn't go over, but it was just basically how to extract column center lines. But it's just five nodes, and so we won't need to go over that. So I think we'll come and take this for landing. I'm going to stick around just for a little bit. I appreciate-- hold on, wait. Wait. Hold on, hold on. I've got to send you out the right way.
[FUNK MUSIC PLAYING]
OK, everyone, Dynamo is awesome, Revit's awesome, structural analysis is awesome, you're all awesome. I want you all to go out there and do awesome things. Thank you, everyone.
[APPLAUSE]
Have a lovely day!