Jump to content

REfedit ERR ------Object reference missing: AcDbXrecord, to AcDbDictionary


Daniel Bull

Recommended Posts

Hi there,

 

Currently I'm facing a big problem as below:

 

1. I xrefed 5 file to a main drawing, say, A, B, C, D, E to Main.dwg

2. I opened Main.dwg in AutoCAD 2008, edited A.dwg via "refedit", then saved it via "refclose".

3. One of my workmates opened Main.dwg in AutoCAD 2005. (We always save dwg files in AutoCAD 2004 mode, so it works.) He tried to edit A.dwg via "refedit" but failed. it came the error alert as "Object reference missing: AcDbXrecord, to AcDbDictionary".

4. He tried B.dwg and it worked. But when I opened B.dwg via Autocad 2008 then "saveas" it to 2004 mode, He failed to "refedit" it.

5. We tried for several times. then it is clear that once open a dwg file via 2008, it can't be refedited in 2006 or 2005.

 

Are there anyone else who have had similar problems? Any comment is totally welcomed...

Link to comment
Share on other sites

When you say that you open the dwg's, do you mean via Open? or via Ref-edit? I can imagine that when you do Refedit and Refclose and save the X-ref that way, then AutoCAD save it as 2008-version (2007 actually but same thing).

 

try putting the error message in Google and search for it, might find something.

Link to comment
Share on other sites

http://usa.autodesk.com/adsk/servlet...linkID=9240617

I found this link when I did a search on this site for "Object reference missing: AcDbXrecord"

 

I needed it last week or so.

 

I first needed to do reg app purge to find out the names of the applications that had been used.

 

Then edit the script file so that it works for each application name that you find after using the -purge Regapps command

Link to comment
Share on other sites

When you say that you open the dwg's, do you mean via Open? or via Ref-edit? I can imagine that when you do Refedit and Refclose and save the X-ref that way, then AutoCAD save it as 2008-version (2007 actually but same thing).

 

try putting the error message in Google and search for it, might find something.

------------------------------------------------------------------

I've changed the configeration of AutoCAD 2008 so when a dwg file is closed it is always saved as 2004-version(It works even via "refedit"). So it is not the key to the problem.

 

I guess that it might be a bug of AutoCAD 2008, so...

Link to comment
Share on other sites

I found this link when I did a search on this site for "Object reference missing: AcDbXrecord"

 

I needed it last week or so.

 

I first needed to do reg app purge to find out the names of the applications that had been used.

 

Then edit the script file so that it works for each application name that you find after using the -purge Regapps command

-------------------------------------------------------------------

 

Many thanks for the prompt reply. The only thing is that I've no idea about the "APPNAME" mentioned in the script file in the link. It would be even helpful if Feargt could say a little bite more about how to "do reg app purge to find out the names of the applications that had been used."

 

BTW, the scription file is a solution to the ERR-Object reference missing: AcDbLayerTableRecord, to AcDbPlaceHolder, it might not work to the ERR-Object reference missing: AcDbXrecord, to AcDbDictionary.

Link to comment
Share on other sites

Firstly it should work for you.....

Secondly do the following

on the command line

Type "-purge" enter

Type "R" enter

Type "*" enter

Type "Y" eneter

 

Autocad will then return the name of any Regappl (these are names of other applications which were used in the creation of the drawing ie. another software may have created the drawing and it was exported to a dwg file)

You need to take a note of each of the names that Autocad returns so that you can then edit the script file.

 

I have attached the script file that I required recently. In it you will see that I have replaced the term "Appname" from the original script file as found in the link with the actual names that I wanted.

 

An example is "ACAD_PSEXT" instead of Appname

 

In my case I had to adjust the script file for 4 different types of "Appname"

 

;;;Start of Script file

;;;Removes APPNAME associated with Layers created by use of later release of Autocad

(

(lambda (/ lay ent)

(while (setq lay (tblnext "layer" (not lay)))

(if (and

(setq ent (entget (tblobjname "layer" (cdr (assoc 2 lay))) '("ACAD_EXEMPT_FROM_CAD_STANDARDS")))

(assoc -3 ent) )

(entmod (subst '(-3 ("ACAD_EXEMPT_FROM_CAD_STANDARDS")) (assoc -3 ent) ent)) )

)

)

)

(

(lambda (/ lay ent)

(while (setq lay (tblnext "layer" (not lay)))

(if (and

(setq ent (entget (tblobjname "layer" (cdr (assoc 2 lay))) '("ACAD_PSEXT")))

(assoc -3 ent) )

(entmod (subst '(-3 ("ACAD_PSEXT")) (assoc -3 ent) ent)) )

)

)

)

(

(lambda (/ lay ent)

(while (setq lay (tblnext "layer" (not lay)))

(if (and

(setq ent (entget (tblobjname "layer" (cdr (assoc 2 lay))) '("AcadAnnoPO")))

(assoc -3 ent) )

(entmod (subst '(-3 ("AcadAnnoPO")) (assoc -3 ent) ent)) )

)

)

)

(

(lambda (/ lay ent)

(while (setq lay (tblnext "layer" (not lay)))

(if (and

(setq ent (entget (tblobjname "layer" (cdr (assoc 2 lay))) '("AeccLand50")))

(assoc -3 ent) )

(entmod (subst '(-3 ("AeccLand50")) (assoc -3 ent) ent)) )

)

)

)

(alert "Layer states cleared.")

;;;End of Script file

 

If need further assistance, just let me know.

Link to comment
Share on other sites

Many thanks.

 

I can totally understand the script file, the only thing is that this is only for errors referring to layers, just as mentioned in the err discription"ERR-Object reference missing: AcDbLayerTableRecord, to AcDbPlaceHolder".

 

It doesn't work for "ERR-Object reference missing: AcDbXrecord, to AcDbDictionary".

 

I tried to open the main.dwg in AutoCAD 2008, "saveas" to AutoCAD 2004, then I opened it in AutoCAD 2006, unfortunately nothing better...

Link to comment
Share on other sites

This here is the message our users were getting.

They were using Autocad 2006 in another office to edit drawings that we had produced in Autocad 2008 in our office.

They got this message everytime they wanted to edit an xref via refedit

Object reference missing AcDbXrecord to AcDbDictionary

 

It worked for us in this case.

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...