Pull to refresh
84.76
Rating

Помогите: «nanoCAD видит не всё, что создано в AutoCAD»

Нанософт corporate blog
Tutorial
Проснувшись с утра и налив чашечку кофе, заглянул на свой любимый forum.nanocad.ru и обнаружил мольбу о помощи — мол, nanoCAD не отображает чертеж из AutoCAD. Точнее отображает, но не всё — «кто уже боролся с подобным явлением, подскажите рецепт»… Подозревая в чем дело, отставил кофе в сторону и загрузил DWG-чертеж для исследования.



Кому интересно чуть-чуть утренней нудности, добро пожаловать под Хабракат...

Смотрим в nanoCAD
Итак, дан DWG чертеж неизвестного происхождения, который плохо отображается в nanoCAD (можно взять на форуме: forum.nanocad.ru/index.php?app=core&module=attach&section=attach&attach_id=5451). Надо выяснить почему не все отображается и что с этим делать…

Первым делом загружаю nanoCAD Plus 6.0, нажимаю на открыть и поднимаю чертеж. Грузится быстро, отображается явно не всё:


UPD: Если сейчас этот чертеж открывать в nanoCAD Plus 8.1, то программа сразу сообщает, что с этим документом что-то не то. В частности, пишет следующее:

Весьма удобно, т.к. нажав на кнопку «Исправить» получаем более вменяемый документ. Но ниже по статье объясняем, что было и что сделать еще...
.

Пытаюсь взглянуть на чертеж сбоку (команда view, стандартные виды, спереди): бах, поле чертежа превращается в белый экран, курсор на нем не отображается. Все понятно — выбило видеоподсистему у nanoCAD. Возвращаюсь обратно в вид сверху (команда view, стандартные виды, сверху). Закрываю документ.

Смотрим в AutoCAD
Ради интереса смотрим в AutoCAD 2015. Загружаем, вроде показывает больше. Смотрим сбоку: программа отображает вертикальную полосу, координаты в строке состояния не отображаются. Но если панаромировать, то можно выхватить координаты в строке состояния — на минуточку там -1.284e+81 (т.е. единица с 81 нулем!):


Закрываю документ — все ясно. Диагноз: в файле z-координаты разбросаны случайным образом по огромному диапазону. AutoCAD такие файлы как-то отображает (всё ли?), nanoCAD честно показывает только разумные координаты, намекая на проблемность документа.

Исправляем в nanoCAD
DWG-документ явно испорчен, пользователь обычно в таких случаях говорит: «А что я? Я ничего — просто открыл». Виновных, конечно, не найти; остается исправлять…

В nanoCAD Plus 6.0 мы ввели команду ПРОВГЕОМ, которая позволяет обнулить координаты: заходим в Файл\Утилиты\Проверка геометрии, выбираем опцию «Проверка z-координаты», затем «Исправлять ошибки = Да» с допуском по умолчанию (1e+20), Enter… Что происходит?

Программа проходит по всем объектам и, если у них z-координата выбивается из указанного диапазона, переносит объект целиком вверх или вниз на выбившую z-координату. Это приводит к тому, что геометрия объекта не меняется, но сам объект возвращается из космоса на землю. Даже после такой простейшей операции данные в чертеже тут же проявляются. Плюс появляется возможность взглянуть на чертеж сбоку — вот и визуализация проблемного DWG:


Именно эти действия сейчас на автомате при открытии делает nanoCAD Plus 8.0 — т.е. определив, что в документе объекты расположены в нереальных координатах, сообщает об этом пользователю, а затем (при выборе команды «Исправить») проблемные элементы возвращает в реальность. Но при этом документ все-таки не исправлен полностью — автоматически nanoCAD Plus 8.0 правит только очевидные проблемы.

Еще красиво посмотреть на это в 3D:


Теперь объекты разбросаны по z-высоте «всего лишь» в диапазоне плюс-минус 1e+20 (т.е. единица с 20 нулями). Понятно, что на таком файле не работают ни привязки, ни обрезка, ни поиск контура для штриховки — причем ни в AutoCAD, ни в nanoCAD — нигде. Что ж в nanoCAD Plus 6.0 надо последовательно повторять операцию ПРОВГЕОМ сначала с допуском в 1000, потом в 100, потом в 10, потом в 0 — и вуаля, чертеж исправлен полностью (http://forum.nanocad.ru/index.php?app=core&module=attach&section=attach&attach_id=5455).


Еще чуть-чуть о тонкостях
Умные люди говорят, что в AutoCAD есть похожая команда FLATTEN (из ExpressTools). Да, есть, но… FLATTEN меняет геометрию чертежа, делая проекцию геометрии на нулевую плоскость — этим она и опасна. Например, если в документе были 3D объекты (к примеру линия, один конец которой лежит на высоте 100, а второй на 3000), flatten полностью разрушит 3D представление модели (т.е. опустит концы точек на нулевую плоскость), а ПРОВГЕОМ перенесёт в нулевую плоскость только те объекты, которые выходят за указанный диапазон! На примере с линией — у нее один конец будет лежать на нуле, а второй конец — на 2900. Таким образом, чертеж с 3D данными не будет разрушен. Есть разница, и ее нужно понимать.

Как решается проблема в nanoCAD Plus 8.0
А с восьмой версией все намного проще: все-таки мы реализовали аналог команды FLATTEN — у нас она называется КОНВ2D. Убеждаемся, что смотрим на документ сверху (команда СВЕРХУ), вызываем КОНВ2D (Файл-Утилиты-Конвертирование в 2D), выбираем опцию "?" и затем «ВСЁ» (т.е. выбираем все данные на чертеже) и нажимаем ENTER — на все 5 секунд и вуаля — документ абсолютно плоский:


При этом, если в документе расположены объекты, у которых все-таки не надо «срезать» z-координату, то выбирайте не все данные, а только те, что надо «расплющить» — тут можно использовать различные методы выбора: ручной, по критериям, через панель Быстрый выбор и т.д.

Что еще?
Плюс я еще прошелся по DWG-документу утилитой «Проверка документа» (AUDIT) — очень часто она исправляет ошибки базы данных. И еще можно воспользоваться «Очисткой документа» (PURGE) — в текущем документе куча неиспользуемых слоев, типов линий, блоков и прочего. Но все это уже на усмотрение пользователя.

Заключение
Ну, вот… кофе таки остыл…
Tags:
Hubs:
Total votes 39: ↑35 and ↓4 +31
Views 25K
Comments Comments 48

Information

Founded
2008
Location
Россия
Website
www.nanocad.ru
Employees
Unknown
Registered