Editing Your External References

30 Nov, 1999 By: Lynn Allen

You're in a drawing with an attached external reference. You notice a small change that needs to be made within the xref. You go to edit the xref, and AutoCAD reminds you ever so politely that this is an external reference, and you must go out to the original drawing to make the change - doh! What a hassle! Wouldn't it be nice if you could edit that external reference from within the drawing it's attached to? Wish granted with AutoCAD 2000. The new REFEDIT command permits you to make the changes to the attached external reference and save them back to the original drawing.

So how many of you CAD managers are cringing right now at this thought? I remember being accosted in Tulsa, OK, because a CAD Manager was mortified about this new feature. Well let's think about this - it doesn't really let your CAD users do anything they couldn't do before, but this way they can just do it a lot faster! Rest assured that if they don't have permission to access the referenced drawing, the new REFEDIT command won't magically grant it to them. There's also a system variable that will turn this feature off completely within a drawing (if you really must!).

Figure 1. This is a drawing of a plate that has an xref of four bolts.
Figure 2. The REFEDIT toolbar.
You'll also find this feature is a great new way to update your block definitions. It grays out the parts of the drawing you're not interested in, focussing directly on the parts of the block. After you've made the modifications, it automatically updates all the blocks in your drawing.

To follow along you might want to open a drawing with an external reference attached, preferably one that could use a little editing. I'll be opening a drawing of a plate that has an xref of four bolts, as shown in Figure 1.

The REFEDIT command is located in the Modify pulldown menu under In- Place xref and Block Edit. Here you'll find the Edit Reference option. There's also a REFEDIT toolbar, as shown in Figure 2.

So here's the scenario: the hole within the bolt is the wrong diameter. The two objects comprising the bolt are actually part of a block, and

Figure 3. When this dialog box appears, it indicates that I've selected a block nested within an external reference.
Figure 4. Clicking on bolt_array|bolt or picking the Next button displays this image of the bolt.
the block is inside of the attached xref (the anklebone's connected to the foot bone). Not only am I trying to change an attached external reference, but I'm also trying to change a block nested within that reference. Yikes!

I start by executing the REFEDIT command and selecting the bolt. The dialog box shown in Figure 3 appears, and it indicates to me that I've selected a block nested within an external reference. Clicking on bolt_array|bolt or picking the Next button displays the image of the bolt, as shown in Figure 4. Notice that the two different distinguishing icons, as shown in Figure 5, delineate the difference between a block and an external reference. It should also be noted that if you simply select the external reference, you will not automatically see the nested objects. In addition you can only edit one nested object at a time. If

Figure 5. These two different distinguishing icons show the difference between a block and an external reference.
you want to edit five different nested blocks, you'll have to enter the REFEDIT command five different times. The preview images display the xref as it was last saved in the reference drawing, and you'll find any changes you make will not be reflected in the preview during the current drawing session. You would need to reenter the original drawing and execute a SAVE to update the bitmap, which can get a tad confusing. (Note: Blocks that are inserted into the drawing using MINSERT cannot be edited.)

Within the REFEDIT dialog you'll find the path of the external reference. Underneath the path are two options: Enable Unique Layer and Symbol Names and Display Attribute Definitions for Editing.

Enable Unique Layer and Symbol Names. When you bind an external reference, AutoCAD assigns unique layer and block names where applicable. For example, a layer called Furniture from a drawing called Mouse would look like this:

If the Enable Unique Layer and Symbol Names option is selected, you'll find the above format would be used (drawing name $#$ layer/ block name) for displaying block and layer names while you're editing. When this option is not selected, layer and symbol names are the same as they are in the original referenced drawing.

Display Attribute Definitions for Editing. If you decide to edit a block with attributes, you may wish to edit the attribute definitions. I'll be the first to admit this isn't exactly intuitive. You'll start by selecting the above option; this will make the attributes visible for editing (even though the help file indicates the opposite). I suggest using the new PROPERTIES command to edit the attribute definitions. Then, save the changes back (which we'll get to later). As it is with standard attribute definition editing, this will not affect any of the existing blocks - just those that are inserted after the changes have been made. To affect existing blocks you'll want to use the age old ATTREDEF command or the BATMAN Express Tool (one of my favorites!).

After I've cycled through to the nested block Bolt, I'll dismiss the dialog by hitting the OK button. I'll be prompted with the familiar "Select objects:" at which time I'll select the circle in the middle of the bolt (since my goal is to edit its diameter). After selecting the

Figure 6. All of the other objects are now grayed out, so now I'm only dealing with this circle.
circle and hitting an extra Enter to indicate I've finished selecting objects, all the other objects in the drawing are grayed out (very cool!). It's very clear I'm only dealing with the circle, as shown in Figure 6. All objects that are not grayed out are part of the working set. If you executed the command from the keyboard or pulldown menu, you'll also notice that the REFEDIT toolbar has just popped onto the screen, and it lists the name of the selected reference. (Note: If you change your mind and decide you want to exit the command at this point, dismissing the REFEDIT toolbar isn't the route to take. Hitting the escape key won't do it either - and you'll feel like you're in REFEDIT limbo! You can, however, select the Discard changes to reference button on the toolbar or execute the REFCLOSE command.)

Editing The Circle
Now I'm ready to edit my circle. I'm going to make it easy by using Ctrl+1 to put the Properties dialog on the screen (For more information, see last month's column Circles and Lines: "Modifying Object Properties with AutoCAD 2000"). I reselect the circle (not sure why I have to pick the circle yet again-) and change the value of the diameter to 10. When I've completed all my edits, I'm ready to save the changes back to the original drawing.

If you want to add an additional object to the working set (to eventually be saved back to the original referenced drawing), you can do it one of two ways. You can add the object while you're in REFEDIT mode, and the object will be automatically added into the working set. If you have an object(s) that existed before you executed the REFEDIT command (and is currently grayed out), you can select it using the Add objects to working set button. This brings the object to the forefront, and it becomes part of the working set. You may also find that objects added because of an EDIT command such as FILLET may not be automatically added to the working set. This means that you have to add these manually. For example, you fillet two lines, the fillet arc needs to be added to the working set to be saved back to the final drawing.

If you want to remove an object from the working set (and delete it from the referenced drawing), you can do so by selecting the Remove objects from the working set. This would actually allow you to keep the object in the current drawing and remove it from the referenced drawing (confused yet?). In most cases I would suspect you'd simply use the ERASE command to remove the object. This erases the object from the current drawing and the referenced drawing.

You can actually edit objects that reside on layers that are locked in the reference drawing. Of course you have to unlock the layer first (in the host drawing) before you can edit the object. The layer returns to

Figure 7. This dialog ensures that you realize that these changes are being saved back to the original referenced drawing and also gives you one last chance to back out.
its locked state in the original referenced drawing when REFEDIT completes.

After all the changes have been made, you're ready to save them back to the referenced drawing. It's time to select the "Save back changes to reference" button. This displays the nice friendly dialog shown in Figure 7, which is there to ensure that you realize that these changes are being saved back to the original referenced drawing. It also gives you one last chance to back out. After hitting the OK button, you'll notice that all of my bolts now have holes with the proper diameter, as shown in Figure 8. Mission accomplished!

Figure 8. After hitting the OK button, you'll notice that all of my bolts now have holes with the proper diameter.
Xedit and Xfadectl
There are a couple of system variables that enter into the equation when REFEDITing. Xedit controls whether the REFEDIT command can be used on the current drawing. Setting xedit to 0 in a drawing will block anyone from using the REFEDIT command on it. Adamant CAD Managers might consider setting this variable to 0 in all drawings if they truly want to block this feature.

You can also control the fade factor on the objects not included in the working set. The higher you set the value of xfadectl, the more the objects will fade. Fifty percent is the default, and you can't go any higher than 90 percent. (Note: If you have SHADEMODE set to a value other than 2D wireframe during in-place reference editing, objects outside the working set will not fade.)

Don't forget to try this command on your block references. The fading out of objects that don't belong to the block along with the automatic updating of all the blocks in the drawing make it a viable alternative to the way you've done it for years.

So many of us use drawings with multiple attached xrefs. AutoCAD 2000 has provided one more nice feature that makes it easier to make those minor alterations without having to go out to the referenced drawing to do it. Until next month-

More News and Resources from Cadalyst Partners

For Mold Designers! Cadalyst has an area of our site focused on technologies and resources specific to the mold design professional. Sponsored by Siemens NX.  Visit the Equipped Mold Designer here!

For Architects! Cadalyst has an area of our site focused on technologies and resources specific to the building design professional. Sponsored by HP.  Visit the Equipped Architect here!