Best Practices Course – Week 21 Part 3 – © copyright 2013 by Eric Bobrow
BEST PRACTICES COURSE – WEEK 21 – Creating and Customizing Library Parts
PART 3 – Combining 2D and 3D Elements; Scripting the Object ID; Changing the Object Subtype
Hello, this is Eric Bobrow. This is the third and final section of my three-part ArchiCAD video training on creating custom library objects. In the first two sections we focused primarily on creating 2D symbols and making them smarter so that text, for example, is parametric and to be changed on the fly; and adjusting the 2D hot spots or selection handles so that they match the element geometry for precise placement. We did create a single 3D element, a new object from a wall and a slab, and we will take that as the beginning point of this new section and go much further, combining 2D and 3D elements together into compound library parts. [0:00:40]
Then we will teach that library part to be smarter so that it can pick up the object ID from the info box, which is much faster for labeling these elements for the floor plan. And finally, we’ll change the object subtype for the new element so that they have all the listing parameters necessary to fit beautifully into your interactive schedules such as an appliance or equipment schedule. Let’s get started. [0:01:07]
Now let’s take a look at the 3D and see how we can go a little bit further with the 3D element that we did. So I will take this wall and slab and I’ll drag a copy of it over here. Let’s say that we wanted to put some 2D information along with that. So I will go to the Text tool, and in fact I will actually just pick up the settings of the original text element using the eyedropper, that way I will have the anchoring the same. And I’ll go put in perhaps S for Stand or something like that. [0:01:49]
Now this text here, right now of course it’s fixed, it’s a letter. Let me go ahead and put in a line just to demonstrate how this would work. I will go put in a line; maybe this stand is going to have something that will insert into the wall. So we want to have this line indicating that. Let me go to the hotspots and say that I would like to put the hot spots before I create this – actually let me undo that. Let’s put it in by the center and then have some additional hot spots here and maybe we’ll go to these points. This is sort of whatever you find convenient. [0:02:30]
So now I have hot spots at a lot of points, maybe even the center of the text would be nice. So having done that, I’m going to select this combination of 3D elements and the text line and hot spots and save it. We will go to File, Libraries and Objects, Save Selection As, Object. And we would just call this “Stand 2”. I could go in here and we’re going to have the base material and the back material. I could edit some of the things but I will leave them alone. I’ll just say OK, and now having done that, I can go to the Object tool and place in this object. [0:03:22]
Now you’ll notice that it has all of these hot spots that I’ve created plus the bounding box. So I’m going to get rid of the extra hotspots and I will just open up the object using the keyboard shortcut, go into the Details, Compatibility Options, turn off hot spots and bounding box. Then I will go and add one parameter for that text item. So I will say New, and we’ll just say “Text ID”, change this to the text here “Text ID”, and we’ll put in “S”. So whatever we choose to use this for we can do. I will then go ahead and save this. Actually, I’ll need to go into the 2D and find where the text is. So I’ve just scrolled all the way down and you can see here’s where the S is. And I’m just going to replace it with “Text ID”. [0:04:22]
I have to be careful to make sure it’s the exactly the same spelling as what I used and then save it. At this point if I go back to the floor plan you’ll see how it’s updated and not have the extra hot spots. I can change the letter here by going to the text ID and saying X or something like that and that letter will update so that it’s parametric just like we would expect, and has nice snapping points. In addition if I go to the Object tool, we are going to see that the base insertion point is this one, but I could switch to any other one. So if I don’t think about it, it will be inserted by that point here. [0:05:01]
Now let’s look at one final thing, and that is if you have in ArchiCAD library part that is sort of good – in other words, it’s useful but you want to add to it, you want to get more information on it, or you want to include an ArchiCAD library part as part of a more complex object – let me go to the Object tool and let’s just find an object here that will work. Let me just find one that I had picked out ahead of time that is a diffuser. See here, this is an object that has a 3D shape. It’s intended to be used in the ceiling. But on the plan, it does not have any text identifying it. [0:05:45]
And perhaps I might want to have something identifying it as air conditioning or giving it a number, things like that. So how would I do that? I don’t want to have to go into all the complex programming of this. There are all sorts of parameters that we can do to change the appearance or choose what level of detail this is. I want to make it simple and we can see how it changes some of these things here. There are various controls for it. So let me just assume that I’m going to create an instance that is what I would like to include, then just say OK. [0:06:25]
I’m going to place this object, and then what I’ll do is go to the Text tool. And again with the text I will go place here some text, maybe “AC” for air conditioner. And then select the ArchiCAD object and the text. Now this could be more complex, I can have a whole bunch of things here including objects as well as walls, slabs, anything I want; some text, some 2D stuff. Select that, go to the File menu, Libraries and Objects, Save Selection As, Object. And we’ll just call “Diffuser with ID”, something like that. And say Save. [0:07:13]
And now of course I have the option to set up materials and other things. Let me just say OK and not worry about that. Go to the Object tool and place it and you can see here’s an object. It has extra hotspots because remember this object here had some hot spots where it made sense for it to be placed. The new object has the same custom ones plus the bounding box one. So I am going to get rid of the bounding box ones. We know how to do that. And I’m going to make the text be editable. [0:07:51]
So let me use the keyboard shortcut to open up that library part. We will go and turn off the hot spots in the bounding box. And then we’re going to look at, instead of adding a parameter here, which we would have to open up the library part to put in, I’m going to use something else in the 2D script where that text – as I scroll all the way down here, and this is the text that was manually put in. There is an ID that you use for windows and doors frequently and sometimes for other elements. [0:08:25]
The ID for windows and doors is often shown in a schedule. And of course this is a piece of equipment, we might want to schedule it. So let’s see if there’s a way that we can actually use the ID as the text. So we don’t actually have to open up the library part, we can simply do it from the info box where you can set the ID. So there is a special code here that you can put in. Instead of creating a new parameter, we just type in GLOB_ID. So this text here is a special code that stands for “Global ID”. And it’s basically the ID of this object. [0:09:06]
I’m going to save this and having made the change just for the compatibility – remember I turned off the hotspots in the bounding box – and I’ve saved it and I’ll go back here. And we’re going to see is the hot spots now have been simplified and it says “Object 10”. Well guess what? This object, if I scroll over in the ID, here is the ID. And so I could make this “AC” or I could make it anything else. And you see how it updates. So whatever the ID is here, and perhaps if I put in a number like 15, then it’s going to have that number there. [0:09:41]
So in terms of this part, instead of creating a separate parameter for the text, I’ve just said pick up and show the ID. Now this ID, by default, is off to the end. So it’s a little awkward if you want to renumber it. So one thing you can do to make it quicker is go to the Options, Work Environment, and go to the Info Box here where you can say that you’d like to customize the way that the info box appears, let’s say for the Object tool. We could do it also for the Window tool and the Door tool. [0:10:15]
But one thing we can do is just scroll down, find where it says ID and drag this up by grabbing on the left side and just move it up, perhaps to the beginning. You to choose where you want it. I’ll just say OK, and I could do this for the windows and doors, in fact, I like doing that often. When I say OK, now if we select this part, you can see the ID is right here at the beginning. So it’s just very easy to set it up. So if I were to duplicate this, say select this and use the multiply command to make three copies. Now each one of these, if I wanted to renumber them, I could just go in here and change the number, whatever number I want. [0:11:07]
It just becomes very quick to take care of that. So this new object has been made smart in terms of having the text here, but will it show up in a schedule, an appliance or equipment schedule properly? If we open up the object settings, we’re going to see that we have certain parameters that we can fill in, but it’s very different than this original ArchiCAD object that has some more complex controls here. Let’s just close this one up. But in addition to the 3D controls, we have these parameters that include the ones that you would put in a schedule such as the manufacturer or the location or the ID and things like that. [0:12:04]
So how can we get the new object to have the same settings? Well it turns out this has to do with the object subtype. So let me go ahead and open up this object. Remember I can select it and hold down this keyboard shortcut Command+Option+O or Shift+Ctrl+O, and you can see that here is the air diffuser from the ArchiCAD library. It’s read only because it’s in the standard library here. And you’ll notice that the subtype says “Duct Flow Terminal”. And if I look at select subtype, you can see that it is a type of model element that is specified for distribution. [0:12:40]
And in a series of hierarchical steps it is choosing that it’s a duct flow terminal. We’re not going to change that, but we are going to reference that or pick the same one for this new object. So if I open up its definition, we will see that it’s a model element. If I open up select subtype, it’s just the main general type. So I need to select the distribution elements – it’s not that one, it is a duct flow terminal. That’s the one, so we have to figure out the one. And I can say select. And by the way, I can just double check them. [0:13:22]
I’ve got it here, and if I go to the one from the ArchiCAD library, you see it says “Duct Flow Terminal”. So I’ve got it set properly to match that. And now I’ll go ahead and say save this. Having done that, now when I open up this library part on the plan or in 3D, we are going to see the parameters for this listing include all of the usual things for manufacturer, location, etc. So we can have that in an appliance or equipment schedule. [0:13:49]
So basically what I’ve done here is created a new object that is a combination of the original one plus the text block. And it could be any combination of things. I could make a very complex series of elements and model them. And then after I’ve created it, change the object subtype so that it will show up in a schedule and work well with other standard objects in a schedule. So in this lesson, we basically looked at how to create a 2D object and a 3D object, add text and be able to edit it on the fly. Add possibly a second line, and make sure that we’ve got the hot spots in just the right places so that the element is able to be snapped and placed easily. [0:14:45]
And then even going beyond just simple 3D stuff, like this one was, we can take complex elements like what is in the standard ArchiCAD library, combine them with other 3D or 2D elements, and turn them into a new library part that can be scheduled just like the original ones. Now I can’t reconfigure it, I can’t make it a different size or a different way or a different duct setting or diffuser setting like this one, but basically if I create it the way I want it before I record it as a library part, I will end up with an instance that is very clean and easy to place. So it will be less flexible but still intelligent in certain ways, obviously in terms of the text. In this case I’ve got the text set up to use the ID, which will make it simple to change the number that we see here as well as what we see in the schedule. [0:15:43]
One last thing I just realized is that if you want to save these objects for use in another project, what you can do is go to the File menu, Libraries and Objects, and go to Library Manager. And in Library Manager you will see here are the library parts that I created, and I can use the option that says “Export the embedded sub tree into a local folder”. That’s sort of a wordy description, but basically it’s about exporting these parts. If I want to get all of them I will simply select the entire thing here and then click the button to export it. And it will say “Where do you want to export it?” and create new folder for it. In this case we will just call this “Custom Library Examples”, and choose that. [0:16:33]
Now when I look, actually it’s already been saved out. I will go to – I will even start out another project here, just to show you how this works. We will say new project, leaving this one opened, and then as soon as we have a new project, if I want to get access to these parts I can go ahead and use the Object tool and load them in, or the library manager to load in that as a linked folder. So there will be two different ways that we can work with it. One is that we can load in that entire folder, where we might keep as many custom library parts as you find useful. [0:17:19]
If we just simply want to place it in as an object I can go to the Object tool and in that Object tool, if I close up some of these settings, than we can see there’s a button down below that says that I would like to load another object. In earlier versions of ArchiCAD, this may look a little different. It may be up at the top, an option to load an object from dialog box. But when I say load another object, I can go navigate here and you can see here are the parts that I just saved out. And let’s say that I want the new symbol 3. And I say open it, and then you can see how it’s already ready to go. [0:18:03]
I can say OK and drop it in and it’s fully functional just like it was before. I could also go into the Library Manager and load in a whole set of them. So I go to File, Libraries and Objects, Library Manager, and then say that I would like to add, in this case, a folder. And here is the embedded library or perhaps I just load it from custom library examples and say choose that. So that’s now going to be a folder within this. And perhaps I can remove this, because it’s actually included. Let me just remove it from the embedded library. So now I’m just removing that folder and say OK. And we will now have access to all of those custom library parts. If I go to the Object tool, we will see that in the custom library here we’ve got all of these different symbols that we can work with. [0:19:01]
So this has been Eric Bobrow; please add your comments and questions on the page down below. If you like this video I would love to know about it. Click the “Like” button or post a comment and tell me what you thought. I will make available the ArchiCAD 16 file that has all of these parts in it for you to study and perhaps copy some of what I did. And I’ll probably also save an earlier version, maybe ArchiCAD 12, so that people in 12, 13, 14 and 15 can use that version. So just follow the link that is on this page and you’ll be able to download these files for your own self-study. Again, this has been Eric Bobrow; thanks for watching.
[END OF AUDIO 0:19:57]
Dear Eric,
As you know, I’ve been toying with creating a symbol library of 2D elements to use as symbols for light fixtures on a reflected ceiling plan. With your great help I have been able to create the symbol from 2D linework, add text that then I can edit parametrically and even got it to keep horizontal even when the symbol was rotated, etc. So all of that worked great.
Now my issue is that I thought I had everything right, I changed the subtype of each object to Model Element > Electrical Element > Light. Doing this I get a large number of “Parameters for Listing” which I even customized as per my needs, thinking that this would all show up on a schedule, but when I create the schedule, and select the fields I want to show up in the Scheme Settings then I only get about 5 really unimportant items for the light. None of the parameters for listing are showing up as fields that I can select and have appear in the schedule. What could I be doing wrong now?