Change block insertion point WITHOUT altering the location of already inserted blocks
Hello everyone. I searched for this topic, but could not find anything.
Can anyone tell me if there is a way to alter the insertion point for a particular block without changing the location of blocks (of the same name) that have already been inserted? I frequently deposit dozens or more replicas of a particular block into my drawing. Often I discover that the insertion point I selected when I created the block, was not optimum for it's placement. I'd like to change the insertion point for future insertions, without changing the LOCATION of the blocks I've already inserted. I realize I can just create a new block and name with the revised insertion point, but the longer the block list becomes, the harder it is to find the block I want to insert. Some of my drawings have over 70 block names.
Comments
-
I don't think that's possible. When I want to do that, I change the insertion point and then QuickSelect all the insertions of that block and move them from the old point to the new one. If any of the insertions are scaled, rotated, or mirrored, that won't work.
0 -
@Anthony Apostolaros said:
I don't think that's possible. When I want to do that, I change the insertion point and then QuickSelect all the insertions of that block and move them from the old point to the new one. If any of the insertions are scaled, rotated, or mirrored, that won't work.Thanks. I may try your approach. But you are right. It won't fix scaled, rotated, or mirrored blocks.
0 -
This method can work:
- _Wblock the original block.
- _Open the new file and _Move all entities. Normally (BASEPOINT=0,0,0) the origin is used as the insertion point, so you should use that point as a reference.
- Go back to the main drawing and _Rename the block to a temporary name.
- _Refedit the renamed block, _Insert the file from step 2 and then _Erase the original entities (pay attention to layer visibility...).
- _Explode all instances of the temporary block.
- _Purge the temporary block.
0 -
Oh, yes, that's much better than my method. Roy is brilliant as always. By his method, you nest a new, revised block inside the old one, so that exploding an insertion of the old block leaves the new block in place of the old one, looking just like the old one but with the revised insertion point. It works even if some of the insertions have been scaled, rotated, or mirrored.
It can also be done with Copy and Paste, now that we're able to paste into a block during a Refedit:
1. Insert the old block anywhere, explode it, and create a new block from the contents, using the new insertion point, and using the Retain option so that you're left with an insertion of the new block.
2. Move that insertion of the new block to the clipboard, using CutClip.
3. Double-click on an insertion of the old block to edit it, and use PasteClip to paste the new block in, right on top of the other contents of the old block. Then delete all the other contents of the old block, except for that insertion of the new block.
4. Refclose.
5. Select all the insertions of the old block and explode them.0 -
@Roy Klein Gebbinck said:
This method can work:- _Wblock the original block.
- _Open the new file and _Move all entities. Normally (BASEPOINT=0,0,0) the origin is used as the insertion point, so you should use that point as a reference.
- Go back to the main drawing and _Rename the block to a temporary name.
- _Refedit the renamed block, _Insert the file from step 2 and then _Erase the original entities (pay attention to layer visibility...).
- _Explode all instances of the temporary block.
- _Purge the temporary block.
Roy,
Thanks for your response. Sorry for the late reply. I don't know why this forum can't send me a notification when people respond....
Anyway, I am sure what you are suggesting works. It's just that it is so many steps to do it.0 -
@Anthony Apostolaros said:
Thanks Anthony. I will try your method also. Still, seems like a lot of work to find and replace a dozen blocks.
0 -
Jim, it took me less than a minute to do the whole operation. There's no search and replace involved. For step 5, a single command selects all insertions of a particular block, and then the Explode command explodes all of them at once.
To receive notifications of forum posts:
1. Click on the cog under your name, select Edit Profile and then Notification Preferences, and check the appropriate boxes -- for example "Notify me when people comment on my bookmarked discussions."
2. To bookmark a thread, click on the star next to its title.0 -
@Anthony Apostolaros said:
Jim, it took me less than a minute to do the whole operation. There's no search and replace involved. For step 5, a single command selects all insertions of a particular block, and then the Explode command explodes all of them at once.I haven't successfully used either your or Roy's process yet. To me it seems terribly complex.
0 -
Lee Mac for the win
http://www.lee-mac.com/changeblockinsertion.html
I have used these lisp routines CBP/CBPR (change block base point, change block base point & retain existing location) successfully and seamlessly in BricsCAD 17 and 18, as well as many AutoCAD versions.
0 -
@Viking_Mike said:
Lee Mac for the winhttp://www.lee-mac.com/changeblockinsertion.html
I have used these lisp routines CBP/CBPR (change block base point, change block base point & retain existing location) successfully and seamlessly in BricsCAD 17 and 18, as well as many AutoCAD versions.
Mike,
Thank you SO much. This is a big help to an old dog like me who finds it tough to learn stuff.Jim C.
0 -
You could by the author a coffee, he's the real genius. http://www.lee-mac.com/about.html#whydonate
I was going to add caveats about usage, but with a quick test in AutoCAD it works for me even if the blocks are rotated and non-uniformly scaled...
0