• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    CAD Managers

    Reply
    Contributor
    Posts: 13
    Registered: ‎05-22-2009

    Other users can't open XREF that is in my drawing

    982 Views, 10 Replies
    05-22-2009 10:14 AM
    This must be something basic we're missing, but why can't other users work on an xref that is xref'd into a drawing that I am working on? Is there some variable or setting? (I am not working on the xref itself.) In other words: Drawing A is an xref in Drawing B, the drawing I am in and working on. Why can't others open (other than "read only") and work on Drawing A? Edited by: ckrtom2 on May 22, 2009 5:14 PM
    Please use plain text.
    Distinguished Contributor
    Posts: 1,741
    Registered: ‎12-02-2003

    Re: Other users can't open XREF that is in my drawing

    05-22-2009 10:50 AM in reply to: ckrtom2
    That is an oldie, but a goodie.
    Way back in R14 days we had to make sure to set this correctly on each workstation.

    The variable you're looking for is XLOADCTL. Set it to 2.

    If you prefer dialog boxes, go to Options, then Open and Save tab, then set External References to demand load xrefs Enabled with Copy.
    See the attached image for clarity.
    Please use plain text.
    Contributor
    Posts: 13
    Registered: ‎05-22-2009

    Re: Other users can't open XREF that is in my drawing

    05-22-2009 11:07 PM in reply to: ckrtom2
    Thanks eviele! Great information.
    Please use plain text.
    *Mark McDonough

    Re: Other users can't open XREF that is in my drawing

    05-26-2009 03:15 PM in reply to: ckrtom2


    Look more closely at the three options in Tools > Options > Open and
    Save > External References.  The three options are for XLOADCTL
    are:

     

    0  Disabled

    1  Enabled

    2  Enabled with Copy

     

    Setting XLOADCTL to 2 (Enabled with copy) is the not the best choice,
    there's more to the story to understand the best option.  Setting XLOADCTL
    off or to 0 (Disabled) has exactly the effect you want, allowing XREFs to be
    currently attached, yet other people can still open and edit an xref
    concurrently... basically this setting makes XREFs behave the way they did
    pre-Release 14.

     

    Enabled with Copy is a boondoggle in my opinion, because of the following
    reasons:

    1.  It's unnecessary, because just turning it off gives the editable
    XREF state you're looking for.

     

    2.  Enabled with Copy is intended to work with Layer and Spatial
    Indexing turned on using the INDEXCTL system variable (read HELP, it explains
    more about what the intent is).
    INDEXCTL controls whether layer and spatial
    indexes are created and saved in drawing files.
        0 No
    indexes are created
        1 Layer index is
    created
        2 Spatial index is
    created
        3 Layer and spatial indexes are created

     

    The purpose of this concept is to potentially gain faster loads on
    DWGs/XREFs that are clipped, so that AutoCAD only loads what it needs.  In
    my tests of this with the first couple of releases that had this command, is
    that in day to day practicle purposes in our line of work, there were no
    significant gains trying to use this.  DWG files get larger in size with
    INDEXCTL turned on all the way, as it has lots more information to store within
    the DWG.

     

    3.  Enabled with Copy, it means exactly what it implies, it copies all
    of your XREFs and Overlays to a temporary file location defined by the XLOADPATH
    system variable, and it does this EACH TIME THE DRAWING IS OPENED.  So
    imagine the impact to a network, and people have AutoCAD drawings that each have
    10 XREFs totalling 20 MB worth of XREFs.  Everytime a parent DWG is opened,
    it has to copy over 20 MB worth of XREFs to a temporary location, then opens the
    copied versions of the XREFs... that's a huge amount of overhead and network
    traffic, when in fact turning XLOADCTL off works just fine without all of these
    gymnastics.  If you open the parent DWG 10 times, then it will have copied
    those 20 MB worth of XREFs to the temp folder 10 times... such unnecessary
    overhead.  The AutoCAD Help tells you to use Enable with Copy, so it too is
    misleading, perhaps why the pat answer seen in these NGs to use the third option
    Enable with Copy.

     

    4.  If Enable with Copy is used, if you crash, the temporarily copied
    XREF files get left behind... more file management.

     

    So, unless there is some compelling results that you can get demandloading
    drawings using not only using  XLOADCTL=2 but also its partner
    INDEXCTL=1,2, or 3 for which you see a real speed increase, I don't think it's
    worth taking that route.


    --
    Mark McDonough
    Sasaki Associates

    href="http://www.sasaki.com">http://www.sasaki.com



    style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    Thanks
    eviele! Great information.
    Please use plain text.
    *Matt Stachoni

    Re: Other users can't open XREF that is in my drawing

    05-27-2009 05:27 AM in reply to: ckrtom2
    On Tue, 26 May 2009 22:15:29 +0000, Mark McDonough
    wrote:

    >3. Enabled with Copy, it means exactly what it implies, it copies all of your XREFs and Overlays to a temporary file location defined by the XLOADPATH system variable, and it does this EACH TIME THE DRAWING IS OPENED. So imagine the impact to a network, and people have AutoCAD drawings that each have 10 XREFs totalling 20 MB worth of XREFs. Everytime a parent DWG is opened, it has to copy over 20 MB worth of XREFs to a temporary location, then opens the copied versions of the XREFs...

    While I agree 100% with everything you said, this point is really not as bad as
    you think. Whenever you open a drawing with Xrefs, AutoCAD has to copy the
    entire contents of the xrefs across the network into your system RAM. It also
    writes out a ton of data to disk as part of its internal temporary files
    mechanism and the OS paging file mechanism.

    So the network I/O is pretty much exactly the same either way. The only
    difference is that Enabled with Copy writes the data to a file on your hard
    disk; this is a pretty small imposition.

    What I don't know ('cause I'm lazy and diabled EwC looooong ago) is: Does
    AutoCAD reuse the local Xref content if the parent drawing does not change? IOW,
    if I open a drawing with 20 xrefs, I'm going to see a lot of network I/O (as
    usual), and some local file I/O as AutoCAD writes the 20 drawings to disk.

    However, if I close and reopen that drawing, and no changes have been made to
    the xrefs themselves, does AutoCAD do a file check and just use the local copies
    - which would be FAST - or does it have to copy the files over again?

    If that is the case, I could see where EwC could be a real boon to program
    speed. However, I kind of doubt this is the case.

    Matt
    matt@stachoni.com
    Please use plain text.
    *Mark Evinger

    Re: Other users can't open XREF that is in my drawing

    05-27-2009 06:07 AM in reply to: ckrtom2
    Yes, Acad checks the local version to see if the file size/date/time have
    changed on the xrefs. If they are different, acad copies the latest version
    down to the local machine.

    Mark Evinger

    "Matt Stachoni" wrote in message
    news:6190067@discussion.autodesk.com...
    On Tue, 26 May 2009 22:15:29 +0000, Mark McDonough
    wrote:

    >3. Enabled with Copy, it means exactly what it implies, it copies all of
    >your XREFs and Overlays to a temporary file location defined by the
    >XLOADPATH system variable, and it does this EACH TIME THE DRAWING IS
    >OPENED. So imagine the impact to a network, and people have AutoCAD
    >drawings that each have 10 XREFs totalling 20 MB worth of XREFs. Everytime
    >a parent DWG is opened, it has to copy over 20 MB worth of XREFs to a
    >temporary location, then opens the copied versions of the XREFs...

    While I agree 100% with everything you said, this point is really not as bad
    as
    you think. Whenever you open a drawing with Xrefs, AutoCAD has to copy the
    entire contents of the xrefs across the network into your system RAM. It
    also
    writes out a ton of data to disk as part of its internal temporary files
    mechanism and the OS paging file mechanism.

    So the network I/O is pretty much exactly the same either way. The only
    difference is that Enabled with Copy writes the data to a file on your hard
    disk; this is a pretty small imposition.

    What I don't know ('cause I'm lazy and diabled EwC looooong ago) is: Does
    AutoCAD reuse the local Xref content if the parent drawing does not change?
    IOW,
    if I open a drawing with 20 xrefs, I'm going to see a lot of network I/O (as
    usual), and some local file I/O as AutoCAD writes the 20 drawings to disk.

    However, if I close and reopen that drawing, and no changes have been made
    to
    the xrefs themselves, does AutoCAD do a file check and just use the local
    copies
    - which would be FAST - or does it have to copy the files over again?

    If that is the case, I could see where EwC could be a real boon to program
    speed. However, I kind of doubt this is the case.

    Matt
    matt@stachoni.com
    Please use plain text.
    *Mark McDonough

    Re: Other users can't open XREF that is in my drawing

    05-27-2009 06:19 AM in reply to: ckrtom2
    Ok, you had to temp me with your question and I just had to find out. EwC
    does the following (in AutoCAD 2008):

    1. Copies all XREFs when the parent DWG is opened, regardless of whether
    the xrefs have changed or not. Makes sense, given that all of the temp
    XREFs are deleted when the file is closed.

    2. The temp xrefs get named thusly: xrefname$0$.ac$

    3. If the true XREF is updated, AutoCAD still detects the update and shows
    the XREF needs reloading balloon. If the xref is reloaded, then it copies
    in that XREF to the temp XREF location and applies a unique incremented name
    such as xrefname$1$.ac$. As before, all temp XREF files get deleted when
    the parent DWG is closed.

    --
    Mark McDonough
    Sasaki Associates
    http://www.sasaki.com

    "Matt Stachoni" wrote in message:

    What I don't know ('cause I'm lazy and diabled EwC looooong ago) is: Does
    AutoCAD reuse the local Xref content if the parent drawing does not change?
    IOW,
    if I open a drawing with 20 xrefs, I'm going to see a lot of network I/O (as
    usual), and some local file I/O as AutoCAD writes the 20 drawings to disk.
    Please use plain text.
    *Mark McDonough

    Re: Other users can't open XREF that is in my drawing

    05-27-2009 06:23 AM in reply to: ckrtom2
    In what version of AutoCAD? In my tests that I did this morning with ACAD
    2008, all XREFs get copied down to the temp XREF location each time the
    parent DWG is opened, and does not check file/date/time to determine if
    xrefs have changed. Closing the parent dwg auto-deletes the temp XREFs, so
    it makes sense that it would need to copy the XREFs each and every time a
    parent DWG is opened.

    --
    Mark McDonough
    Sasaki Associates
    http://www.sasaki.com


    "Mark Evinger" wrote in
    message news:6190129@discussion.autodesk.com...
    Yes, Acad checks the local version to see if the file size/date/time have
    changed on the xrefs. If they are different, acad copies the latest version
    down to the local machine.

    Mark Evinger
    Please use plain text.
    *Matt Stachoni

    Re: Other users can't open XREF that is in my drawing

    05-27-2009 07:27 AM in reply to: ckrtom2
    Yeah, I had figured as much. EwC always struck me as a brute-force,
    knuckle-dragging, hit-the-gurl-on-the-head-with-a-club solution to what COULD
    HAVE BEEN a very elegant way of improving performance with referenced files,
    (including images).

    For the EwC option to work correctly, it would need to

    (a) Actually store the temporary xref between sessions;

    (b) Write additional information into the parent DWG file to properly compare
    the "temporary" Xref file against the original referenced file data, storing the
    local temp file path, date modified, size, and other properties for comparison.

    In other words, actually do the 10 minutes of grunt work to EwC in order to make
    it a world-class, must-enable option, instead of yet another half-baked and
    forgotten doodad which does nothing for the user and we CAD managers all turn
    off anyway.

    Matt
    matt@stachoni.com



    On Wed, 27 May 2009 13:19:29 +0000, Mark McDonough
    wrote:

    >Ok, you had to temp me with your question and I just had to find out. EwC
    >does the following (in AutoCAD 2008):
    >
    >1. Copies all XREFs when the parent DWG is opened, regardless of whether
    >the xrefs have changed or not. Makes sense, given that all of the temp
    >XREFs are deleted when the file is closed.
    >
    >2. The temp xrefs get named thusly: xrefname$0$.ac$
    >
    >3. If the true XREF is updated, AutoCAD still detects the update and shows
    >the XREF needs reloading balloon. If the xref is reloaded, then it copies
    >in that XREF to the temp XREF location and applies a unique incremented name
    >such as xrefname$1$.ac$. As before, all temp XREF files get deleted when
    >the parent DWG is closed.
    Please use plain text.
    Distinguished Contributor
    Posts: 1,741
    Registered: ‎12-02-2003

    Re: Other users can't open XREF that is in my drawing

    05-27-2009 10:23 AM in reply to: ckrtom2
    One hundred years ago, when we were using ADT2004, setting INDEXCTL (3), XLOADCTL (2), and using layer freezing and xclipping showed plenty of time savings on some of our more complex files.

    It was worth the overhead of larger file sizes and longer save times.

    Since then I haven't given INDEXCTL much thought, but I may tinker with a value of 0 moving forward....

    Thanks for the thorough post Mark.

    Eric
    Please use plain text.