Here's one way to tie it to the QSAVE command, so that every time you Qsave the drawing, whether with Ctrl+S or a menu icon or the command name or an alias, it will check whether enough time has elapsed since the last Xref-Reload for it to do that again.
(command
"_.time" "_on" "" ; just in case the user elapsed timer is off
"_.undefine" "QSAVE"
); command
(defun C:QSAVE () ; new definition
(command "_.qsave"); run native Qsave command
(if (> (getvar 'tdusrtimer) 0.01); [0.01 of a day = 14.4 minutes elapsed yet?] -- EDIT 0.01 as desired
(command
"_.xref" "_reload" "*" ; reload all Xref's
"_.time" "_reset" "" ; reset user timer to 0
); command
); if
); defun
It won't, however, just reload them all at regular intervals, even (for example) when you're out to lunch. It depends on being tied to the use of Qsave [it could be similarly tied to any other command you prefer, or even to more than one]. But it has the advantage that you don't need to call for an Xref-Reloading command explicitly, so you don't need to have it in mind, and should be pretty reliable assuming you save regularly anyway.
Make sure that any macro or menu item you have that runs [or includes] Qsave uses the command name without the decimal-point prefix, so that it will invoke the new definition instead of the native definition.
Kent Cooper, AIA