Разделить чертеж на листы, с обрезкой модели по ВЭ

Здравствуйте,
есть необходимость из общего dwg-фала выгрузить все листы в отдельные dwg. При этом в модели нужно удалить все, кроме используемого в видовом экране.
Ниже код под Автокад, который это в принципе выполняет - возможно его переделать для NanoCAD или в принципе нет каких-то команд (lisp, c#)?

ACADbreakDrawingByLayouts-main (исх).zip (32,6 КБ)

Вангую это технически невозможно ни в одном из кадов
Например
В модели вставлена внешняя ссылка
В листе через вэ видна часть ссылки.
Каким образом оставить только используемое в вэ и удалить остальное?

Корректный экспорт листов с объектами мультикад не умеет ни один кад.

Т.е. твое тз явно за пределами возможностей лиспа который ты просишь адаптировать, даже в оригинале.

PS если надо для упертого зака..
Выводишь все листы в пдф
Импортируешь листы пдф в файлы dwg
Отдаешь заку
Формально задание выполнено

Чертеж без внеш ссылок - здесь электросхемы,
можно им условие поставить, что макрос работает без них.

Такой лисп получился (удалить снаружи плинии в модели: плиния-контур ВЭ)

test.zip (872 байта)

а до этого, делать копии dwg, удалить лишние листы (кроме одного). - тоже кодом как-то

Насколько понял, этот лисп берет в качестве границы полинию из модели. Это не совсем то же самое, что граница ВЭ в листе. Кроме того, как быть, если ПСК в окне будет повернута? Что в этом случае захватит ssget по контуру?
Задача обрастает кучей дополнительных нюансов и уточнений. Что, кстати, не умаляет результата, достигнутого Lee Mac

Удалось что-то сделать, используя функции Lee Mac:
Для каждого листа в общем файле-dwg:

  • удаляются лишние листы, кроме текущего
  • создаются границы-полилинии в модели по габаритам ВЭ-нов листа,
  • обрезается в модели все снаружи этих границ,
  • пблок в новый dwg.

Пожалуй, единственным существенным замечанием к этому алгоритму является возможное изменение ПСК в ВЭ. Возможно, у Мака этот вопрос решен. Хотя для отдельного класса задач можно исходить из того, что ПСК - это ересь и происки супостатов )))