- UID
- 3388
- 积分
- 3292
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-3-28
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 marting 于 2017-1-14 13:09 编辑
EXPLODEALLExplode 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 ButtonBring 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.
You can use Selection Set Filter to specify what kind of blocks to be selected.
For example, (explodeall (ssget "x" '((2 . "~14??BDR")))) filter out all blocks which name is 1435BDR or 1498BDR.
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
- 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.
- It takes extra time to change the colour or layer of exploded objects to "By parent block" or "As shown on screen".
- 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
- 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.
- When Layer 0 is off or frozen, the sub-blocks on Layer 0 are changed to parent block layer.
- Attributes on a turned-off layer or a freezed layer are not converted.
- All locked layers will be unlocked temporarily and the layer status recovered when process completed.
- Sub-blocks on freezed layer will not be exploded. These blocks are deleted if "Delete entities on freezed / turned off layers" is selected.
- 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.
- 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.
- 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.
- In AutoCAD Architectural, the wall cleanup lost if a wall entity is clipped at a block/wipeout boundary.
- 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.
- 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.
- 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.
- If customized hatch pattern definition is not found, EXPLODEALL will explode the hatch instead of apply the new boundary to it.
- 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.
- 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".
- Sometimes you may need REGEN to show changed object color.
- 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.
- 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.
- 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.
- If the LinetypeGeneration property of a polyline is set to Enabled before it is trimmed, it becomes Disalbed automatically as default after trim. EXPLODEALL is not able to restore this property to Enabled after trimming the polyline. You can use FILTER to get all polylines and set their LinetypeGeneration property to Enabled after running EXPLODEALL.
|
|
评分
-
查看全部评分
|