HOME‎ > ‎

EXPLODEALL

Explode selected blocks and all embedded multi-level sub-blocks in one step, while remains all other objects such as polylines and dimensions unchanged and keep the original draw order. It also provides very useful options to keep object color, trim off clipped blocks, delete objects under wipeout, etc.
 
 
INTRODUCTION
Command: EXPLODEALL
Select objects to explode:
Select objects:
You can include blocks, wipeouts and other entities in the selection.
If some entities selected, you can select from one of the options below:
[Settings/Explode] <E>:
  • Explode
    This is the default option, the setting dialogue is not shown when this option is selected.
    When the first time it is used in current drawing, it uses the default settings shown in the dialogue below.
    After that, it adopts the settings used in the last EXPLODEALL command.
  • Settings
    It shows the "EXPLODEALL settings" dialogue.
    All changes made in the dialogue will be saved after pressing "OK" button. If you are satisfied with previous settings, you can skip "Settings" in this step, just press Enter to use "Explode" to proceed.

 

  • Layers
    It controls the layer of exploded objects.
    • By parent block
      Exploded objects are changed to the layer of the parent block they belong to.
      The parent block is the block in the original selection. It is the top level block in a multi-levelled block, not median-levelled sub-block.
    • By object
      No changes made to final exploded object layers, same as using command EXPLODE.
      This is the default setting of Layers initially.
  • Colors
    It controls the color of exploded objects.
    • As shown on screen
      A very nice feature which changes the color of exploded objects to ensure they look exactly the same as before.
      For example, if you explode a red block with standard EXPLODE command, any object in ByBlock color appears white. This sort of result is a disaster for drawings of color-dependent plot styles. But with EXPLODEALL, you can keep the screen color and printing result unchanged even if all blocks have been exploded.
    • By parent block
      Exploded objects are changed to the color of the parent block they belong to.
      The parent block is the block in the original selection. It is the top level block in a multi-levelled block, not median-levelled sub-block. 
    • By object
      No changes made to the color of final exploded objects, same as using command EXPLODE.
      This is the default setting of Colors initially.
  • Bind option
    It controls the mode of bind xrefs. See Note 11 & 17 below.
    • Bind
      Use 'Bind' mode to bind selected xrefs.
    • Insert
      Use 'Insert' mode to bind selected xrefs. 
  • Explosion level
    It controls if explode all block levels.
    • First level
      Only explode the first level of selected blocks.
    • All levels
      Explode all block levels.
  • Explode unexplodable blocks
    This option is selected as default in the initial settings dialogue.
    Select this option to enable explode blocks which are not allowed explosion.
    Deselect it means EXPLODEALL will remain unexplodable blocks, but EXPLODEALL still changes their layer or color if "By parent" options is selected.
    Please refer NOTE 1 below for further information.
  • Flashshot dynamic blocks
    In some senario, the hatches in dynamic blocks change its display after explosion. Select this opiton to explode them properly.
    It breaks up hatches into lines.
    Caution: Postion and dimension of sub-entities inside dynamic may be slightly changed.
    Caution: Do not use this option if there are solid hatches in dynamic blocks. The solid hatches dispear after explosion.
    This option is not selected initially.
  • Convert attributes to texts/Mtexts
    This option is selected as default in the initial settings dialogue.
    When unselected, EXPLODEALL explode all attributes to attribute reference objects as command explode will do.
    When selected, it converts attributs to text/Mtext depends on if the attribute is a Mtext type, and keep the attribute value and all other properties such as color, height, font etc in converted text/Mtext.
  • Bind xrefs
    If this option is selected (default), it binds selected xrefs with "bind" option (not "insert").
  • Trim off sub-entities outside block clipping boundary
    This option is only available in the registered version.
    It is selected by default.
    Normally, when a clipped block is exploded, clipping effect dispears and all sub-entities outside of the clipping boundary are shown. If you only need the entities inside the clipping boundary, you have to manually create the block clipping boundary first, then explode the block, then trim along the boundary, and then delete entities outside the boundary.
    Now with this option, EXPLODEALL completes all procedures above automatically.
    Some entity types cannot be trimmed at the clipping boundary, include non-standard AutoCAD entities such as AutoCAD Architectural walls and AutoCAD entities such as texts, tables, dimensions, etc. These entities will be converted to polylines/lines before passed to trim process.
    EXPLODEALL ignore the clipping boundary if it is "off".
  • Trim off entities behind wipeout
    This option is only available in the registered version.
    It is selected by default initially.
    It deletes all entities under the wipeout and trims off entities intersect with the wipeout along its edges, then deletes the wipeout itself. If the wipeout frame setting is set to "ON", a new polyline is created to present the wipeout boundary. Wipeout can be sub-entity in selected blocks or a individual entity in the initial selection.
    Some entity types cannot be trimmed at the clipping boundary, include non-standard AutoCAD entities such as AutoCAD Architectural walls and AutoCAD entities such as texts, tables, dimensions, etc. These entities will be converted to polylines/lines before passed to trim process.
    If a image has a wipeout in the middle and it seems has a "hole" in the center, for instance, a Google map with a wipeout above it to cover the existing land. This kind of image will be split into two halves to cut out the "hole".
  • Delete entities on frozen / turned off layers
    It is selected by default initially.
    It deletes all entities on freezed or turned off layers even if they are not in the selection.
  • Only apply to entities in the selection
    This option is activated only when "Delete entities on freezed / turned off layers" is selected.
    If it is selected, entities on freezed / turned off layers will be deleted only if they are in the initial selection.

    If you familar with command BURST in Express Tools, you will find EXPLODEALL is much better than its countpart.
    • It explodes all embedded blocks in multi-levels in just one step.
    • More options to control the color and layer of exploded objects.
    • It is able to explode blocks which is not allowed explosion.
    • It put all previous selection and the newly created text/Mtext in the "previous" selection set after explosion, so you can use option "p" to retrieve these objects under any "Select objects" prompt in following commands.
    • BURST cannot delete exploded attribute if it is on a locked layer.
    • BURST cannot trim around the block/wipeout clipping boundary.
Furthermore, it is better than command EXTRIM in Express Tools when trim along block clipping boundary because it resolved a few issues below when using EXTRIM:
    • "TRIM 2:  Could not find polyline end copy point"
    • "Curve must intersect cutting edges at least twice."  
    • "No intersections in the interior of the curve."
    • Sometimes it cannot trim properly if there is a small gap between boundary edges or in a rotated UCS plan.
  • Help Button
    Bring you to this webpage
 
FUNCTION
There is a function in the vlx file which can be used in a lisp or script file.
Function: (explodeall [selection])
It uses the settings saved before. If it is the first time it runs, the 'EXPLODEALL settings' dialogue is shown.
You need define [selection] first and pass it to the function. If [selection] is nil, it prompts to select objects.
The function can only be used in current layout. You need go through all layouts via lisp file and repeat the function to explode all entities in all layouts. 
The function checks system variable UNDOTRL. If it is not 0, it sets UNDO as NONE and will retrieve it to ALL when function completes.
To speed up the procedure, this function may lose some accuracy when dealing with objects in dotted linetype and need trim. These objects will be converted to continuous linetype if the entity is not able to be trimmed with TRIM command. On the other hand, use command EXPLODEALL can get the best result but it may takes a longer time.
TIPS
  1. All previous selected entities including exploded entities are in the "previous" selection set, so you can use option "p" to retrieve these objects under any "Select objects" prompt in following commands.  
  2. It takes extra time to change the colour or layer of exploded objects to "By parent block" or "As shown on screen".
  3. In a complicated drawing, you can use function (explodeall (ssget)) to select objects with UNDO being turned off. It may shorten the program running time because no need to store undo data. You may need backup the file before running it because you can not undo the operation in this scenario.
 
NOTES
  1. When parent block layer is off or frozen, and "Delete entities on turned off/frozen layers" is on, then the sub-entities on Layer 0 are changed to parent block layer.
  2. When Layer 0 is off or frozen, the sub-blocks on Layer 0 are changed to parent block layer.
  3. Attributes on a turned-off layer or a freezed layer are not converted.
  4. All locked layers will be unlocked temporarily and the layer status recovered when process completed.
  5. Sub-blocks on freezed layer will not be exploded. These blocks are deleted if "Delete entities on freezed / turned off layers" is selected.
  6. If the parent block layer is off, "By parent layer" option doesn't not change its sub-entities' layer except they are on Layer 0. 
  7. If a hatch/image entity inside a block is partially clipped by block clipping boundary or a wipeout entity, a new hatch/image will be created with new clipping boundary. But if the hatch pattern is gradient, it may looks different from the original.
  8. If imageframe is set to 1 (show and plotted), and some of the image edges are clipped off, the new image will show all edges plotted.
  9. In AutoCAD Architectural, the wall cleanup lost if a wall entity is clipped at a block/wipeout boundary.
  10. Wipeout is good but sometimes a pdf file containing wipeout causes trouble. If the "print as image" option is not selected or the pdf file is not optimized properly, the wipeouts printed as black blocks.
  11. If some xrefs cannot bind for unknown reason, it prompts "Binding xref unsucessful: "[xref name]" may contain unloaded nested xrefs." Sometimes an error may occur. So the best way is check and ensure all nested blocks are loaded. If you don't need nested block shown in the master drawing, "overlay" it in xref instead of "attach" it.
  12. EXPLODEALL can avoid file crashes caused by command trim along a polyline bounday, but it may result in an inaccurate trim results. You need download the latest patch from Autodesk to resolve trim command problem first.
  13. If customized hatch pattern definition is not found, EXPLODEALL will explode the hatch instead of apply the new boundary to it.
  14. Hatches in dynamic blocks may not display properly after explosion, you have to erase it manually or turn its layer off if them have been put on separate layers.
  15. It may take a few minutes, half an hour or even more to complete in a complicated drawing, especially a drawing contains wipeout or clipped block which has complicated boundary with more than 200 nodes. Please wait until AutoCAD comes back even if it becomes "No Responding".
  16. Sometimes you may need REGEN to show changed object color.
  17. When bind xref with "Insert" option, some objects in turned off layers of xref may appear. This is because there is a layer with the same name of the layer in xref. The layer in current drawing is "ON" but in xref is "OFF". Thus when the xref is bond with "inserted" option, the layer status follows master drawing layer status, so even the layer if "OFF" in xref, now it is "ON", and objects on this layer appear.
  18. Please check the wipeout itself whenever EXPLODEALL cannot work properly with the option "Trim off entities behind wipeouts". Sometimes wipeout has nodes which are very close to each other. In this case, you need REDRAW the wipeout first, send it under the original wipeout (with DRAWORDER command), delete the old wipeout, then use EXPLODEALL.
  19. At moment, it is unable to identify if block has an inverted clip boundary. So please avoid inverting x-clip boundary on blocks if you are going to use EXPLODEALL.
  20.  
DISCUSSIONS
UPDATES
09 Jan 2014, 1. Resolved an issue when deleting objects on freeze/turned off layers.
25 Dec 2013, 1. Ignore block clipping boundary if it is set to "off".
20 Dec 2013, 1. Resolved an issue when xref block has attributes.
                    2. Resolved an issue causes "Invalid option keyword." message.
                    3. Resolved an issue that objects deleted unexpectly when exploding mirrored blocks.
                    4. Resolved an issue when exploding non-uniformly scaled dynamic block
                    5. Resolved an issue when dealing with wipeouts on turned-off layer
                    6. Resolved an issue when exploding clipped blocks.
14 Nov 2013, 1. Resolved an issue when exploding blocks with unicode name.
                    2. Resolved an issue when deleting hatches, dimension, etc. under wipeouts.
                    3. Resolved an issue when deleting sub-entities of un-uniformly scaled blocks under wipeouts.
23 Aug 2013, Resolved an issue which causes "ActiveX Server returned an error: Invalid index".
05 Jun 2013, Resolved an issue when exploding block contains frozen layers.
04 Jun 2013, Resolved an issue that objects on turned-off or frozen layers are deleted unexpectly even when "Delete entities on frozen/turned off layers" option is cleared.
25 May 2013, It prompts "Binding xref unsucessful: "[xref name]" may contain unloaded nested xrefs." if selected xref is not bond properly.
06 Mar 2013, 1. Resolved an issue when clipped block can not be trimed properly.
                    2. Fixed a bug.
05 Mar 2013, 1. When parent block layer is off or frozen, and "Delete entities on turned off/frozen layers" is on,
                        then the sub-entities on Layer 0 are changed to parent block layer.
                    2. When Layer 0 is off or frozen, the sub-blocks on Layer 0 are changed to parent block layer.
                    3. Resolved an issue when current layer is off.
                    4. Restore layer status after running
                    5. Change script function (explodeall nil) to (explodeall [selection]).
                    6. Turn off UNDO in script function (explodeall [selection]) if variable UNDOTRL is not set to 0.
11 Feb 2013, New option added: Bind option: Bind/Insert
                    New option added: Explosion levels: First level/All levels
                    Resolved an issue when sub-entity on layer 0 shown & remained after block explosion even with 'delete entities on freezed/turned off layers' option turned on
07 Feb 2013, New option "Flashshot dynamic block" added. 
05 Feb 2013, Compatible with international AutoCAD version.
01 Feb 2013, Able to save previous settings as defult.
                    New function (explodeall nil) is added for using in other lisp or script file.
31 Jan 2013, Able to explode mirrored or non-uniformly scaled parent block while trim its clipped sub-blocks properly
                    Improved performance when exploding polyline and dimension objects.
                    Resolved an issue in units setting.
                    Resolved an issue that extracted attribute text color isn't changed to 'As shown'.
                    Resolved an issue that reduant wipeout outline is created even if it is outside of block clipping boundary.
12 Jan 2013, Resolved an issue which disables trimming off clipped block boundary.
10 Jan 2013, Resolved an issue which trim off objects above wipeouts.
07 Nov 2012, Resolved an issue which makes "Automation Error. Description was not provided."  
13 Oct 2012, Resolved an issue which makes "Delete entities on freezed/turned off layers" doesn't work properly with clipped blocks.
12 Oct 2012, Resolved an issue when xref is unable to bind.
05 Apr 2012, Resolved an issue which sometimes causes triming off clipped bound xref doesn't work.
                    Resolved an issue when some hidden or dashed lines cannot be trimmed properly.
                    Resolved an issue when some hatches outside boundary still remain after trimming.
29 Mar 2012, Resolved an issue when deselection of Trim and Wipeout settings in the setting dialogue box doesn't work properly.
04 Jan 2012, Resolved an issue that the Registration dialogue doesn't appear
14 Dec 2011, Resolved an issue when using trim command causes crash,
                    Resolved an issue when customized hatch pattern definition is not found,
                    Resolved an issue that exploded attributes behind wipepout cannot be deleted properly.
02 Nov 2011, A few bugs fixed.
28 Oct 2011, New options added. Setting dialogue updated.
23 May 2011, Bugs fixed.
20 May 2011, A few bugs fixed.
27 Apr 2011, It runs faster! A few bugs fixed. Add to Previous selection set option added.
18 Mar 2011, Able to explode anonymous blocks.
10 Feb 2011, Setting dialogue added, functions enhanced.
20 Aug 2010, First issue