Archive for Standards


Create real blocks in lieu of Anonymous blocks!









As a designer I work in AutoCAD on a daily basis and use files provided by others.  I am constantly miffed by the level of quality or lack there of in the files that I receive.  Today was another example of what I typically refer to as BAD CAD and why I had to do a little Rant!  But this one got me irked enough to write about it.  Today’s BAD CAD involved an issue I see pretty often, which involves blocks – but this drawing managed to actually cover a few of my hot buttons in one single session.

  1. Blocks were all anonymous “A$C63F21903”, “A$C6F944C45”, etc.
  2. If a block was mirrored, it had another anonymous name
  3. Blocks were created on an ‘ep-text’ or ‘rcp-text’ layer
  4. The blocks were composed of line segments
  5. Blocks were bylayer – Gold Star!
  6. Insertion points were in ‘outer space’
  7. Text was the “Standard” style

For some, the flaws are obvious, for others – maybe not so much.  Let’s look at each one to see what could have been done better.

  1. Blocks are not that hard to make. I understand that you can just select everything and right click to use the clipboard copy option, and then “pastes as block”.  But what you get is a bunch of blocks with no rhyme or reason to their names – anonymous blocks.  This is shoddy work in my opinion and does to do much for future drawing tasks.  Hell if you are going to do this, at least rename it to something that makes sense.  I’ll get more in to the past as block pandemic in future post. [See this post on how to make blocks]
  2. I guess this user did not know how to use the mirror command.
  3. Now these were electrical devices, so I assume the ‘ep’ meant ‘electrical power’ and the ‘ec’ meant ‘electrical crap’ because I couldn think of another good ‘c’ word that made sense since most of the items on the ‘ec-text’ layer were lights.  BUT – how did ‘text’ become part of either layer name – none of it was text! [As an additional note, there were things all over the drawing that had NOTHING to do with electrical that were on the ‘ec-text’ layer!]
  4. This is something that only some die-hard CADD folks might see as an issue. If you make a shape – make it with ‘polylines’ not ‘lines’. I do this to avoid line segment issues should someone (God forbid) exploded it!  it also makes it easier to manipulate when I use ‘Bedit’.  [See post on the Block Editor ‘Bedit’ here]
  5. When I edited the blocks, the line work was ‘BYLAYER’, which is great – gold Star! Of course they lost the star by making the blocks on a ‘ec’-text’ layer instead of layer ‘0’….
  6. When inserting a block, it is great to know where the insertion point will be, like on a wall, intersection of a grid, etc.  But these blocks had the insertion points at random locations.  this typically happens when someone just picks a point in space or creates a block from existing entities and chooses a reference point that relates to that particular location. [See this post on why this is important]
  7. I am all about “Standards” – except using the default AutoCAD Standard styles for anything.

You can check out the 101 series I did earlier on the topic of blocks here.


xref-0Are you new to AutoCAD? Have you been using AutoCAD for years but only use the blocks, styles, layers and tools that others have created?  Do you want to learn more or step up your game on features you’re not very strong in and pick up some practical examples of best practices?  If so, this series is for you.

Over the course of 12 months and maybe more I will cover the basics of a lot of AutoCAD tools and features that many may want or need to learn more about. This is the 14th article in my AutoCAD 101 series – to read about the origination for this series, see the first post here: <Intro>The last post in this series was a wrap-up of all the Block Posts. <link>.

So now we move on to another tool – “External References”.   If you are not using External References (XREFS), which has been around for a long time, you are really missing out on a powerful tool.  If you are a current user keep reading, maybe you will find some new things covered here that you may have been a bit curious about.
Throughout the XREFs posts I will refer to the process of attaching external reference files as “XREF/XREFING”, to the attached files as “XREFS”, and to the drawing that you attach XREFs to as the working drawing.
What are External Reference files (XREFS)?
External references are much like the concept of blocks which was the old school way of handling many of the functions now provided by external references.  Rather than being embedded (inserted) in the file they are externally ‘attached’ or ‘referenced’.  Items that can be attached include; DWGs, PDFs, DGNs, DWFs, and IMAGES (BMP, JPG, TIFF, PNG).  Different commands can be used to attach the various external files, and these commands start with the file type and the word “ATTACH”; PDFATTACH, DGNATTACH, IMAGEATTACH, DWFATTACH.  Or, you can just use the XREF command which will allow you to attach any type from one dialogue.  The individual commands are great for use in automation efforts (Macros, Scripts and Lisp), but will not likely be your first go to option.
Why do you XREF?
Because it is the right thing to do of course! If you are new to AutoCAD and XREFs and wonder what all the fuss is about, XREFs provide a lot of pretty cool features.

  • They keep your working file size small
  • They allow sharing of files while providing real-time updates
  • They are great for coordination
What do you XREF?
As stated above in what are External References, you see a lot of file types that can be attached to your working drawings. Typical items you that would attach include floor plans, title blocks, logos, standard details, survey pictures, and product literature.  But, if you have any of the file types above that you commonly share in projects the options are unlimited. See ‘Figure A’ for the various file types that can be attached in AutoCAD 2015.By choosing the drop down menu in the upper left, next to the DWG with the paperclip, you will see the variety of file types that can be attached to your working drawing.  Because AutoCAD now has so many external attachment options, the “XREF” OR EXTERNALREFERENCES” dialogue gives you a full picture of all your attachments.
Figure A
Why Block Insert when you can XREF?
The big difference between working on a background that is a block verses a background that is an XREF is that the external XREF can be worked on by someone else and be shared real time with multiple users or files.  External references keep your drawing files small and allow you to share the background with multiple drawings.
Example Uses
The following are examples of how XREFs can be used to increase your productivity. The one big advantage that every one of these examples is that when you update the XREF every file that references it is updated.
Title Blocks
This is probably one of the top two uses of external references. In a typical project the one item that is common among all drawings is the title block.  By XREFing the title block drawing you can make changes to the address, issue date, customer info, and logo in one place and have all of your working drawings updated automatically.
Note that the logo in the title block is another common XREF (IMAGEATTACH). You can also enter all your revision info for the entire job in this drawing as individual layers. I. E. REV-1, REV-2, etc… freeze them in the title block and thaw as necessary in the working drawings.
Floor plans
Probably the top use of XREFs.  Through a combination of external references, clipping, and paper space, you can attach multiple plans and plot at different scales all on one sheet.
XREF’s can be renamed when attached, and by doing this you can attach the same file multiple times and control the visual aspects of each as if it were a separate file.  This is referred to as logical name versus the actual name. An example would be attaching a floor plan (FP-1) that has demo and new work layers all in one drawing.  By attaching FP-1 and then renaming it in the XREF dialogue to FP-Demo you can freeze and thaw layers as required to show the demo portion of the plan. You then attach (not copy) the FP-1 plan again and freeze and thaw layers as required to show new work.  Since each logical XREF has its own layer structure showing up in your layer dialog you can also change colors and line types.
Note that this feature relies on your VISRETAIN SETVAR being set to “1 “.
Product literature
In some jurisdictions it is required manufacturers data, safety information, or product performance, is shown on the drawings. Instead of retyping all this data or redrawing it (or creating sticky backs for you old-timers) just XREF the PDF or image files into your working drawings.
Standard details
Nearly every set of drawings utilizes some form of standard details. You could have a standard detail sheet with the details XREFed so that the sheet is always up-to-date.  If you need to revise a standard detail to be job specific or freeze the details specifics from changing during the course of the job, you can bind those details into your working drawing and edit as required with in the current job.
Survey information
When doing renovation projects, a necessary task is to provide enough information on the existing conditions to allow contractors to be able to see what they face so they can give an accurate bid.  Although requiring a field visit is always a good idea that is not always practical for some projects.  A great way to enhance your drawings is to IMAGEATTACH field photos in your drawings and add notes detailing the specifics.
Key plans
When working on large building projects or campus wide projects, you can attach aerial views or screenshots from your favorite mapping program to visually show your site or campus.  For the large building projects you can attach a drawing at a reduced scale of the overall building with hatched areas or layers frozen or thawed to represent specific areas of work.  Any plan changes will automatically update your key plan as the project progresses.
These are just some of the uses for external references.  Your imagination can open up many more.
In the upcoming posts I will cover commands and settings that are important and useful for utilizing XREFs efficiently.
If you run into a snag with any of the topics her or have additional questions, email me at


Are you new to AutoCAD? Have you been using AutoCAD for years but only use the blocks, styles, layers and tools that others have created?  Do you want to learn more or step up your game on features you’re not very strong in and pick up some practical examples of best practices?  If so, this series is for you.  Over the course of 12 months and maybe more I will cover the basics of a lot of AutoCAD tools and features that many may want or need to learn more about. This is the 13th article in my AutoCAD 101 series – to read about the origination for this series, see the first post here: <Intro>

The last post in this series was about “Dynamic Blocks” on the ‘Flip’ Parameter and Action. <link>. I wanted to Wrap up with the ‘Linear’ parameter and action, but I just ran short on time with all things going on.  If you are interested in the Linear Parameter and Actions, email me and I’ll get something posted for you. At this point I want to get moving ahead on other topics.  This post is a recap of what has been posted so far to date. The next 101 post will switch gears in to external reference files (XREFs).

So far I have created 10 posts that covered the basics of everyday ‘What, Why and How’ of AutoCAD blocks and how to supercharge them by adding ‘Dynamic’ properties.  Below is a summary of ‘Block’ specific posts to date.

In the next post, I will dive in to external reference files, which is another basic tool that many still struggle with.  I will discuss types of XREFs, ‘Attachments’ vs ‘Overlays’ and practical tips and uses of external reference files.

If you run into a snag with any of this or you have any comments, email me at


This is the 9th article in my AutoCAD 101 series – to read about the origination for this series, see the first post here: <Intro>
The last post in this series was about diving in to “Dynamic Blocks” ‘Point’ and ‘Alignment’ Parameters and the ‘Move’ and ‘Stretch’ Actions. <link>.  This post will be just changing the Phone_Board block created in the previous post to remove the ‘Alignment’ Parameter and add some additional insertion points.
Figure A
‘Figure B’ below is a view in the block editor showing the additional ‘Points’ added and ‘Alignment’ removed.
Figure B
Notes on the above image:

  • 0,0 = default insertion point
  • ‘INSERT-MID’ = an optional insertion point (Note that naming your parameters is a nice organizational step)
  • ‘INSERT’ = an optional insertion point
  • The ‘Move’ and ‘Stretch’ points will actually also be optional insertion points – whether you want it or not.  (There is probably a way around this, I just have not spent the time to figure it out – If you know, please enlighten me!
  • The exclamation points, which typically indicate an issue, are ok if they are just being used as multi-insertion point parameters.
Multiple Insertion Points:
  • Right click on the block and select ‘Block Editor’
  • Pick the ‘Point’ parameter and place it on the far lower right corner of the rectangle
  • Pull the cursor down to place the label (call it ‘Insert’)
  • Pick the ‘Point’ parameter and place it on the mid-point of the bottom horizontal line
  • Pull the cursor down to place the label (call it ‘Mid-Insert’)
  • Done
  • Test the block to make sure it is doing what is expected – pick on the right end of the block and drag the point left or right.  If all is well, close test window and save your block.
So what do these extra points do for us?  If you created this block or something like it and you added multiple points, when the block is inserted, as you tap the ‘CTRL’ key, the insertion point will alternate to each point – handy!
In the next post, I will cover the flip and rotate Parameters and Actions.
If you run into a snag with any of this, email me at


Are you new to AutoCAD? Have you been using AutoCAD for years but only use the blocks, styles, layers and tools that others have created?  Do you want to learn more or step up your game on features you’re not very strong in and pick up some practical examples of best practices?  If so, this series is for you.  Over the course of 12 months and maybe more I will cover the basics of a lot of AutoCAD tools and features that many may want or need to learn more about.

This is the 8th article in my AutoCAD 101 series – to read about the origination for this series, see the first post here: <Intro>  The last post in this series was about diving in to “Dynamic Blocks” <link>, this post will be diving in to the ‘Point’ and ‘Alignment’ Parameters and the ‘Move’ and ‘Stretch’ Actions.

Up until now, I have been using a 2×4 Light fixture for the how-tos, for this post, I am going to switch to a new block.  For the various parameters and actions being discussed, I am going to introduce the ‘Phone_Board’.

Typical phone board blocks are a 4′ wide by 1″ or so thick rectangle that sometimes includes a hatch.  When other sizes are needed, it is often exploded and stretched.  In this post I will cover adding the ability to re-size the block, align it with a wall surface and toggle through various insertion points, as well as combine it with the previous discussed Visibility state option to make this a super phone board!

Below is the final product highlighted to show the various points on the Block with which Parameter/Action each one is associated with.






Figure A

Before we get in to adding the parameters, lets make a quick phone board block.  The most common phone board sizes are 4’x4′ and 4’x8′ vertical or horizontal.  So I will start by making a rectangle on layer ‘0’ (zero) that is 48″ wide by 1″ thick with the insertion point on the lower left side of the rectangle, which will be the ‘back’ side, then save this block as ‘Phone_Board’.

As stated previously, a common issue with phone board blocks is their size – 4ft does not work in all conditions.  What I have seen some companies do in the past is to create multiple blocks for the various sizes – which works pretty well until you get the requirement to wrap a room with phone boards that is not in 4ft increments – so off to explode they go.  We don’t believe in exploding blocks here – Right?  Right!!??!?  So the Phone_Block I am creating will be resizeable.  For this we need the point parameter.


The point is the first parameter on the Parameters menu and can be use with various ‘Actions’.  For this post I am going to use it for two actions – ‘Stretch’ and ‘Move’.  I will address the resize dilemma by adding a ‘Point’ parameter to the end of the block and assign the ‘Stretch’ action to it.

Sequence to add Stretch functionality:

  • Right click on block and select ‘Block Editor’
  • Pick the ‘Point’ parameter and place on the far right side of the rectangle in the mid-point of the vertical line.
  • Pull the cursor to right to place the label
  • Switch to the ‘Actions’ tab of the ‘Block Authoring Palette’
    • Note: If you are following along, on the remaining steps, watch the command prompt to see what is being asked for.
  • Select the ‘Stretch’ Action and then select the label of the Point parameter just inserted
  • Create a stretch frame around the end of the right side of the rectangle, crossing the ‘Point’ parameter.
  • Select the objects that need to stretch – which in this case is the right end of the rectangle.  Do this with the crossing selection, and get the parameter as part of the selection.
  • Done
  • Test the block to make sure it is doing what is expected – pick on the right end of the block and drag the point left or right.  If all is well, close test window and go to next step.

Once the block can be resized, the next challenge is getting it inserted on the right wall surface.  By adding an ‘Alignment’ parameter to the block, it will automatically align to the wall surface chosen – no matter what weird angle it is at.


In AutoCAD there is an ‘Align’ command for align objects.  Within dynamic blocks, you can use an ‘Alignment’ parameter.  Like the ‘Visibility’ parameter, this has no associated Action menu item. With the alignment parameter on a block, when you move your block near a surface, it will automatically align with that surface.  This can be a bit tricky to do and you have to understand how it works to get your ‘Alignment’ parameter placed properly.  The important thing is to have the pointed end of the symbol facing in the direction of the object that you want the block to align with.



Figure B

Sequence to add Alignment functionality:

  • Right click on block and select ‘Block Editor’
  • Pick the ‘Alignment’ parameter and place at the insertion point of the rectangle (lower left).
  • Pull the cursor to the left to have the alignment parameter point down (this is the direction of the wall that the board will be mounted to).
  • Done
  • Test the block to make sure it is doing what is expected – when sliding towards a wall, the block should automatically align with the wall.  This can be a touchy process, which is why for small items I avoid using this parameter.  If all is well, close the test window and go to the next step.

Now the Phone board can be resized and will align to a wall – the next step is to add some additional functionality to it by combining two Parameters – ‘Point’ and ‘Visibility’.


In many situations the phone board is in a building that is served by conduits from the outside or has conduits that lead to other spaces – like bldg tenants.  I added (6) conduits to my block and made each combo of (0) to (6) it’s own visibility state.  Now when inserting the phone board, I can choose a number from the the visibility states menu of 0-Conduits to 6-Conduits.  See Figure below.


The sequence in ‘Figure C’ shows the order to be 2-Conduits first, then 1, then 0; this is because the 2-Conduit version is what is used most often, so that will be the default inserted view. 




Figure C

Sequence to add conduits:

  • Open the phone board block in the block editor (Right click on block and select ‘Block Editor’)
  • Create a 2″ circle just above the board and at the left end
  • Copy the circle 5 more times to the right at 2-1/2″ apart.
  • From the parameters menu, insert the Visibility parameter above the first conduit furthest to the left.
  • In the Visibility state manger pull-down add the various states per the graphic in ‘Figure C’.
  • If you need help with this step, see the post on Visibility states here.
  • Test the block to make sure it is doing what is expected.  If all is well, close the test window and go to the next step.

Now that we have the ability to show conduits, there may be a situation that these conduits come up in the middle of the board or at the other end of where they are shown by default.  For the other end, I could mirror the block, but that will not work in the middle – Do I Explode and Move?  NO!  I’ll just add a move parameter to the conduits.


This process uses the ‘Point’ parameter again combined with the ‘Move’ Action.

Sequence to add Move functionality:

  • Right click on the block and select ‘Block Editor’
  • In the visibility states pull-down m menu, choose the “6 Conduits” view
  • Pick the ‘Point’ parameter and place in the center of the left most two circles.  (Since I typical use (2-Conduits) more than any other view this is why I chose this location.
  • Pull cursor up to place the label
  • Switch to the ‘Actions’ tab of the ‘Block Authoring Palette’
    • Note: on remaining steps, watch the command prompt to see what is being asked for
  • Select ‘Move’ Action and then select the label of the Point parameter just inserted
  • Create a window frame around all the conduits, as you will typically move all of them at once
  • Now test your block
  • For this step, since you were in the (6-Conduits) view for object selection, you will not see your ‘Move’ grip…   This is important to experience, because the ‘current’ visibility state may not reflect some of the actions you are assigning.
  • To fix the above issue, close the test view and go back to the editor
  • Right click on the ‘move’ parameter, select the ‘Object Visibility’ item on the menu and then select ‘Show for All States’ See Figure D
  • Now, test again to make sure it is doing what is expected – choose each view and make sure the ‘Move’ grip comes up for each state
  • If all is well, close the test window and go to the next step.











Figure D

Since I used the ‘Alignment’ parameter in this post,  I will do a short post follow-up showing a multi-point insertion option and then follow that up with the ‘Flip’ and ‘Rotate’ Parameters and Actions.

If you run into a snag with any of this, email me at


Are you new to AutoCAD? Have you been using AutoCAD for years but only use the blocks, styles, layers and tools that others have created?  Do you want to learn more or step up your game on features you’re not very strong in and pick up some practical examples of best practices?  If so, this series is for you.  Over the course of 12 months and maybe more I will cover the basics of a lot of AutoCAD tools and features that many may want or need to learn more about.

This is the 7th article in my AutoCAD 101 series – to read about the origination for this series, see the first post here: <Intro>  The last post in this series was about diving in to “Dynamic Blocks” <link>, this post will be diving in to Visibility States.

Let’s start with an example of something that affects both architects and electrical engineers – Lighting.  Since we have been using the 2X4-Light fixture as an example in our previous posts, I’ll continue with it for this topic.  Architects use Lighting to enhance the visual appeal of spaces while electrical engineers use them to provide required illuminance.  In order to show the different types of lighting in a building, you could put letters and numbers next to a light symbol to indicate what it is, then, a schedule could be referenced to describe the fixture in more detail.  But if you actually gave each block a unique look, you could tell just by looking at it what it is.  This also helps the project owner or client visually see what the light is by just looking at the floor plan.  One commonly used light fixture is the 2×4 recessed fixtures that are found on almost every commercial project.  Although these fixtures are one size, they can be a variety of lighting types (Prismatic, Parabolic, LED, Direct/Indirect as well as Emergency versions of each).

See ‘Figure A’ below that shows a small variety of light fixture types. All of these light fixtures are actually in one block and use the dynamic Visibility option to change the views that represent each individual look.  With this one block, you could place 2×4 fixtures throughout your project, then in rooms that needed specialty fixtures like parabolic or direct-indirect, you would highlight the fixtures in the room or rooms, right click and select quick properties and choose the parabolic version from the drop-down menu. You could repeat the same process for the lights required to be emergency or night lights as well.  The variety of lighting types used on a project that are similar in nature but have some unique characteristics could easily be shown in a single block and quickly changed using the dynamic visibility state option.






Figure A

How to:

The steps outlined here will work for any trade or block – you just need to determine which feature will benefit you in your work and use that when defining or modifying your blocks.  I use dynamic blocks for two primary reasons – minimize the number of blocks required to represent items in a drawing and make changes quicker.

You may want to start using dynamic blocks by creating new blocks from scratch or since you probably already have an extensive block library a better approach may be to modify an existing block that you currently use by adding dynamic features to it.

Like any customization process there are a series of steps that you would typically go through to implement your ideas.

Dynamic block creation Steps:

  1. Start out by planning on what you want your block to do.  Often this comes from experience with blocks that you keep replacing, rotating, flipping or changing out.
  2. Draw your block geometry or edit an existing block to add dynamic features.
  3. Choose a ‘Parameter’; there are various Parameters to choose, see ‘Figure B’ for a screen shot of the dynamic options pallet.
  4. Match an ‘Action’ with your parameter – see ‘Figure C’.
  5. Test your option.
  6. Repeat 1 – 5 for each dynamic option.
dynamic-1 dynamic-2
Figure B Figure C

The items in red in ‘Figures B and C’ are what will be covered over the next few posts on dynamic blocks.  For this post I will just cover the Visibility Parameter.

For the dynamic block demonstration here I am going to start with our ‘2×4-Light’ fixture that I have been using in previous posts and add the visibility parameter to make it more flexible.  You can follow along with any type of block that you already have and want the ability to change it’s look of on the fly (Visibility State).

Like many blocks, our light fixture is composed of basic lines and hatches.  From experience of working with lighting plans, I know that the basic 2×4 fixture often gets changed out for a more decorative one like direct-indirect or parabolic fixtures in some offices or conference rooms.  Throughout the building emergency ballasts may be used to make the light an emergency light, which is typically indicated by a hatch or fill.  To make my job easier, I do not want to erase the old block and insert a new one for each change I need to make.   So for this issue I use ‘Visibility States’, using the Visibility Parameter.   Visibility states allow you to change the look of a block by selecting a pull-down menu and choosing the new look or ‘state’.  Note that ‘Visibility’ is the one parameter that does not require an Action item associated with it.

I open the existing block called ‘2×4-light’ in AutoCAD, and type Bedit to open the block editor.  See ‘Figure D’ that shows the block editor toolbar.  If you are not a ribbon rebel like me, see ‘Figure E’ for the ribbon version of the block editor.


Figure D


Figure E

When entering the block editor you will get the dynamic options pallet shown above in ‘Figures B and C’, and the block editor toolbar or Pallet shown in ‘Figures D and E’.

I select the Visibility parameter option and place it next to my block.  When doing this think about how your final block look will change so that your parameter does not end up under some of your line work.  I now see a new toolbar on the screen, the visibility toolbar, see Figure F.  I select the button that opens up the Visibility states option and rename the default menu item to ‘Standard’.  I then select ‘New’, and name the new state ‘Emergency’.  You may be asked if you want to “Leave the visibility of the existing objects unchanged in the new state”.   Since I am only going to be adding line work for this particular view, I will choose the option to leave the objects in the new visibility state as it currently is shown; see ‘Figure G’. Note that you can determine the default view or ‘visibility state’ by moving the one you want as default to the top of the Visibility states list.



Figure F









Figure G

Next, with the ‘Emergency’ state checked off in the list I’ll then draw an angled line between the top right and lower left of my internal rectangle to create hatch boundary and then choose my hatch command and hatch the space to the right side of the angled line.  Once this is done, on the block editor toolbar/pallet there is a small symbol with a check mark next to it.  This is the symbol to test the new dynamic options.   Once the block is highlighted in the test mode a blue triangle will show up off to the side.  By selecting the triangle I can choose between the ‘Standard’ and ‘Emergency’ display options.  If all is well I can move on to the next fixture type; but if not I can make the necessary corrections and test again.  Make this a habit, as finding and fixing issues later, after you have added a bunch of dynamic features can be a nightmare. Once testing is complete I can move on.

Now I want to expand this block to also represent all the other fixture types shown in Figure A.

Highlight the ‘Standard’ Visibility State each time you start a new fixture type, and when you are adding the emergency option, select the standard option of the that fixture type first.  See below a bulleted list of steps to use for each fixture type.

When adding new parameters and actions and you have multiple visibility states, make sure you are on the state that you wish to perform the new action.  This is not a deal-breaker, as it can be corrected with a few extra steps – but keep it in mind.


  • Open visibility states menu
  • Select ‘Standard Fixture’
  • Select ‘New’
  • Type ‘Parabolic’ (Choose: ‘Leave visibility of existing object…’)
  • Ok
  • OK
  • Draw the Parabolic grid line work
  • Leave the Parabolic State highlighted and select ‘New’
  • Type ‘Parabolic Emergency’
  • Ok
  • Ok

For this step, I am going to use the same hatching I used for the ‘Standard Emergency’ fixture.  On the Visibility states toolbar there are some shaded and non-shaded boxes next to the Visibility Pull-down.  (See ‘Figure F’ above)

  • Choose the combo ‘Shaded/Open’ box symbol. (This will show all other entities in a grey faded color as they are not part of this Visibility state).
  • Choose the larger solid shaded box and pick the hatch that was created for the previous ‘Standard’ fixture. (This hatch will now show up in both emergency versions (Standard and Parabolic) of the light fixture).

You could have redrawn the hatch, but that adds additional size to the block, and you want to keep your blocks as lean as possible.

The block now has (4) visibility states, representing Standard and Emergency versions of two fixture types.  Try the final two states for direct/in-direct on your own.

Combining Wipe-outs in to your blocks will add even more flexibility to your dynamic blocks.  For instance in our light fixture block, adding a  wipeout behind the fixture keeps anything else on the ceiling plan from bleeding through , I.e. putting fixtures in a gypsum board ceiling that is hatched with a pattern. Other examples would include room name blocks that have wipeouts to mask the background or door blocks that have wipeouts to hide the wall underneath making it appear that wherever you place your door the wall is on that wall is automatically cleaned up.

If you run into a snag with this, email me at

In the next post, I will go over the Point, Alignment and Basepoint Parameters.


Are you new to AutoCAD? Have you been using AutoCAD for years but only use the blocks, styles, layers and tools that others have created?  Do you want to learn more or step up your game on features you’re not very strong in and pick up some practical examples of best practices?  If so, this series is for you.  Over the course of 12 months and maybe more I will cover the basics of a lot of AutoCAD tools and features that many may want or need to learn more about.

This is the 6th article in my AutoCAD 101 series – to read about the origination for this series, see the first post here: <Intro>  The last post in this series was about “important stuff” to consider when making blocks <link>, this post will be about diving in to Dynamic Blocks.

We have wrapped up the basics of blocks in the past few posts, so let’s get in to some more advanced block work and look at Dynamic Blocks.

In the course of a design day or projects timeline blocks are moved, copied, mirrored, rotated and sometimes completely replaced.  An efficient way to reduce your work load and speed up some of these changes is to use dynamic blocks.  Dynamic blocks were introduced in AutoCAD 2006 and can be created and used in AutoCAD LT as we’ll.  Creating blocks that have dynamic properties or adding dynamic properties to an existing block will enhance the block’s usability and can greatly reduce block counts.  In the next few posts I am going to go over some basic features of Dynamic blocks that can make your regular blocks more flexible and save you editing time.

For the first post I’ll just discuss the options I will be covering moving forward and in the next post I will dig in with examples.

Dynamic blocks basically have two parts ‘Parameters’ and ‘Actions’.  Parameters are the defining points or properties of your block and the Actions are what gets done with or to the block.

dynamic-1 The Parameters that I will be covering are:

  • Point
  • Linear
  • Rotation
  • Alignment
  • Flip
  • Visibility
  • Basepoint

The coverage will not be in this order; it will be based on a building of features.

dynamic-2 The Associated Actions I will be covering are:

  • Move
  • Stretch
  • Rotate
  • Flip

Obviously there are more Parameters and Actions available, but I believe that the ones discussed here are the most commonly used for a variety of situations.  Plus, I need to leave a few for you to learn on your own!  In the next post I’ll dive in to the easiest and most impactful – Visibility States .


Are you new to AutoCAD? Have you been using AutoCAD for years but only use the blocks, styles, layers and tools that others have created?  Do you want to learn more or step up your game on features you’re not very strong in and pick up some practical examples of best practices?  If so, this series is for you.  Over the course of 12 months and maybe more I will cover the basics of a lot of AutoCAD tools and features that many may want or need to learn more about.

This is the 5th article in my AutoCAD 101 series – to read about the origination for this series, see the first post here: <Intro>  The last post in this series was about how to use AutoCAD’s Block editor <link>, this post will be about some important “stuff” when creating or fixing existing blocks.

There are some key things that you can do when creating blocks that will make your work easier and will make your blocks less likely to be exploded by other users later.  Two items that I believe are foundationally the most important are Insertion Points and original creation layer.  We will get into a lot more about layers in some future posts, but for now know that layer “0” (zero) will most commonly be the best block creation origination layer.

Origination Layer

Let’s start with the layer issue.  When creating an object many think or believe that the block should be created on the layer it will be used on – this is not your best option. Let’s look at our 2x4_light block that we have been working with.

If you’re an architect, you may like your lights on a lighting layer like ‘A-Lights’ or maybe you like to put everything on the ceiling on one layer like ‘A-CLG’ (please don’t do this, it’s a nightmare for anyone else using you ceiling plan). So when creating your block you create it on one of these named layers and set the color to Bylayer.  The good aspect of this is that the layer, if it doesn’t exist will get automatically added when you insert this block. That’s pretty much the end of the good points.  Now if the layer did not exist prior to inserting this block, you couldn’t insert it on that layer anyway as it did not exist until you inserted the block.  You will have to move at least the first block after insertion.

Let’s look ahead, a good practice to do when making blocks. If you at some point in the future are going to do an existing lighting layer, a new lighting layer and/or a demo lighting layer, how do you visually differentiate between them with the light fixture block?  You can create these layers and assign them different colors and line types, but since your block was created on say ‘A-Lights’, your block will maintain the properties of the ‘A-Lights’ layer no matter where it is inserted.

Let’s go back and create this block on the ‘0’ layer, often referred to as the ‘Chameleon layer’ due to its special properties.  When a block created on layer ‘0’ is inserted in to a drawing, it takes on the properties of the layer it is inserted on. So if your ‘A-Lights’ layer is yellow with a continuous line type your light fixture will be yellow and continuous. If you insert it on an ‘A-lights-Demo’ layer that is Cyan with a hidden linetype, your block will come in as Cyan with a hidden linetype, and so on…

Although you could create this block as a dynamic block with various color and line type definitions you will lose the ability to isolate blocks by their layer location.

There may be instances where specific details in the Block need to be hard coded to certain colors and line types, due to printing standards, but the first best choice is creating it on Layer ‘0’ and set color and line type to ‘Bylayer’.

NOTE: For some additional flexibility, create the block on Layer ‘0’ and set the color and linetype to ‘BYBLOCK’.  When the block is inserted, it will assume the color and linetype of the Layer inserted on, but the ‘BYBLOCK’ option allows it to be over-ridden.  Use this option with caution however, as lazy drafters will insert the block on the wrong layer and then manually change the color and/or linetype to what it should have been had it been inserted on the correct layer.  This will defeat your ability to isolate blocks by layer or select by properties.  Imagine a demo layer being Cyan/Hidden and a light fixture block is inserted on the ‘A-LIGHT’ and manually over-ridden to Cyan and Hidden.  You freeze the ‘A-LIGHT’ and it appears some demos lights go away – just one an example of what could happen.

Another potential issue is future standards changes and client standards requirements.  If you at some point decide to change your layer naming convention, all your blocks utilizing the old layers will have to be redefined.  With blocks created on layer ‘0’ the standards change is a non-issue.

If you’re not the team leader, and work as a sub consultant (electrical engineers, contractors, lighting designers) for a client and they require final drawings to maintain certain layer, color and line type standards, more issues will crop up with hard coded blocks.  The 2x4_light block created on layer ‘0’ is usable by all parties.

Insertion Point

The next big item I often see that is a bad practice is the blocks defined origin or insertion point.  Short of creating a block using the dynamic multipoint option (which in some situations is a great option) you need to choose an insertion point that makes sense. We will cover the multipoint insertion option during our dynamic block track.

For our 2×4 light fixture, it will most likely be inserted in a 2×2 or 2×4 grid.  With this in mind, creating the insertion point on one corner of the block is an excellent option.  You don’t want to make the insertion point off the edge of the block or the middle point of a line, because it will rarely, if ever, match up to a straightforward insertion point on your grid.

Bad insertion points will lead to blocks being ‘eye-balled’ on insert or inserted and moved, creating extra steps.

With blocks, you can’t just use the lower left or midpoint of a block as a standard insertion point, because each block has unique insertion properties. For example tank type toilets, counter sinks and beds are a few items that may be centered on a wall or stall, but are typically shown from 1″ to 3″ off the wall that they are up against.  Wall mounted toilets, sinks, and urinals may also be centered, but will actually be snapped on to the wall.

Janitor’s sinks are usually tucked in to a corner of a janitor’s closet or mechanical space, so it would make sense that their insertion point be on the back corner of the janitors sink.  The proper insertion points for blocks can vary greatly, but how the block is most commonly used is what should dictate the insertion point.  See image below for block examples with their insertion points shown (blue square/grip).







Figure 1

These two items are just a couple important items, to consider when creating blocks, but there are some other items to consider as well as some best practices to follow when making blocks for your master library.

  • Unmark ‘allow exploding’
  • Set dimension styles, text styles, and table styles to ‘Standard’ and set the line type to ‘Continuous’
  • Set the current layer to ‘0’
  • Purge the block drawing of any unused line types, styles, dimensions, etc. so that they do not get carried forward like an infection into future drawing files. (This is a common issue for drawing bloat, especially in 2013 and newer drawings without the DGN hot fix installed).
  • When creating blocks with attributed text, make sure you check the worst case scenario for text length/size to avoid ‘Ugly’ blocks (see Figure 2).
  • Also for attributed text blocks, choose an appropriate text justification (see Figure 2).







Figure 2

Much of the above cleanup could be automated in a script which we will cover in a future customization post.

Follow these steps when making your blocks and you will have cleaner drawings and happier users.


Macro Mania – Part II

Now that we’ve covered the basics of macros let’s get into some useful applications were macros can further increase your efficiency.

To summarize the steps in the previous post:

  • We created a new central customization menu on the server
  • We added a toolbar
  • We created a new Command macro
  • We added our macro to the new toolbar
  • We took a step towards being more efficient

As I said in the previous post Macros can be used for a variety of tasks from auto answering prompts in commands and automating drawing processes to performing CAD management tasks.  In this post we will cover some of each.  Note that you will see “CTS” used throughout these macros which follows the previous initials setup in our first post on Macros.  These initials can be set to something that fits your organization’s naming convention.

Drawing processes:

A nuisance that I see on a regular basis when working with consultants and clients drawings is finding symbols and linework on the wrong layers.  It’s very hard to automate a cleanup process if the person who created the original drawings doesn’t put their items on consistent layers. Worse yet are the those that put stuff on the wrong layers then just change the color to the color that it was supposed to be.  Although this type of user needs a serious talking to, most of the time when stuff gets on the wrong layer it’s accidental. This accidental step is often caused because clients use a limited number of colors, and when an item is inserted on a layer that happens to be the same color that the symbol is supposed to end up, they assume that they are on the right layer. Some basic macros on their end would easilly fix this issue.  Of course these are also ways to increase your efficiency as well.

Defining layers and line-work :

Macro to create a 4-segment conduit run on a specific layer:


Inserting blocks:

Macro to set the appropriate layer, and insert a 2×4 light fixture (which is a dynamic block). Since it is real scale, the scaling prompts are defaulted and it only asks for rotation.


Macro to set the appropriate layer, and insert a fire alarm device (which is a dynamic block).  Since it is not real scale, the scale is determined by the current dimscale and it only asks for rotation.  Note: If your Dynamic block has the “Alignment” parameter, rotation can also be removed. (I have found this option a bit quirky for many users and have stopped using it for now).


Yet another annoying trend is the use of AutoCAD’s “Standard” styles for use as company standards.  The “Standard” styles, just like Layer “0” are in all drawings, and cannot be renamed. The built-in standards should be used as a template to create your own standards.  Note although you cannot rename the “Standard” style in the style dialogue, you can with the rename command, which is used in this Macro.


Architect adapts the “Standard” style as their default text style and just changes the font to “Hand1.shx”  and sets the width to .8.   Our default Standard style uses the “txt.shx” font with a width of “1”.  When we block in room names from an Architect’s drawing (so that we can move them around), they change to the standard ugly TXT font.  We don;’t use “Standard” styles, we leave them as is.  You might think that changing them to the architects font would be a quick fix, and it would if we only worked with one architect that does this common mistake.

The Standard Style Fix: (Do this in their drawing prior to import)


Some other useful Macros to save Keyboard and mouse clicks.

Drawing Setup:

Import all company standard layers via a master drawing and set all settings for a specific scale (this one is 1/4″ scale) and assumes you are not using annotative scales for everything (this all one line – copy and modify for other scales):

^C^C-INSERT;F:/STANDARDS/CTS.DWG;0,0;^C^C-DIMSTYLE;R;CTS-48; _fillet;r;4.5;^C^Cdimscale;48; ltscale;.5;psltscale;1;msltscale;1;DIMASSOC;2;-STYLE;NOTES;;4.5″;;;;;VISRETAIN;1;

Note: the above also sets some commonly changed variables as well as being useful when working on an existing drawing setup by someone not following your standards. (Say it isn’t so!!)

CADD Management:

On  the CADD management side another use for a macro is updating your template files and your standard layer states.  Many people use template files to start their projects because it allows them to get their standards in place as soon as they start a new drawing. This is good but sometimes you need your standards brought in after your drawing is already in the works or because of purging you need to get your layers back to where they were.  Regardless of the reasons, you need to keep various master files up to date, especially early in your standards setup.

To keep these Master files into their Proper locations takes a series of steps.  The following macro uses your master drawing to update your master template, master CADD standards file and export out your master layer states.  Speaking of layer states, this is another very efficient tool that can be used to automate and control your drawing files.  We will talk about this in a future post on efficiency.


If your company has a set of standards that you want implemented in your drawings, macros make typical processes a lot faster and maintain consistency and accuracy.  Time is money so faster is more efficient.  Keep in mind that efficiency is not just about speed – accuracy is an essential factor.  With good accuracy you have less to revise or fix.

Background  Cleanup:

If you get a lot of background updates on a project from an architect and he/she uses a consistent Layering scheme macros are a great way to clean up the drawing to meet your needs.  It is not uncommon for myself and I’m sure some of you to take 10 to 30 minutes on a background cleanup process.  You can whittle that process down to a couple minutes or even seconds with a macro.  For instance, the following macro reduced a thirty minute typical cleanup time for a co-worker on a repeat client’s work from 30 minutes to less than a minute – including visual checking.  And since it seems like were getting background updates every other day – some last minute, this has become a huge time saver.

The following routine sets our preferred units, sets all changeable items to color by layer, erases what we do not need, purges and prompts for a SAVEAS.  NOTE: “WX-D” is the name of the Layer state that we are restoring.  This routine took about 30 minutes to write, tweak and test. (This routine can vary greatly by the type of background you are cleaning up).


When writing macros be sure to draft them out on paper before you jump into the CUI editor.  No matter how fast your machine as it takes time for the CUI editor to launch modify save and get you back to your editing session.  The more corrections you have to make the MoreTime your CUI editor takes away on your productivity.  Use the F2 key to watch your commands in the text window to verify what your prompts are and what your answers need to be.

Call External Scripts:

Another trick you can use to save time and also make your updates instantly available to others without requiring them to reload their menu, is to create a short macro that calls an external script.  You can quickly edit the script on the fly and changes are available as quickly as you select “Save”.

The following macro string calls an external script file called “setvars”.


 If you’ve written some really cool macros that you would like to share or need help with a macro you’re stumbling with, email me.

In upcoming posts, we are going to get a firmer Grip on efficiency by performing common actions in AutoCAD without actually typing any commands and we’ll look at dynamic blocks as a way to reduce our workload.


Macro Mania – Part I



Moving ahead in our year of efficiency, we need to find ways to do more in less time while not reducing the quality of the end product.  With AutoCAD being a major tool in our daily workflow, it is a prime target for optimization.  In a recent article I wrote (not yet published) I used the following definition for efficiency when working with AutoCAD:

Having and using requisite knowledge, skill, and industry experience to competently perform or function within AutoCAD to create drawings in the best possible manner with the least waste of time and effort.


With this concept in mind, the first post in our two-part series is going to be about creating and using macros in AutoCAD and how they can speed up your work Tenfold.   Macros can be very powerful and can be used to perform a variety of tasks, including automating command prompts, controlling CADD standards and even automating CADD management steps.  I will cover some examples of each in this series.

No matter what field you’re in, after a while you find yourself doing the same steps over and over again.  Some are on a weekly basis, some daily and some even hourly or shorter.  Anytime we repeat a step, task, process, or command there are certain questions or prompts that need to be answered like; Yes, No or Return.  We are also prompted to pick points, set layers, set styles and choose rotations.  These are things that are repeated so much we answer them without much thought, all while caring on a conversation with our cube mate and planning the next two commands and the answers to their associated prompts.  Although we can practically enter these choices in our sleep, my question is why are we?

Well I for one am not going to do it anymore and neither are you. Something has to automate this process so we can use our brain for thinking about more important things.  “Macros” to the rescue.  I do not recall when macros came in to play in AutoCAD, but I know I have been customizing and using them since AutoCAD version 9.  No matter your experience level, macros are one of the easiest customization tools you can do to increase your productivity and you are only limited by your creativity.  In the current company I work with, 95% of our work is accomplished through Toolbar Macros, including customized replacements of standard AutoCAD commands.

For this exercise we are going to need a toolbar to place our custom macros on, so we need to take a quick look at the CUI editor (I miss the old MNU text editor days).  I am currently working in 2013, but some variation of the CUI editor has been around since version 2006.  If you’re a visual person, I created a PDF of version of this article with screen shots here.

 For a more in-depth look at the CUI editor, check out Melinda Heavrin’s article from AUGI World on labeled: 

 Understanding the Customize User Interface (CUI)

 Macro Mania – Toolbar Creation:

To keep our customized work separate from the main menu (highly recommended) and make it available to everyone in the company, you are going to want to have this in your central customization file on the company server.  Don’t have one yet – let’s get one started (If you already have one, skip past this section):

Central Customization Menu File Creation:

At The command prompt type:  “CUI” (no quotes) and when the editor comes up (see below), select the transfer tab. In the transfer tab on the right, you will see the words “New File” and a Save option to the right of that.

Select Save and browse to a shared folder on your server that everyone has access to.  This should be in your central CADD standards drive (preferred) or CADD standards folder.  If you do not have one, we have some more work to do, but we will have to address that another day.  Email me if you need some help on that.

Assuming you or someone else set this up already, under your “Menus” directory save the file with a logical name (other than custom).  Precede it with the same thing you preceded your other standards with… I mean if you have them…  If you don’t have this type of setup, let’s use your initials to get the ball rolling, we can rename it later once your actual standards are in place.  Let’s assume your initials are “CTS” for Carol or Conrad Smith.  Save the file as CTS-Custom.  Yes I used “custom”, but the trick is to use a prefix that makes it unique.  You can call it CTS-Master, or CTS-Standard or whatever you like, but make sure it has the prefix.  You will understand as we talk more about this concept in future posts or you can email me if you need to know now.

Now that you have a new customization file, let’s add a toolbar.  Right click on the word “Toolbar” in the right hand pane and select “New Toolbar”.   Name it “Efficiency” (no Quotes).  Now select “OK” at the bottom of the screen and you will be back in AutoCAD.  Now type “MENULOAD” (no quotes).  Select Browse and browse to the folder where you saved the CTS-Custom menu, which will be called CTS-Custom.cuix.  Highlight the file and select “Load” and then “Close”.  When you are back at the AutoCAD screen, you will see an empty floating toolbar, and if you roll over it with your mouse it will be called “Efficiency”.

Now on to get the Toolbar populated

Get back in to the CUI editor by typing “CUI” (from here on out, remember “no quotes” unless I tell you).  While on the “Customize” tab, on the same line as the “Customizations in All Files” line, pick on the down arrows to show all your customization menus.

Scroll down to “Partial Customization Files” and keeping selecting the “+” signs to get out to your “Efficiency” Toolbar. Now switch down to the bottom pane and select the “Create a new command” symbol.

We are going to address all the important items here.

This is what your new command OR Macro will be called, and you will replace this with what you want the actual name to be. This will auto-populate the “Name” field to the right.

Source – “ACAD”
This is the current Menu that the command is registered to.  Once you add it to your Efficiency Toolbar, this will show up as “CTS-Custom”.  (We will do that shortly).

(see Command1)

This is where you will place a description if necessary – Although I rarely do, it is always good practice to describe what your macro does for future folks that may inherit your menu system.

This is where the action happens and your efficiency increases!  To see more specifics about the command options in Macros see “Writing Macros” below.

Element ID
An ID name that you give your macro. I always use ID_name, with “name” being what the tool is.

Small/Large Image
This is the graphic image that shows up on your toolbar that users see and select to run your macro.  Typically these are set to the same. If you have a lot of people who use the LARGE icon option, you may wish to create one for each.  Starting out, especially if you are not a creative wiz, I would use an existing button image with a splash of color. I.E. use the save button image for a special file save macro, but color the inside red – then ‘saveas’ a new icon.

Writing Macros
At its most basic level, macros are simply automating the prompts that a command throws out to you.  Although this is a powerful feature in itself, by stringing multiple commands together, loading and running lisps combined with commands you can do amazing things that will drastically cut back on your keyboard and mouse time.  Below are some basics that you will need to know and common issues that you run into when writing macros.  Note that this list is not the entire list of macro options, but represents the most commonly needed or utilized.

Basic Macro Options:

Cancel and is the default and most common way to start a macro.

Equal to a keyboard Return. Note: Spaces can also be used but are easily lost in a macro string. I personally do not recommend their use.

Pause for mouse or keyboard input

Use when specifying paths outside of AutoCAD. Note that this is the opposite of what you would see at a command prompt or path description.  Example: a command prompt to a network share drive and folder would look like this:   “F:\MSTRSYMBOLS\BLOCK.DWG”  In a script it looks like this:  “F:/MSTRSYMBOLS/BLOCK.DWG”

Quotes – Encapsulates a group. This comes in handy when specifying paths that have spaces in them. For instance the path above has not spaces, but if there was a space between MSTR and SYMBOLS, the macro would assume that was a return.  Putting quotes before and after will cause the whole group to be read as one parameter.

Hyphen – this is used to run commands without Dialogue boxes popping up.


Period – This allows you to use built-in commands even if they have been undefined. Useful for CADD managers that have undefined commands.

Now let’s do a quick macro to get your feet wet.  We will call this “Super Save”.  The purpose of “Super Save” is to zoom extents to get a full view image for previewing (which gets updated on saves), purge our file, audit it, purge it again, save and close it.  If you type each of the commands out at your command line, you will see what each letter is answering – remember that the “ ; “ symbol is a return. Time yourself by typing this command out manually and then pick the button and see how much faster it is.  And this is just the beginning.

As you may have noticed, this routine is for the still common model space users in the group, it would be simple enough to add a switch to PaperSpace before running the “Zoom” and “Save” options – I’ll leave that for you as homework! (Email me if you need help).


Command1:                  SuperSave
Source:                      ACAD (Will become “CTS-Custom” once we drag this to our toolbar)
Name:                        Super Save
Description:                 Zoom Extents, Purge, Qsave and Close
Macro:                       ^C^Cz;e;-purge;a;;n;audit;y;-purge;a;;n;qsave;close;
Element ID:                 ID_SuperSave
Small/Large Image:    super-save

For the Button image, I selected an existing image icon from the Button Image dialogue above and selected Edit (Notice the existing name is RCDATA_16_SAVE) and I chose ‘Both’ for my image option.  On the right, color in the center area red, select “Save” and give it a new name, then select “close”.

Select Apply to save your work.

To get the Macro button added to your toolbar, drag it from the left lower window pane to the top left window pane until you see a small arrow next to your toolbar, then, drop it.  You should see something similar to the right side graphic now.

Yea!!  You are on your way now!

In the next post we can skip the toolbar work and concentrate on some more practical macros.