12 - 2011

nanoCAD 3.5: новая версия с открытым API

Денис Ожигин

Итак, новая версия... Зачем? Если говорить кратко, то 3.5 — это фактически версия 3.2 (которая распространялась месяцем ранее среди пользователей абонементов) и открытый программный интерфейс (API), который позволит самостоятельно разрабатывать приложения под nanoCAD.
Вся уникальность новой версии заключается как раз в открытом API: теперь nanoCAD — это бесплатная платформа для разработки собственных САПР-приложений. Только подумайте: теперь можно разработать на базе бесплатного nanoCAD свое приложение, использовать его в своих целях и это будет абсолютно легально!
Но давайте рассмотрим все новшества подробнее…

nanoCAD — платформа для разработки чертежей

На данный момент лицензионная база пользователей nanoCAD 3.0 составляет 76 тыс. рабочих мест, а коэффициент использования программного обеспечения вырос за последний год более чем в 4 раза. Массовость приводит к тому, что со всех сторон начинает сыпаться огромное число запросов с предложениями об оптимизации, по исправлению ошибок, с нестандартными аппаратными конфигурациями... В последний год разработчики nanoCAD сконцентрировались не на разработке нового функционала, а на настройке уже существующего — многие пользователи отмечают, что текущего базового функционала вполне достаточно для разработки 2D­чертежей.

Что нового в версии 3.5

Если брать техническое развитие продукта, то основное, на что был сделан упор при выпуске новой версии, — это исправление ошибок (то есть обработка сообщений, которые пришли в службу технической поддержки) и оптимизация работы существующих функций. Вот лишь некоторые из самых заметных новинок:

  • ?оптимизация функций печати — возможность задать количество копий в диалоге печати; печать в файл; сохранение настроек при пакетной печати; кратные форматы бумаги в настройках программы;
  • ?развитие функций черчения — совершенствование функций обрезки и удлинения; оптимизация размещения видовых экранов на листе; более корректная обработка по клавише ESC при работе с командами редактирования примитивов и текстами; улучшенная поддержка динамических блоков; возможность изменять имя внешней ссылки и путь к ней;
  • ?исправление наиболее неприятных ошибок — отмена действий по клавише ESC в командах Обрезка, Быстрая обрезка и Удлинение; исправление некорректного поведения признака редактирования файла (в закладке сразу после сохранения файла появлялась звездочка при его имени); исправление ряда ошибок, связанных с локализацией (в том числе переставлены местами строки верхнего и нижнего пределов допусков в окне Свойства) и многое другое.

Изменений очень много даже по сравнению с 3.2 — а уж если сравнивать новую версию с предыдущей бесплатной, то в nanoCAD 3.5 за полгода внесено более 400 улучшений и исправлений; исправлено и усовершенствовано более 50 команд и их опций. Рассмотрим некоторые изменения более подробно.

Анализ видеоподсистемы компьютера

Продолжая взятый курс на оптимизацию скорости работы nanoCAD, разработчики в новую версию включили систему тестирования графического адаптера компьютера. Данный модуль автоматически запускается при первом запуске программы и проводит анализ как аппаратной части, так и текущих используемых драйверов. По результатам анализа модуль выполняет автоматическую настройку nanoCAD на максимальную производительность. Аналогичная технология используется в видеоиграх.

Плюс к этому пользователь сможет с помощью новой команды VPERFTEST еще раз запустить анализ и сохранить результаты тестирования видеоподсистемы в виде отдельного файла (рис. 1).

Рис.1. Модуль проверки производительности видеоподсистемы автоматически настроит nanoCAD на максимальную производительность

Рис.1. Модуль проверки производительности видеоподсистемы автоматически настроит nanoCAD на максимальную производительность

Оптимизация функций печати

Новая система печати — отличительная особенность nanoCAD 3.0: при подготовке этой версии прежняя система была полностью переделана. Когда же стали поступать отклики пользователей, возникли идеи по ее дальнейшему совершенствованию. Активные пользователи практически сразу написали, что задавать количество копий документа хотелось бы непосредственно в диалоге Печать — до этого количество копий задавалось только в диалоге пакетной печати. Одновременно появилась идея дать пользователям возможность не только выводить данные на принтер, но и сохранять их в PLT­файл. Обновленный диалог Печать показан на рис. 2.

Рис. 2. Новый диалог Печать в nanoCAD 3.2: количество копий распечатываемого документа (1), возможность вывести документ в файл (2), кратные форматы (3)

Рис. 2. Новый диалог Печать в nanoCAD 3.2: количество копий распечатываемого документа (1), возможность вывести документ в файл (2), кратные форматы (3)

Другое усовершенствование: в список Форматы бумаги диалога Настройки (меню Сервис -> Настройка) внесены дополнительные форматы, образуемые увеличением коротких сторон основных форматов на величину, кратную их размерам (ГОСТ 2.301­68, табл. 2). Теперь, если вы используете форматы бумаги, кратные А4, А3, А2 и т.д., вам уже не понадобится регистрировать их в программе как новые. Как результат, возрастает скорость подготовки к печати.

Поскольку через опцию Рамка возможна печать нескольких областей чертежа (эта функция заложена в версию 3.0), пользователи nanoCAD 3.2 получают удобный инструмент моментального вывода документов из пространства модели.

Продолжилось развитие диалога Пакетная печать. На рис. 3, где показаны старая и новая версии диалога, видно, что теперь есть возможность сохранять сформированное задание на печать для последующего использования. Кроме того, можно добавлять к печатаемому списку преднастроенные наборы печати из пространства модели и листов (кнопка «+» в верхнем правом углу диалога).

Рис. 3. Диалог пакетной печати в nanoCAD 3.0 (а), тот же диалог в nanoCAD 3.2 (б)

Рис. 3. Диалог пакетной печати в nanoCAD 3.0 (а), тот же диалог в nanoCAD 3.2 (б)

Рис. 3. Диалог пакетной печати в nanoCAD 3.0 (а), тот же диалог в nanoCAD 3.2 (б)

Эти усовершенствования позволяют одним щелчком по клавише мыши отправлять разные форматы чертежей на различные устройства печати, используя при этом как пространство модели, так и пространство листов! Взгляните на рис. 2в: мы выводим данные с листов А1, А3, А4 и из пространства модели двух документов, M1.dwg и M2.dwg, на четыре устройства печати: PDF­принтер, два сетевых принтера и подключенный к компьютеру плоттер Canon W7250. Вот общая технология пакетной печати разных форматов из пространства модели:

  • для каждого формата пространства модели создается свой именованный набор параметров листа с заданными областями печати и прочими параметрами;
  • при пакетной печати созданные именованные наборы добавляются в список для печати;
  • сформированный список именованных наборов можно отправить на печать или сохранить для последующего использования;
  • сохраненный именованный список задания для печати при необходимости загружается и отправляется на печать.

Развитие функций черчения

nanoCAD — это в первую очередь система разработки чертежей, поэтому развитию функций черчения уделяется очень много времени. Нужны новые геометрические методы построения? Уверены, что новая опция команды сократит время проектирования? Требуется оптимизация работы команды? Обращайтесь на официальный форум программного продукта по адресу forum.nanocad.ru, оставляйте свои замечания и предложения — разработчики очень внимательно анализируют всю поступающую информацию. Поэтому в программе и появляются различные удобства: например, новый метод построения окружности — по центру и диаметру. Для построения окружности этим способом надо вызвать стандартную команду Окружность, а затем, после указания центра окружности, выбрать в командной строке опцию Диаметр.

Еще одно удобство для пользователей: если в обновленной версии выделить несколько областей штриховки, то в окне свойств можно увидеть общую площадь выделенных объектов (рис. 4). К тому же у штриховок появилась дополнительная узловая точка в центре объекта, которая позволяет его перемещать.

Очень серьезно переработана обработка по клавише ESC: как в однострочных/многострочных текстах, так и при работе с командами Обрезка и Удлинение. Например, если в однострочном тесте вводить текст и нажимать ENTER, то программа будет создавать новые однострочные тексты — это логично. Но если нажать ESC, то в 3.0 отменится ввод всех строк, а в 3.2 — только последней. Когда вы нажмете ESC для выхода из редактора MTEXT, nanoCAD 3.2 спросит, следует ли сохранить изменения.

Рис. 4. При выделении нескольких областей штриховки в окне Свойства можно увидеть общую площадь выделенных объектов

Рис. 4. При выделении нескольких областей штриховки в окне Свойства можно увидеть общую площадь выделенных объектов

Еще одна приятная мелочь: когда вы размещаете на листе видовой экран из пространства модели, появляется диалог со списком имен листов. Вводить имя листа в командной строке теперь не нужно (рис. 5).

Рис. 5. При размещении видового экрана на листе нет необходимости набирать имя листа в командной строке — достаточно выбрать его в списке

Рис. 5. При размещении видового экрана на листе нет необходимости набирать имя листа в командной строке — достаточно выбрать его в списке

При помощи новой кнопки Открыть в диалоге Внешние ссылки можно изменять имя файла внешней ссылки и путь к нему (рис. 6). Эта возможность понадобится в тех случаях, когда файл внешней ссылки был переименован или перемещен в другую папку (ссылка имеет статус Не найден).

Рис. 6. В nanoCAD 3.2 можно изменять имя файла внешней ссылки и путь к нему

Рис. 6. В nanoCAD 3.2 можно изменять имя файла внешней ссылки и путь к нему

Опытных пользователей порадуют расширенные функции работы с динамическими блоками — теперь поддерживается большее число параметров и настроек. А для самых требовательных пользователей были развиты функции команд Обрезка и Удлинение. Команды стали взаимозаменяемыми: если вы запустили команду Обрезка, то с клавишей SHIFT она будет работать как Удлинение — и наоборот. Скорость работы возрастает в разы!

Исправление ошибок

Конечно, в новой версии нельзя было пройти мимо запросов на техническую поддержку: бывает, что пользователи сталкиваются с такими экзотическими ситуациями, которые не может выявить ни одно профессиональное тестирование.

Многие исправления внесены после сообщений на форумах. Например, благодаря forum.nanocad.ru обнаружилась проявлявшаяся в некоторых случаях проблема копирования однострочных текстов «в самих себя». Исправили. На DWG.ru пользователи обратили внимание, что в окне свойств переставлены местами строки верхнего и нижнего пределов допусков — это также оперативно изменили. Кстати, в конкурирующих решениях ошибка с пределами допусков существует уже более 10 лет…

Устранено множество раздражавших ошибок: например, если в 3.0 сохранить файл и тут же выполнить панорамирование/увеличение, активируется опция Отредактированный файл — хочется опять сохранить документ, хотя необходимости в этом нет. В версии 3.2 такая ситуация уже не возникнет. Улучшены термины, названия опций, свойств объектов, диалоги и т.д. — всё для того, чтобы работать в программе было комфортнее и быстрее.

Если говорить в целом, то программа стала более стабильной и устойчивой к различным нестандартным случаям. Спасибо пользователям за неравнодушие и активность! Подробный список исправлений и усовершенствований приведен во врезке.

Но исправление ошибок — это не самое главное в 3.5. Гораздо интереснее, с нашей точки зрения, то, что теперь под nanoCAD любой разработчик может разрабатывать свои приложения!

Список исправлений и усовершенствований

Реализовано построение окружности по центру и диаметру; усовершенствована работа команд Обрезка и Удлинение: теперь при нажатой клавише SHIFT они взаимозаменяемы; усовершенствована работа команды Обрезка: если после вызова команды сразу нажать ENTER, то щелчок на отрезках приведет к обрезке объекта (по аналогии с работой команды SmartTrim (Быстрая обрезка)); усовершенствована работа команды TEXT — теперь при завершении команды по клавише ESC происходит сохранение введенного текста за исключением последней строки; выходя по ESC из команды MTEXT, пользователь видит диалог с предложением сохранить сделанные изменения, отказаться от изменений или отменить завершение команды; имя файла внешней ссылки и путь к нему можно изменять при помощи новой кнопки Открыть в диалоге Внешние ссылки; улучшена поддержка динамических блоков AutoCAD; в диалоге Печать добавлена возможность задавать количество печатаемых экземпляров; в том же диалоге можно задавать вывод чертежей в PLT­файл (это доступно и при пакетной печати); в список Форматы бумаги диалога Настройки внесены нестандартные форматы, кратные стандартным; добавлена возможность применения команды Подобие к сглаженной полилинии; добавлена возможность обрезки сегмента полилинии командой Быстрая обрезка с учетом вершин полилинии в качестве границ обрезки; расширена логика работы режима OPTO: при включенном режиме клавиша SHIFT временно отключает его; улучшен алгоритм выбора области для штриховки указанием точки внутри области; взведен по умолчанию флажок Указать базовую точку на экране при создании и вставке блока; при выборе нескольких областей штриховки в окне Свойства отображается общая площадь выбранных объектов; отключено автопанорамирование изображения при создании нескольких именованных видов подряд; исправлена ошибка, приводившая к отмене ранее выполненных действий при завершении по клавише ESC команд Обрезка, Быстрая обрезка и Удлинение; исправлен ряд ошибок, связанных с выравниванием однострочного текста, в том числе копирование однострочного текста «самого в себя»; исправлена ошибка потери значения параметров однострочного текста (высота, коэффициент сжатия и т.д.) при копировании, зеркальном отражении и т.д.; устранена ошибка потери фокуса при задании высоты и угла поворота однострочного текста из командной строки; исправлены возникавшие в некоторых случаях ошибки математических вычислений в командной строке; исправлена ошибка изменения порядка следования при копировании объектов; исправлено некорректное поведение признака «Отредактированный файл» (в закладке сразу после сохранения файла в его имени появлялась звездочка); устранено зацикливание при применении команды SPLINEDIT к некоторым предварительно выбранным объектам (отрезкам, дугам и др.); устранено прерывание команды создания видового экрана из пространства листа при ошибочном задании имени листа или при указании имени несуществующего листа; устранен возникавший в отдельном случае дефект отображения веса линий; запрещена возможность удаления третьей вершины штриховки, имеющей форму треугольника, при помощи «умных ручек» — это предотвращает создание вырожденного объекта; исправлен ряд ошибок при работе с видовыми экранами; исправлен ряд ошибок, связанных с локализацией, в том числе переставлены местами строки верхнего и нижнего пределов допусков в окне Свойства; при размещении видового экрана на листе появляется диалог со списком имен листов (таким образом, теперь не надо вводить имя листа в командной строке); исправлены переводы, термины и др.; оптимизирована печать длинных нестандартных форматов; решена проблема с копированием в AutoCAD объектов чертежей, выполненных в nanoCAD, и многое другое.

Открытый программный интерфейс

Стратегическое развитие продукта состоит в том, что теперь под nanoCAD можно разрабатывать свои приложения! Вообще, по правде говоря, разрабатывать свои небольшие приложения можно было и раньше — у нас был открыт COM API (документация лежит в папке, в которую установлена программа: %nanocad%\help\api). Но COM не дает всех возможностей, которые в nanoCAD очень широкие.

При выходе версии 3.5 мы открываем клуб разработчиков nanoCAD, члены которого получат доступ к следующим видам API:

  • ?NrxGate — классический C++ API, предназначенный для создания и переноса приложений на языке С++;
  • ?Multi CAD API — уникальный C++ API, предназначенный для написания кроссплатформенных САПР приложений;
  • ?.NET API — современный API, предназначенный для разработки .NET приложений.

Cтруктура API близка к API прочих САПР­платформ, поэтому если у вас уже разработано приложение, то вы легко сможете портировать его на нашу платформу. А для того, чтобы эта работа была проще, мы собираемся организовать и поддерживать сообщество разработчиков nanoCAD. Это же сообщество будет способствовать дальнейшему развитию API — разработка интерфейса еще не завершена. Всем, кому интересна разработка под современную САПР, добро пожаловать на сайт developer.nanocad.ru!

САПР и графика 12`2011