Xref Layer Updates VISRETAIN

Hi All,

When updating a layer within an xref, the new colours are not loading through to the referenced drawing. I had read that the VISRETAIN command has something to do with this, so I set it to 0 which solved the issue, however caused a new issue. Any time a change was made, and the xref reloaded, all the layers were changed to visible.

I have one xref referenced in multiple drawings, each with different layers turned on and off, so having each one 'reset' to all layers visible is annoying. Is there another setting I am missing?

Any help is appreciated.




  • Hello.

    VISRETAIN controls the behavior related to some properties of the layers from XREFs.
    The properties are: visibility, color, linetype, and lineweight.

    When VISRETAIN is 0, those properties are taken form the files where XREFs reside.
    The properties can be edited in the current working session, but they are not saved with the drawing.

    So, with VISRETAIN = 0, an XREF layer can be set OFF.
    However, it that layer is set ON in the XREF file, when the main drawing is loaded again, the layer will be ON.

    Something that could help in this case is a layer state.

    A new layer state could be created, to affect only the visibility of the layers.

    Then, VISRETAIN could be set to 0, and the XREF reloaded.
    This will update the new colors of the layers.
    Also, the visibility of the layers will be changed according to the XREF state.

    Then, set VISRETAIN = 1 and apply the previously created layer state.
    This will restore the original visibility state and ensure it is saved with the drawing.

  • Said otherwise, once VISRETAIN is set to 1, you should manage the layers properties (color, visibility,…) in the host drawings, not in the source ones.

  • Virgil and Fa3len,

    Thanks very much for explaining how VISRETAIN works.

    It looks like in my previous AutoCAD days, I had VISRETAINMODE set up so that visibility never changed but colours / linestyles did. Seeing as that isn't a BricsCAD option, I'll have a look into layer states.

    Thanks again,


  • Ashleigh,

    What I do in this case is when a xref base file has layer changes. I go in to the file with the xref attached, set visretain to 0, reload that xref only, then set visretain back to 1.

    Not as fool proof as using layer states, but it works in a pinch.