Expanding on what I had previously done (disable snap points for locked layers), to allow XREF layer snap points to also be disabled, was easier than I thought.
I had to revise the LAYLOCKOSNAPCTL custom system variable:
Code:
LAYLOCKOSNAPCTL
Type: Integer
Saved in: Registry
Initial value: 0
Controls object snaps for objects on locked and XREF layers:
0 Snap points for locked and XREF layers enabled (OOTB behavior)
1 Snap points for locked layers disabled
2 Snap points for XREF layers disabled
3 Snap points for locked and XREF layers disabled
Yes, locking the 'nested' layers within an XREF will preclude snap points when LAYLOCKOSNAPCTL == 1, but that's also kind of cumbersome to have to do, so a simple switch case was all I needed to conditionally test for (1) LayerTableRecord.IsLocked, (2) LayerTableRecord.Name.Contains("|"), or (3) either.
This behavior is now controlled via sysvar, which makes it really easy to setup macros, LISP, etc to perform specific tasks for our daily work.
Please let me know your thoughts (anyone, not just Wish OP), so I can make any final changes and put an Autoloader App .bundle together.
Cheers