How to create and use Blocks effectively in your drawings:
BLOCKS and their resultant INSERTS are an important feature of AutoCAD. This article is about designing, naming, use of layers, choice of insertion points and more and explains the the importance of Blocks and Inserts to efficient drawing.
The examples referred to come from the field of architecture but the concepts apply to all disciplines. If you wish to learn how to use the commands mentioned then you should refer to specific tutorials. myCADsite is also a good source
First let’s sort out some terminology: A BLOCK is a definition stored in your drawing file database; there is only one of each named block definition. An INSERT is the result of inserting a BLOCK in your drawing model; there may be many at different locations scales and rotations.
Blocks can contain as many objects as desired. It may be as simple as a plan of a table, as complex as a full 3D model of an entire building or may contain nothing at all. We’ve all wondered why we couldn't see our block then discovered we didn’t select any objects and then successfully re-defined the block only to discover multiple Inserts, one for every attempted Insert.
BLOCK definitions are stored within a drawing file’s Block Table and are part of the drawing database. Blocks may be inserted into paper space or model space. In spite of the distinction between Blocks and Inserts we all nevertheless refer to Inserts as Blocks and thus the word BLOCK adopts one of two different meanings depending upon its context.
The definition of each Block consists of definitions of each of the contained objects relative to the Block’s Origin. There is only one definition of each Block in the Block-Table thus each contained object appears only once in the database. Although each Insert displays all of the objects in the Block the Insert definition itself consists only of the X, Y and Z values of its insertion point, its X, Y and Z insertion scales, its rotation and reference Layer and perhaps some Attributes; thus keeping the information in the database to a minimum. Each time the screen is regenerated each Insert is redrawn from its definition in the Block Table.
Types of Block:
Blocks may be created for several different methods of use.
Block drawn at a scale of 1:1 (one measurement unit = one database unit) and inserted into the model at scale of 1, for example (for architectural drawings) sinks, dish-washers and the like are best created at 1:1. The sizes and appearance of the Inserts can easily be modified by changing the insertion scales or by using negative scales to produce mirrored versions.
Blocks drawn so that the main dimension of the object is one unit that may be scaled on insertion thus allowing, for example a 1 x1 crossed square can become a 950 x 850 shower base or perhaps 100x50 wood section.
Blocks drawn so that the main dimension of the object is a key size that may be scaled on insertion thus allowing, for example, a standard 1000 wide door to be adapted to say 760 or 1100.
Multiple Blocks may be nested within other composite Blocks thus allowing the assembly of a collection of Blocks to form a library. The library file may be inserted into a host file to allow access to the library items. One could for example have a file called DOMESTIC_APPLIANCES that contained all the Blocks required in drawing a residence. A clever Autolisp App allows nested blocks to be extracted from the library collection without exploding the library block itself.
Substantial parts of buildings such as kitchens, or even entire apartments may be of standard design and occur several times within a multiple-dwelling project. It is rare however that every occurrence will be identical, particularly where they meet adjoining construction. Such Blocks are usually exploded and adjusted, thus losing the benefits of reduced file size and ease of redefinition, but still providing a convenient means of data storage and retrieval. During development of a project these slightly incorrect Blocks may be retained unexploded until the final stages, thus allowing ease of redefinition of the standard item.
Blocks are defined by collecting objects from within the current drawing but INSERTs may be placed in the current drawing either by insertion from the current drawing block-table or by INSERTing an external file.
The process of insertion from an external file automatically first creates a Block definition within the current file’s block-table and then inserts an occurrence of the Block into the visible drawing. Normally block definitions of the same name within the current file take precedence over incoming definitions but the Insert command allows the option to redefine existing Blocks in the process of insertion.
Layers within Blocks:
Be careful when selecting objects for inclusion in blocks. Make sure that the objects' layers will not conflict with the main file naming strategy. One often hears cries for help to purge what is thought to be an unused layername but is trapped within an unexploded block. (sometimes several levels deep). Remember that layer zero entities in a block will adopt the insertion layer and defined layer entities will retain their layer; possibly conflicting with the intentions of the project.
Blocks are often difficult to name due to their variety, and potential number of similar blocks. Often the only logical method is to use serial numbers with an index but it is better to make the names as meaningful as possible.
The object of a Block naming system is to produce consistency of practice at project level, but within an isolated file common sense may be allowed to prevail over precision. There is no reason why simple names such as SINK or CHAIR cannot be used when in isolation. This will however hinder the sharing of data between different offices or disciplines and may also limit the use of automatic functions that use the Block name to derive an appropriate reference Layer.
When justified by the complexity or level of data sharing on a project the following suggestion may be helpful. In less demanding circumstances variations or simplifications may be preferable. A simple yet effective method is to make up block names from relevant fields such as object-type, drawing-type, viewpoint and unique-identification-code:
SANitary, ELElectrical etc.
L Location – 1:100, 1:50
D Detail – 1:20
A Assembly – 1:5, 1:2
Most real-life objects have a recognisable front and back and a left and right side. It is useful to create drawings of objects so that the front is at the bottom of the drawing and the left and right sides are on the left and right sides of the drawing.
L Left elevation
R Right elevation
F Front elevation
B Back elevation
Thus producing names such as: FUR-LE-CAB-FLR800 meaning Furniture Location Elevation, CABinets, FLooR-unit, with Left and Right doors, 800 wide.
If this all looks too complicated then you are probably working in a simpler environment and would prefer a simpler system.
Ordinary text within Blocks cannot be edited (without redefining the Block) and does not mirror correctly. To avoid having to explode blocks use Attributes which do mirror correctly and can be edited.
Drawing and Defining Blocks:
Blocks should be drawn in a consistent manner, particularly with respect to:
- Insertion point
Several logical options are available for insertion points but these may generally be standardised according to the type of object, thus:
A WC pan that is symmetrical about the Y axis would have its insertion point at the mid-point of the rear of the pan (where it is inserted relative to the wall).
A circular object such as a collection of chairs around a circular table could use the centre-point of the table.
An elevation of a window could use the top left corner since more often than not this will lie on a joinery line for window heads.
A rectangular bath would use the left rear corner (where it fits into the walls) and have the drain outlet on the left.
Complex drawings that do not have an obvious insertion-point should use a point at the bottom left extremity of the drawing so that all objects are in positive X and Y space.
Use of the X, Y, and Z scales duing insertion permits blocks to have various sizes and proportions or to be mirrored.
A Block’s reference Layer is the Layer that was current at the time it was inserted or to which it may have subsequently been changed. Blocks are hidden if their reference Layer is frozen but not if their reference layer is turned off (unless the block is made of objects on a layer (other than zero) that is turned off). This is a useful characteristic when editing or printing a drawing thus care should be taken when choosing Block insertion Layers.
Internal Layers of Blocks:
Philosophies on Layer naming abound but a common practice is to use Layer zero (0) for objects within Blocks.
Layer zero is by default colour seven (7) (white or black depending on your screen background). Layer zero cannot be renamed or deleted.
Provided that the current object colour and line-type are set to BYLAYER Layer zero objects within Blocks will display the colour and line-type of its reference layer, the current Layer when the Block is inserted. Objects that are not layer zero will display the normal colour and linetype of their layer. Being of Layer zero is rather like saying that the objects have no Layer of their own and depend on the insertion Layer for properties.
The benefit is that such Blocks may provide different appearances according to their insertion Layers and can thus be used in many ways e.g. the one Block may have many appearances depending on its reference Layer properties. “Zero Blocks” are therefore very adaptable, particularly across different Layer naming systems.
If some information within a Block is always to be displayed in a particular way then those objects may be assigned colour and line-type by entity or have specific Layers of their own.
Use of colour and line-type by ENTITY produces fewer Layer names than BYLAYER and guarantees retention of preferred colour and linetype but does not allow those properties to be changed by Layer redefinition. This may cause colour/pen thickness problems when plotting and will also prevent changes to the appearance of those objects without object redefinition.
The most important aspect of using non-zero layers within blocks is the ability to display or hide objects by Layer and to change their appearance by redefining the object’s layer.
Layers and XREFS:
Layers of objects attached (XREFed) to a drawing have their layer names automatically modified by addition of the source file-name as a prefix to the original layer name but still by default displaying the properties of the original layer. The value of this is that having new unique names they can be manipulated separately from the host file, allowing such actions as changing all the layers to grey to subordinate the ATTACHMENT as a background.
See also VISRETAIN that allows retention of the original Layer properties of the source file rather than those of the host file.
See also DIMCLRE that can be applied to dimensions.
Even though a Block may have many internal Layers the entire Block may still be hidden by freezing its reference Layer. Turning OFF layers of objects within a block will hide those objects with that layer-name property.
If a zero-layer Block is exploded then the objects return to Layer zero regardless of the current layer and will as a consequence change their appearance to Layer zero or disappear if Layer zero is OFF or frozen.
Good advice is never to insert Blocks on Layer zero and never use Layer zero other than for creating objects intended to become part of a Block or for temporary objects. Use of the colour 7 for layer zero and perhaps construction lines is a powerful visual clue that some loose un-blocked objects are still floating around or the objects are temporary.