Jump to content

A Weird Anonymous Block


Recommended Posts

I ran into I strange one. I've never heard of an anonymous block until now. I find them to give me a headache.:(

The explanation on cadperson.net explained quite a bit but i have one they didn't cover or I'm just really confused. The one i got from a client is set up as *I1. The strangest thing is the fact that i can't do anything with it including but not limited to moving the darn thing. is there anyway to at least move it out of the way?

Link to comment
Share on other sites

I believe I just encountered a similar situation that I solved using a lisp routine that renamed the anonymous block so I could get rid of it in a normal fashion. Unfortunately I'm not at the computer I downloaded the routine to. I can check on Wednesday though. Can you wait?

Link to comment
Share on other sites

Isn't an anonymous blockname just a placeholder for a dynamic block with altered properties?

I was under the impression that acad creates an anonymous name for every changed dynamic block, when these blocks are deleted you can purge them from the drawing.

Link to comment
Share on other sites

Here is a snippet that will convert any standard block to an anonymous block

 

Supply the ename of an existing INSERT entity

 

(defun anon (b / tdef en ed bn bd in)
 (and (= (type b) 'ENAME)
      (setq bd (entget b)
            in (cdr (assoc 2 bd))))
 (if (or (not bd)
         (not in)
         (/= "INSERT" (cdr (assoc 0 bd)))
         (= "*" (substr in 1 1))
         (= (logand (cdr (assoc 70 (tblsearch "BLOCK" in)))  4)  4)
         (= (logand (cdr (assoc 70 (tblsearch "BLOCK" in))) 16) 16)
         (= (logand (cdr (assoc 70 (tblsearch "BLOCK" in))) 32) 32))
      (progn
        (princ "*** Not A Changeable Block *** ")
        (setq bd nil in nil b nil)
        (exit)))
 (setq tdef (tblsearch "BLOCK" in)
         en (cdr (assoc -2 tdef))
         ed (entget en))
 (entmake (list (cons 0 "BLOCK")
                (cons 2 "*U")
                (cons 70 1)
                (cons 10 (cdr (assoc 10 tdef)))))
 (entmake ed)
 (while (setq en (entnext en))
        (setq ed (entget en))
        (entmake ed))
 (setq bn (entmake (list (cons 0 "ENDBLK"))))
 (setq bd (subst (cons 2 bn) (assoc 2 bd) bd))
 (entmod bd)
 (entupd b))

 

I use them regularly due to the fact that acad will never overwrite the block name.

 

I have no idea whether it will work with dynamic blocks but I would doubt it seriously. -David

Link to comment
Share on other sites

CarlB/Remark,

Honestly i have all the time in the world. The file in question was a "Check & Sign" kind of deal. My conpany checks drawings and calculations for some one else and then stamps it with the apropriate state PE and signs it. In this case i was able to work around the blocks because i didn't have to change anything this time but the education of such a situation just can't be avoided.

 

I did read the small article on cadperson.net but it didn't mention what an "I" at the begining of the name signified. The lisp i will probably try today but i not sure i understand the block it self just yet. I'm going to keep looking. thanks for the piont in the right direction thiough guys.

Link to comment
Share on other sites

The "I" could stand for just about anything. I fail to grasp the significance of "what" it stands for as far as what you want to do (i.e. - delete an anonymous block). Maybe it is just an Identifier for AutoCAD and nothing more. Would it make it any easier for you to delete the block if it was identified in a different manner?

 

And just what are you going to keep looking for? You've got me confused now as what you really want to do with this block. Care to elaborate?

Link to comment
Share on other sites

Sure. The artcle Definded what each type was wheather it be a "U" or what ever, i was hoping to find a specific definition. In all actuality i'm just looking to understand them better so i can work with them in the future. By work with them i mean moving and manipulating them.

Link to comment
Share on other sites

it is the * that makes them anonymous and while the letter appears to be significant it may not be consistant. It would appear that a dynamic block inserted as anything other than its default takes on a *U name as well as its generic name.

Link to comment
Share on other sites

I think your right dbroada. Remark said the same. As soon as work clears up a bit i'm going to run that lisp and see what i can do about the whole thing. the more i understand about them the better.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...