AutoCAD 2007/2008/2009

AutoCAD 2007/2008/2009

Active Member
Posts: 9
Registered: ‎01-13-2009
Message 1 of 5 (2,311 Views)

Xref Changes Disappear - not a VISRETAIN problem.

2311 Views, 4 Replies
04-21-2011 10:58 AM

Our general pattern goes like this: take an incoming drawing and save it as a "base." In the base, change all layer colors to gray and freeze any layers we don't need to see. Open a "parent" drawing and then xref in the base to draw on top of. 


This always works just fine, except for now. Consistently, with one set of drawings, any changes I've made in the base drawing disappear when I set up the parent. So I have to save a layer state in the base and import it to the parent, or redo any changes through xref layer management.


I've set VISRETAIN to 1 in the parent and the base, and the problem still occurs.


The incoming drawing has several nested XREFs, all with VISRETAIN at 1. Is this due to all of the nested XREFs? Is it a bug (the incoming drawings are save in AutoCAD 2004)? I've searched many forums but haven't found an answer beyond adjusting VISRETAIN.


I should add that I'm working in 2008 LT. Any help would be enormously appreciated.

Distinguished Mentor
Posts: 827
Registered: ‎09-14-2003
Message 2 of 5 (2,307 Views)

Re: Xref Changes Disappear - not a VISRETAIN problem.

04-21-2011 11:23 AM in reply to: trentonmoore



the trick with VISRETAIN is very simple as long as you follows this rule

in each Parent (host) dwg VISRETAIN should be 1.

when you save the Parent, all layer properties changes is saved with the Parent


it does not matter if VISRETAIN is 0 in the base (xrefed) dwg

as long as it does not have an xrefs of it's own.



hope this help



Active Member
Posts: 9
Registered: ‎01-13-2009
Message 3 of 5 (2,281 Views)

Re: Xref Changes Disappear - not a VISRETAIN problem.

04-21-2011 08:08 PM in reply to: Moshe-A

Thanks Moshe. I think I follow what you're saying. The problem, at least in part, is that the base drawing does have it's own xrefs, and those xrefs have their own as well. And the client has requested that we not bind them . . . 


In general, I've always made all of the changes in a BASE file (saved and named as such) and then xref'ed that file into the parent. So I don't mess with XREF layers in the parent at all. Which is why I was thinking VISRETAIN at 1 in the BASE file would be important. But now, I make and save the changes, but when I XREF the file, all of the original layer settings are restored. So I'm back to importing layer states . . .


I'll try a test file where I remove all xref's in the BASE and only change non-xrefed objects. If that works normally, I'll know the problem is with multiple nested xrefs in the base drawing.


I feel like I'm making less sense all of the time. Good thing it's a three-day weekend . . .


Thanks again.

Distinguished Mentor
Posts: 827
Registered: ‎09-14-2003
Message 4 of 5 (2,276 Views)

Re: Xref Changes Disappear - not a VISRETAIN problem.

04-21-2011 09:45 PM in reply to: trentonmoore

VISREATIN only controls changes to Layer Properties

(geometric changes to the xref always should be done in the base dwg)


if in general you prefer to to make Layer Property changes in the base dwg

and want this to be reflect in the Parent dwg than after openning

the Parent set VISRETAIN to 0, reload all xref and than

restore VISRETAIN back to 1 and do a save


what VISRETAIN enable us is the freedom to plot drawing that at first was design

at some layer state (colors, ltypes, visibility...) to plot it at other layer state and save it with the parent

with out touching the original






Active Member
Posts: 10
Registered: ‎06-13-2011
Message 5 of 5 (1,856 Views)

Re: Xref Changes Disappear - not a VISRETAIN problem.

05-18-2012 12:52 PM in reply to: trentonmoore

The problem is that AutoCAD only saves layer states/changes in the current drawing and does not pass them onto the parent drawings. For example:


Original drawing A

Xref drawing A into drawing B

Turn all xref layers to gray, freeze annotations

Now xref drawing B into drawing C

AutoCAD sees only drawing A and not the changes you made in drawing B


This becomes very clear when we look at the layer names in drawing C, which will look like this:

Drawing A|Layer 1


Notice that it is NOT:

Drawing B|Drawing A|Layer 1


You already noted your two options:

1) Save a layer state in the intermediate file (drawing B) and restore it in the working file (drawing C) (make sure that you have "Don't list layer states in XREFs" unchecked)

2) Make changes in the actual base file (drawing A)

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Do you have 60 seconds to spare? The Autodesk Community Team is revamping our site ranking system and we want your feedback! Please click here to launch the 5 question survey. As always your input is greatly appreciated.