I have a series of block references in a tool palette which I want to explode once inserted. Simple I think, just set the 'explode' property on the tool palette icon.
Wrong. What actually happens is that in my case where the block refernce is simply two blocks inserted on different layers, the tool palette will insert onto the layer specified, and then explode, moving each block from its original later, onto the layer the host block is inserted on.
For example:
BlockRef_A consists of two enties:
Using the tool palette to insert and explode using the 'use current' for the destination layer, I get the following:
BlockRef_1 on 0
BlockRef_2 on 0
Both the destionation layer (Layer1 Layer2) already exist in the target drawing.
It looks to me like autocad is importing the block, exploding it, moving it to the required layer.
This doesn't happen to any other entities, if there's a block that consists of a mix of parts, only the block references within it get moved to the destination layer.
I'm guessing this is a bug - can anyone else say they have experienced it?
G
Um, block content is what I want.
If I import another way (or import using tool palette and not set to explode) then explode manually things appear on the right layers. It's only the 'auto-explode' on the tool palette that's doing it wrong.
The simple explode command works fine when invoked manually.
I tried to reproduce your issue and was unable to do it. It seems to work fine here at least, 2014 Mechanical.
GrantsPirate
Piping and Mech. Designer
Always save a copy of the drawing before trying anything suggested here.
----------------------------------------------------------------------------
If something I wrote can be interpreted two ways, and one of the ways makes you sad or angry, I meant the other one.
This bug is definitely in MEP2013, and also vanilla 2013. Setting the destination layer to 'use current' makes no difference.
The source file in question is rather large, I'll try to mock up something to upload later today.
thanks for trying
G
Okay, here's an example file to prove the point.
In the attached file there's 3 blocks: BLOCKA, BLOCKB and BLOCKX
BLOCKX simply consists of BLOCKA & BLOCKB arranged next to each other, you'll see that within BLOCKX, BLOCKA is inserted on LayerA and BLOCKB is inserted on LayerB
Here's my workflow:
Does the above happen the same for anyone else?
G
I get the same thing. What happens is unexpected but I am not sure that I am ready to call it a bug. It could be operating as designed.
Certainly is a problem if you want the nested blocks to remain on LayerA and LayerB respectively.
I'd be tempted to call it a bug, as I think exploding block should be consistent regardless of how it's invoked.
I think it's an error in the coding, as the behavior is reasonable if looked at in a programatical way:
Start InsertFromToolPalette Import block from source file to current drawing block table Insert block reference at mouseclick If explode option is yes then explode imported block Move imported block(s) onto layer specified in options. End InsertFromToolPalette
The last two pseudocode commands are out of sequence yet only manifest themselves in this scenario.
>>>...change EXplode to Yes and Layer to LayerDestination....<<<
That's what you seem to have told AutoCAD to do:
"Notice how the single BLOCKX has now been replaced with BLOCKA and BLOCKB both inserted on LayerDestination and are that nice shade of blue."
Your BLOCKX contains both layers, they will come in to your drawing no matter what, it's how AutoCAD works. PURGE to get rid of them if they remain unused, LAYDEL command otherwise. AutoCAD seems to be doing what you asked, not what you think it should do if I understood your procedure an d if I did it correctly.
OOPS, forgot to add the screenshots... THE OTHER OPTIONS ARE OVERRIDING THE EXPLODE FINAL RESULT is the conclusion, "bug" or "per design" or "oversight by software designer" label is for others to decide.
the thing is, if you're exploding the block then the destination layer should be irrelevent, but what's happening is that the autocad is moving any blocks after exploding onto the specified layer.
If you were to explode a block of blocks from the command line, you wouldn't expect them all to be moved to the current layer - why should it do it when inserting from a Tool palette?
If it's not a bug, it's an unwanted feature in my mind. I suppose it is doing what I ask, but the dialogue in which I'm being asked is constrained in a limiting way..
There's a passage from a Douglas Adams book (Dirk Gentleys Holistic Dectective agency) that springs to mind, concerning a dialogue where the batty professor asks the protagonist if he wants tea:
"...would you like some tea?"
"yes please"
"milk?"
"yes please"
"Sugar?"
"No thankyou"
"one lump or two?"
"......?"
G
Instead of dragging and dropping your combined block to the tool palette open the cui, find the insert command, drag and drop that to the tool palette. Now edit that in the command line for
insert *blockx
add the path to the block rather than what I have shown.
The asterisk will explode the block in the manner you are after. I have to believe the other command is written to do exactly what it is doing by moving the two blocks to the layer specified.
GrantsPirate
Piping and Mech. Designer
Always save a copy of the drawing before trying anything suggested here.
----------------------------------------------------------------------------
If something I wrote can be interpreted two ways, and one of the ways makes you sad or angry, I meant the other one.
The options in the toolpalette most resemble the XPLODE command, but with some choices missing. So I think it is obvious that the explode option in that initial toolpalette dialog is not the same as the explode option in the insert dialog.
Leave it to AutoCAD to have 4 or 5 ways to do almost the same thing.
GrantsPirate
Piping and Mech. Designer
Always save a copy of the drawing before trying anything suggested here.
----------------------------------------------------------------------------
If something I wrote can be interpreted two ways, and one of the ways makes you sad or angry, I meant the other one.
Having a similar issue... but my block is dynamic with an alignment parameter to insert on a wall no matter the angle. Using the above sugesstion, the alignment parameter is ignored on the insertion. Any way around that?
^C^C_insert;*recep_data_demo_combo;\;1;
If not I suposed I will have to figure out a lisp to select these blocks and burst them but that's going to be a bigger pain I think!
Pendean writes: "USE CURRENT LAYER option selected in the TP Properties for the tool? "
Where do I find and set this option ?
In either AutoCAD 2016 or 2018, right-click the tool in the Tool Palette and Properties. Then click the Layer down arrow and scroll all the way to the bottom. Exact wording is "-- use current".
I have noticed this issue in AutoCAD 2012, 2016 and 2018 and it has caused many a sleepless night. If it hasn't been submitted as an issue, it should be. It makes using any sort of nested blocks with ByBlock properties impossible to use, especially if those blocks are on separate layers.
There is no added benefit of overriding the layer of all nested block references, yet leaving the other elements unaffected by the layer selected in the Tool Palette.
If this wasn't originally submitted as an issue, can someone please submit it, or am I capable of submitting it myself without having to create another post? I am new to these forums...or at least posting on these forums