Creating 2D Symbols for ArchiCAD Objects

The most important ArchiCAD (Objects) video you’ll watch in 2013

Back in February 2013 I made a tutorial video on making ArchiCAD Objects. If you haven’t watched it, you should. It covers the basics of object making that I completely gloss over in this new video. I’m assuming if you’re watching this video, then you’ve already seen that one or the recent videos by Eric Bobrow (of Master TemplateArchiCAD Best Practices Course, and ArchiCAD QuickStart Course fame). All are worth watching.

Like all my recent videos, this one sprang from a question by a fellow user

Jon, an architect and friend in Minnesota, sent me an Object created by one of his coworkers. This Object somehow solved the biggest frustration most of us have with making Objects in ArchiCAD: the Object had a 2D symbol that was a different size from the 3D. If you haven’t come across this issue, the video will explain why this is a big stumbling block. Why is the separation of the 2D and 3D important? Think about the classic example of showing door swings on a cabinet. Making a beautiful cabinet is easy, but giving it the perfect 2D symbol can be a mystery, unless you know GDL. Or at least that’s what many of us assume.2D+plus+3D+to+create+object

Neither Jon nor his coworker knew what the coworker did when he created the ArchiCAD Object Jon sent me. And to be honest neither did I. But since we were all looking at the mythical 2D is bigger than 3D Object, it was obviously possible. I love a challenge so I began to investigate. There were floating hotspots in 3D and that gave me a clue—the 3D bounding box was the same size as the 2D symbol, that had to be the answer. But how did this user do it? He isn’t a scripter, so it’s not like he learned GDL and coded it. He did it by accident. That was the big clue. If it was by accident, then it had to be easy. Easy enough for an inexperienced user to stumble upon something we old-timers had been overlooking for years. Once I understood that, it was just a matter of untangling the solution by trying to solve the problem with some obvious moves hidden in plain sight. Well it turns out that with a little forethought getting a traditional symbolic floor plan view to be a different size from the 3D object is very, very easy. Here’s a video that shows you what to do.

Now that you’ve watched this video, like me, you now know HOW to get the 2D symbol you want with whatever 3D you need. But the why is still a little hazy. My guess is that when we create the 3D Object with the 2D symbol in the floor plan, there is some 3D script generated that makes the bounding box of the 3D match the extents of the 2D symbol on plan. If we could understand THAT and crawl through the code, I think it’d be easy to alter existing Objects. As it stands now if you want to update your existing Objects to have this 2D/3D split you’ll need to do the Object to Morph back to Object route and save the new object from the floor plan with the right 2D symbol set up to begin with (or at least hot spots that define the larger bounding box you need). Perhaps a GDL expert reading this can explain more?

Side Note: As I mentioned in the video, my next video will probably be recorded in Boston AND be done in ArchiCAD 17. Which are both equally awesome things for me to be able to say right now. If you can’t wait to learn more about ArchiCAD 17 and are impatient for me to talk more about it here on Shoegnome or over on BIM Engine, you should sign up for the ArchiCAD 17 Webinar on June 18th.

One More Thing

Saturday starts Guest Blogger Month, though the first guest post won’t be until sometime next week, probably; I’m still looking for people with stories, tips, and advice to share. You up for the challenge?

Like this video? Follow Shoegnome on Facebook, Twitter, and Youtube for more…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  1. really great video. I’ve always scripted the 2d vs 3d separately, which is not nearly as simple. I would add one suggestion to the 2d symbol, that is to ad a fill or use a fill for the body of the 2d symbol. This makes selection of the object in plan simpler, since you only need to click on the object and not drag to select or click on an exact node.
    The idea of different object extents in 2d vs 3d is interesting to me. There has to be something in the 3d script to ignore 2d extents, and I’d love to look into it if i have some time. Any chance you could share the final object for me to play around with? (I could use one I’ve created or start a new object, I’ve got a new fp to model anyway).
    thanks for sharing!

    • Patrick, great point about using a Fill for the body of the 2D symbol. That makes a ton of sense. Plus then it’s a fill and can cover stuff up in plan. Which is really useful. I’ll send you an e-mail with the file I used for the video. It’ll have all the different example objects embedded. Looking forward to seeing what you discover.


  2. Another useful tip: if you want to add text, simply label the object instead of pasting it into the 2D symbol and type any text in the ID of the object. This way it won’t affect the size and you can control the visibility (show/hide the layer) and appearance (font/size etc).

    • Thanks. Seems like a good time to remind people that the label tool (or at least some of the default label tool objects have been improved in ArchiCAD 17 to make this even more useful. I for one use the label tool religiously for windows and doors in elevation (I use Master Script’s Total Window and Door Marker for plan because it’s incredible). Only in the past year have I started getting into using the label tool for other Objects. But it’s a great solution and hugely powerful. Especially when you remember how closely connected the labelled information is to schedules.

  3. Great video Jared. I think you can turn off the bounding box hotspots under compatability when you save the object. There is also a really useful GDL command that will link the object name to an internal text string so you can have the object label itself on plan. I am away from the office now but I will send you an electrical outlet object I have been playing with when I get back.

    • Tim, thanks. That sounds great. The bounding box hotspots are controlled like you describe. Eric Bobrow covers that in one of the videos I link to. I’m looking forward to seeing your object. That GDL command sounds like a good one to learn. And probably something I should do a video on!

  4. There are some objects that I downloaded from the BIM catalog that cannot be changed like this because you need a password. Is there any other way I can change their appearence in 2D without making them morphs?

    Thank’s for the tutorials, they really are helpfull.

  5. Pingback: SketchUp to ArchiCAD (a super quick video) » Shoegnome

  6. Pingback: Custom Empty Openings in ArchiCAD » Shoegnome

  7. I would like to share another option for 2d symbols. you can draw any 2d symbol you want, and then inside the object you call to the 2d version. which will then display the 2d symbol you called and the 3d nodes will just match the 3d script. you can also draw your 2d version, save the object, then copy that 2d script (just the right parts) into your 3d object, then whola you have a single object that has separate 2d and 3d. this also works to add lines to archicad objects so you can still edit them by nodes.

    • James thanks for the tip. Be careful with this method though. If the 2D and 3D aren’t the same size you can get some weird resizing happening. To have the 2D symbol a different size from the 3D parts requires some GDL scripting that’s beyond my knowledge.

      • the way i am doing it, there is no resizing. the 2d and 3d have no inter connection. And all you have to do is copy and paste. or type a simple call function. and you can have any size 2d with out affecting your 3d. it does require some gdl editing, but just commenting out a couple lines. i dont know gdl but we all know our x,y, and z. ill try to make a video, but it works out quite well. i have had success for every attempt so far. and if you ever need to change the 2d you explode change and create a new 2d then copy and paste and boom new 2d with your edits. its pretty cool.

      • I have now figured out how to add text to my objects that can be moved by a hot point. and i made them all have a white background to hide things under and they are all readable! all because of this thread ha ha.

      • sorry one last reply, now i have figured out how to use three objects to make one. and in the process discovered how to make each individual object editable with in the final combined object. took me 3 days to learn the gdl needed to make it happen. was seriously pretty easy