AutoCAD Architecture, Annotative Scaled Blocks and MvBlocks
Revisiting an old bug that still hasn't been fixed.

Overview ---- Body ---- Conclusion

The Problem

The other day I had a brief moment to experiment with an idea that seemed incredibly logical to do in AutoCAD Architecture 2009: create an annotative scaled electrical symbol.

I figured that I would combine one of my custom 3D light fixtures with a 2D Plan View Block inside a Multi-View Block Definition.  This is how many of the Multi-View Blocks work so the only twist I would add is that I would make my 2D Plan View Block Annotative.  There are several examples of Annotative MvBlocks in ACA so why should I even question the logic of my idea?

Well, much to my complete dismay, my idea didn't work and I think this experiment is worthy of an expanded look into some aspects of ACA that don't appear to be of concern to Autodesk.  I'll start by discussing how you go about making a simple 2D Annotative MvBlock.

How to size a symbol for use in ACA

A long time before Annotative Scaling was possible, Architectural Desktop, offered something similar that would scale specific objects according to a single value under the "Annotation Plot Size" field in the Drawing Setup (type "Units") dialog.  The system was pretty good but had two significant problems: it could only scale objects upon insertion, not after, and most of the objects were drawn at some odd scale that forced most Imperial users to work with a scale of 3/32".

This system, though in direct conflict with Annotative Scaling, remains in tact along with the 3/32" scale which forces you to create new content 32/3 (or 10.6667) times larger than what you really want in a 1:1 environment.  In other words, you have to make your Blocks larger in order to allow the tool to reduce them when they are inserted.

In the illustration to the right I show how I created the ideal sized drawing of a 2D Light Fixture and then scaled it up by 10.6667.

The Problem

To make a Block Annotative, you simply have to set the "Annotative" checkbox under the Behavior section of the Block Definition dialog - see image right.  I make note of something this obvious because I know how easy it is to miss this option and what a pain it can be to figure out how to activate the Annotative "behavior" after having created a Block - see below.

The Problem

If you inadvertently created a Block without the "Annotative" Behavior, you can change it by using the Block Editor (type "Be" or "Bedit").  Once inside the Block Editor environment, you should find the Annotative "Yes/No" drop-down list on the Properties Palette; as illustrated to the right.  All you have to do is change this value field to "Yes" and then Close the Editor.

Keep this information in mind if you ever need to modify old Blocks.

Don't use this trick on Mleader Callout Blocks because Mleader's can't accept Dynamic Blocks.

The Problem

After you have created a Block, you can create a Multi-View Block definition.  In the illustration to the right I show that I have used the "MvBlock" command to "Define" a new lighting fixture.  I Added the 2D Annotative Block to the General Display Representation and the Reflected Display Representation and set the View Direction for both, to "Top".

The Proof

After creating the MvBlock, it's a good idea to test it and see if the size changes correctly as the Annotative Scale is changed.  Always Add your custom MvBlocks at the 1:1 or 1'-0"=1'-0" scale and check that the size is correct for a 1:1 print.

Things That Don't Work  
Multi-View Blocks can't handle the load

Creating a simple 2D MvBlock that used a simple 2D Annotative Block is easy and actually works quite well but I wanted a little more bang for my buck and this is where ACA starts to get a bit weird.

In the illustration to the right I show that I took the MvBlock definition I discussed above and added a 3D Block to the Model Display Representation.  There's nothing unusual about this and the Block is not Annotative.

The Proof

When I tested the new MvBlock definition I discovered, with great horror, that the 2D Annotative Block was scaling the entire MvBlock when the Annotative Scale value was changing.  And, that's not the whole story.

If I viewed the MvBlock in a Model View, like Isometric, and changed the Annotative Scale value, nothing changed.  When I viewed the MvBlock from the Top or Plan View, the 2D Annotative Block was not the correct size for the the current Annotative Scale because it wasn't visible in the Model View.

Tool Palettes can't handle the Scales

The next step in making a custom MvBlock is to add it to a custom Tool Palette and in the illustration to the right, I show how I have added my Light Fixture MvBlock to a Tool Palette.  I also show that when this MvBlock is added to a new drawing, it is scaled by the Annotation Plot Size value (3/32 = 0.9375).  This is how MvBlocks, set to scale to the "Annotation Plot Size" value,  are supposed to behave.  The problem is that this particular MvBlock uses Blocks that are set to read the Annotative Scale value and thus there should be no physical scaling; no reading of the Annotation Plot Size.

It gets a little more interesting.  If you want to recreate this problem, use a clean Template file so you are introducing the MvBlock for the first time in the drawing.  Then, add the MvBlock again from the Tool Palette and you should find that upon the second insertion, the physical scale is set to one and everything is working as you would like it to.  The fact of the matter is that this is a blatant BUG and this is the second release in which it has not been addressed.  Annotation Plot Size has been rendered obsolete with the introduction of Annotative Scaling.


If you want MvBlocks to ignore the Annotation Plot Size you can use the "AecCreateContent" Wizard to set the "Additional Scaling" to "None".  To make this work you have to place the results under the Aec Content Folder so the DesignCenter will read it as Aec Content.  From the DesignCenter, you can drag your MvBlock to a Tool Palette but the price for all of this effort is an MvBlock with no Properties; as is the case with most of the MvBlocks that come OOTB with ACA.

In the case of mixing Annotative Blocks with non-Annotative Blocks in Multi-View Blocks, I don't believe there is any workaround solution.  You can, however, make fairly good use of 2D Annotative Blocks in Multi-View Blocks.  You can also improve upon existing content such as that illustrated to the right.

In the illustration to the right I show that I have located the Single Pole switch in the DesignCenter, Opened the File, activated the Block Editor (type "Bedit") to edit the switch Block so I can set the Annotative Property to "Yes".  Once this drawing has been saved and closed, the MvBlock will exhibit Annotative behavior.

Copyright 2008 ARCHIdigm. All rights reserved.
Disclaimer and Copyright Information