AutoCAD 2007/2008/2009

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

Xref Changes Disappear - not a VISRETAIN problem.

2010 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: 735
Registered: ‎09-14-2003
Message 2 of 5 (2,006 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 (1,980 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: 735
Registered: ‎09-14-2003
Message 4 of 5 (1,975 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,555 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)

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

Ask the Community

Connect with AutoCAD