Подготовка чертежа в AutoCAD
1) Открыть чертёж DXF или DWG в AutoCAD, перейти в пространство модели.
2) Командой ОЧИСТИТЬ (_PURGE) удалить из чертежа все неиспользуемые объекты.
3) Отключить видимость ненужных слоёв.
4) Если «облако» объектов карты лежит по обе стороны от оси ординат (вертикальная ось системы координат), то командой ПЕРЕНЕСИ (_MOVE) передвинуть всю карту на определённое расстояние (это расстояние надо запомнить) по горизонтальной оси так, чтобы все объекты оказались по одну сторону от оси ординат – все слева либо все справа.
5) Загрузить приложение на языке AutoLISP из файла prepare2import2ol.lsp (его можно скачать по ссылке в конце статьи).
6) Сделать «галерею блоков», входящих в чертёж, командой blocks_gallery.
7) По команде pick_blocks_to_remain указать блоки, не подлежащие расчленению на следующем шаге подготовки к импорту. Наиболее вероятные кандидаты: а) блоки, содержащие сплайны со множеством узлов и входящие в чертёж многократно (порядка более 100 раз), потому что при их расчленении образуется огромное количество графической информации, и в ObjectLand будет медленно работать прорисовка; б) блоки, чей внешний вид недопустимо исказится в результате удаления штриховок после расчленения блока (обычно так бывает при отсутствии контуров штриховок), в частности, блоки, состоящие из одних только штриховок.
8) Применить команду explode_unwanted_blocks несколько раз подряд, пока она не перестанет находить нерасчленённые блоки (обычно 3-4 раза, зависит от максимального уровня вложенности блоков в данном чертеже).
9) Применить команду remove_hatches для удаления штриховок из чертежа.
10) После всех предыдущих шагов файл следует записать под другим именем командой ПБЛОК (_WBLOCK), при этом удаляется ненужная информация, в частности неотображаемые слои.
11) Открыть записанный на предыдущем шаге файл и сохранить его командой «Сохранить как...» из меню «Файл» в файл формата DXF 12-ой версии (это очень важно, так как DXF-файлы, начиная с 13-ой версии, не импортируются ObjectLand'ом).
Импорт в ObjectLand
DXF-файлы импортируются в ObjectLand программой, которую можно скачать по ссылке в конце статьи. Программа открывает ГБД в однопользовательском режиме и требует наличия на компьютере исполняемой среды NET Framework 2.0, в настоящее время её дистрибутив предоставляется бесплатно по адресу http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5 . ObjectLand должен быть установлен вместе со своим COM-сервером, то есть «типичная» установка не годится, нужна «полная». Версия ядра и ГБД должны быть не выше 2.6.9 (то есть версия 2.7 не поддерживается). При запуске программы файл DLL должен находиться в том же локальном (не сетевом) каталоге, что и EXE-файл.
Из-за особенностей формата DXF, не полностью учтённых в ObjectLand, часть графики после импорта может оказаться «отзеркалена» относительно оси ординат. Надо селектировать эти объекты и применить к ним соответствующую трансформацию аффинного типа, зеркалящую их повторно относительно вертикальной оси координат. Чтобы такое селектирование не вызвало затруднений, нам и понадобился шаг 4 при подготовке чертежа к импорту (см. выше). После трансформации в ObjectLand'е отзеркаленных объектов следует перенести все объекты карты на расстояние, запомненное на шаге 4, в обратную сторону, чтобы восстановить их первоначальное положение в пространстве.
26 июля 2009 г.
Трухачёв М.Ю.