Here I give you guys a program that will either delete duplicate blocks or move them to a user-input layer that could be accidentally placed on top of another.
The determination to do such program in place of the OVERKILL command is to remove unwanted dynamic blocks with different visibility parameters, leading to blocks having an "undefined name". This leads to the original OVERKILL command to fail. As such, I introduce you this program that catches all types of blocks (excluding xrefs).
Be careful that it delete blocks matching all the criteria below:
The blocks in comparison share the same insertion point through a given tolerance.
The blocks in comparison share the same effective name.
The blocks in comparison share the same effective scale.
So if the three criteria above match while the rotation of the blocks differ, it will still be deleted.
I've had many occasion on using block counting routines that reports excessive values for this very reason. This routine has helped me fix those nasty errors that would otherwise be almost, if not entirely, impossible to detect with the human eye. As thanks for helping me solve many problems that I've posted in the LISP forum, this is the least I can offer, so I hope it's of some use.
More details on this forum.
Type BOVERKILL to start command.
I welcome all suggestion, feedbacks, comments, and criticisms you have. Feel free to add your ideas, and I will try to improve them.