add a custom filter property when needed
global xrefobjectsel=#()
global AEI_objlayer_sel_delay = timestamp()
fn travelnode o =
(
tempsel= for oo in o.children collect oo
for oo in o.children do
if oo.children.count > 0 do
join tempsel (travelnode oo)
tempsel
)
fn refreshxref =
(
xrefobjectsel=#()
count=xrefs.getXRefFileCount()
if count == 0 then
return 0
else
for i = 1 to count do
(
aXref=xrefs.getXRefFile i
xrefsel = for o in aXref.tree.children collect o
for o in xrefsel where o.children.count > 0 do
join xrefsel (travelnode o)
append xrefobjectsel xrefsel
)
AEI_objlayer_sel_delay = timestamp()
)
fn getxrefindex theNode =
(
if timestamp() - AEI_objlayer_sel_delay > 5000 do
refreshxref()
if xrefobjectsel.count == 0 then
return 0
else
for i = 1 to xrefobjectsel.count do
(
if finditem xrefobjectsel[i] thenode do
return i
)
0
)
SceneExplorerManager.addReadOnlyProperty "xrefindex" getxrefindex
run script above , there will be a new filter called xrefindex added to list , active advanced filter and add rule xrefindex with 0 , xref scene objects will be removed , rule with 1 , only objects in 1st xref file shows
when add xref scene , layer explorer should be closed or not add xrefindex column or rule