Like many architecture firms, we use a single xref file with all of our layers overlapping. Then we create layer manager states to toggle between floor plans, reflected ceiling plans, etc. When you xref this file into another, the layer states come with it. The problem arises if you ever need to change those layer states in the original file. The xref'd lman states that came in when you inserted the xref originally do not update, but rather remain whatever they were when you intially brought in the xref.
The only way to fix this I've found is to delete the xref, purge and toggle visretain on and off a few times untill the xref states disapear from the lman dialog box. then once you re-import the xref the up to date lman states come with it.
there has GOT to be a better way to do this. when there are several host files sharing the same xref, you can't go doing this in every file just to update the lman states. Exporting the layer states does not work because the xref and the host file don't share layer names (because autocad adds a prefix to all layer names)
Is something is in your top file, bringing in that exact same item from outside will not change it: this applies to text styles, dimstyles, block definitions, layer settings and so much more.
Is that a good description of your issue? Yes, you either have to remove the "thing" from your top file or rename it in order for it to get replaced with the new "thing" you are bringing in.
Once the layer state from the xref comes into the host file (which happens once, when you first insert the xref) that layer state won't update, even if you update it in the xref and save. is there a way to tell autocad "reload the layer states from the xref"?
If not, is there maybe a macro or lisp script that can do all that?
In order to reload the updated layer states you have to delete them first so they can be brought back in.
I've noticed getting rid of the xref'd layer states is tough. The only way I've found is to delete the xref, purge and reinsert the xref. anyone have any ideas? because I have to do this all the time, I'm looking for an efficient work around.
I found the solution in another forum, in case anyone else had this problem
I used this macro and it worked. the next time you restore a xref'd layer state, it will reflect whatever changes you made to the layer state in the xref.
@ Dean Saadallah
There has to be a file specific system variable that triggers this. This happens in our office from time to time, but most drawings work just fine. Recently however we have an issue with xref layers not updating in the hosted drawing.
A macro (while beneficial) shouldn't be needed to remedy this.
This seems to be a case by case (file by file) issue for us.
The variable you are looking for is the one used in the macro; VISRETAIN. Set VISRETAIN=0 and reload your Xrefs.
HOWEVER you need to set it back to VISRETAIN = 1 afterwards, or things like colour overrides of the XRef layers will not be retained when your file is next opened.
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register