Этот код не работает если один из файлов ссылок требует восстановления.
Вот что выводится в консоль автокада при этом:
Command: XrefGraph
---Находим все внешние ссылки ------------------
Xref "42ГП-КР-020-С4.Стены подвала": Z:\42ГП-КР-020-С4.Стены подвала.dwg
"42ГП-КР-020-С4.Стены подвала" is unloaded.
Xref "42ГП-КР-020-С4.Стены подвала": Z:\42ГП-КР-020-С4.Стены подвала.dwg
"42ГП-КР-020-С4.Стены подвала" is unloaded.
Resolve Xref "42ГП-КР-027-С11.Стены подвала": Z:\42ГП-КР-027-С11.Стены подвала.dwg
Xref Z:\42ГП-КР-027-С11.Стены подвала.dwg contains 101 annotation scales.
It is recommended you open and resave the Xref file to remove excess scales.
Error: Unable to load Z:\42ГП-КР-027-С11.Стены подвала.dwg.
Drawing may need recovery.
---Граф внешних ссылок -------------------------
Текущий чертеж
----------------------------------------
Как видно текущий чертеж содержит два XRef-а, но в граф они не попали.
Должно было быть как то так:
---Граф внешних ссылок -------------------------
Текущий чертеж
|---- 42ГП-КР-027-С11.Стены подвала
|---- 42ГП-КР-020-С4.Стены подвала
----------------------------------------
Как отловить сообщение об этой ошибке и как ее обработать вообще не понятно.
Можно конечно пытаться самостоятельно строить граф на основе BlockTableRecord ссылок, но как то не очень хочется