NanoCAD и ODA. Инструменты разработки. Часть 1 — приложение, документ, слои.
На фоне Западных санкций и личного интереса, открываю серию статей, посвященных разработке под NanoCAD (буду сам постепенно изучать продукт, описывая свои ошибки и проблемы — которые, надеюсь, помогут вам не повторять моих ошибок и познакомят с платформой помимо стандартных ресурсов (которых, к слову, не много)). Тут же допишу, что изучение NanoCAD — это также и изучение библиотек от Open Design Alliance, коими платформа напичкана весьма и весьма конкретно .
По аналогии с Renga , я буду параллельно реализовывать Dynamo-пакет для NanoCAD на базе Dynamo Core.
Немного милоты в ленту) Уж что-то, а креатива у них хватает 🙂
1. Установка и первый запуск
Версия у нас будет особая, для некоммерческого пользования (в составе базовой платформы + модулей Механика и СПДС), доступная из личного кабинета разработчика.
Установщик (первое окно) выглядит так
Один из компонентов программы — база данных PostrgeSQL (с которой я кстати активно работал и работаю в рамках другого коммерческого ГИС-проекта, через шину Npgsql на C#)
Обзор nanoCAD vs AutoCAD | Вступление
Стандартная процедура установки далее, не буду показывать
Приятная фишка — что команда разработки дает упрощенную процедуру запроса лицензий (онлайн, без подтверждений). Базовая верификация личности проводится единожды — при вступлении в клуб разработчиков.
При первом запуске программы будет запущен анализ текущего hardware с целью подбора конфигов программы под них для лучшего быстродействия
Обратим кстати внимание на особый пункт в Настройках программы — посвященный отладке при работе с API программы; к слову — он доступен и в базовых версиях.
2. Об API — как устроено и как настроить?
2.1 Об API reference guides
За что отельное спасибо — так это за наличие упакованной локальной справки в формате файлов *.chm.
Ложка дегтя — не документировано никак в части описания модули посвященные NRX и nanoPointClouds и если с облаками точек хотя бы интуитивно понятно, то с NRX ваще **** (в придачу к синтаксическим изыскам C++ с указателями и пр.). По .NET сопровождение есть и хорошее.
Это я так понимаю, корневой файл справки, ссылающийся на все остальные.
Отметим, что интересным представляется MultiCAD .NET API, связывающий ряд САПР — как заявлено, NanoCAD, ZWCAD, AutoCAD и др. Описано, что NRX и MultiCAD .NET API не имеют функциональных различий.
Крайне режет глаза русский перевод непереводимых сущностей — struct, Enumerable и пр. Ну что ж, если Renga API была полностью на англ, то тут наоборот слишком «русифицированно»
Сперва я собирался погружаться в NRX (Object NRX), но посидев часов пять перед монитором смотря на его «справку» я передумал, и решил писать только на .NET, функции которого хотя бы интуитивно понятны.
Справка функций. Ну вы поняли . 0 *** пояснений, ЧТО делает конкретная функция, один говно-перевод
Обзор NanoCAD
Отладка на NRX отдельная история, из-под VS начиналась вечная прогрузка таблиц символов, которая никак не кончалась. потом само прекратилось и заработало
2.2 О структуре NanoCAD SDK
Тут у нас примерно такая логика: папка с guide’s (docs). примеры на разных языках (samples) и подключаемые библиотеки
В целом, всё стандартно — отдельно библиотеки под платформы Win32/x64 (я буду «собираться» только под x64).
Серьезную часть разработки я оставлю на потом, а пока попробую пробежаться по базовым сущностям — понятие документа, базы данных, слоев и настроек.
Первое с чего начнем — с идентификации запущенного приложения (сущности Application и далее). Также как и в Renga, у NanoCAD есть COM-api, позволяющее подключаться к активной сессии программы, к документу и далее к его объектам извне.
Сам процесс подключения выполняется стандартным методом C# : System.Runtime.InteropServices.Marshal.GetActiveObject(), в скобках мы указываем наименование процесса AutoCAD и потом неявно приводим его к COM-объекту Application (NanoCAD):
nanoCAD.Application inc_app = System.Runtime.InteropServices.Marshal.GetActiveObject(«nanoCAD.Application») as nanoCAD.Application;
После этого мы получаем доступ ко всем объектам и свойствам документа, которые доступны через COM.
Стоит отметить, что в составе NanoCAD SDK идут 2 библиотеки, работающие с приложением через COM — это базовая библиотека ncauto.dll и вспомогательная (для работы по большей части с геометрией и свойствами) — OdaX.dll. Название намекает (и так и есть), что перед нами составляющая ODA- пакета/фреймворка (хз как правильно) TeighaX для работы с DWG файлами.
Интересно, что сущность базы данных чертежа IAcadDatabase это уже OdaX :-).
Так как политика лицензирования ODA довольно строгая, права на распространение этого приложения у меня нет (в составе доп. библиотеки моего Dynamo-пакета), а вот с базовой ncauto проще — её я включу.
Вообще говоря, работать с COM не очень функционально, но придется потерпеть .. пока по-другому никак.
Источник: dzen.ru
Платформа nanoCAD
Это российская платформа для проектирования и моделирования объектов различной сложности. Поддержка форматов *.dwg и IFC делает ее отличным решением для совмещения САПР- и BIM-технологий. Функционал платформы может быть расширен с помощью специальных модулей.
Модули Платформы nanoCAD
Удобный интерфейс и совместимость форматов
Платформа nanoCAD предлагает пользователю выбор между привычным (классическим) и современным (ленточным) интерфейсом. Удобное расположение инструментов, простая логика работы, совместимость с популярными САПР-форматами (*.dwg, *.dxf, *.dwt и др.) и командами делают ее лучшим выбором в качестве основной САПР.
Почему стоит выбрать Платформу nanoCAD?
Мы собрали лучшие инструменты в единой платформе. Прямая поддержка формата *.dwg позволит работать с ранее созданными чертежами и проектами. Универсальные инструменты прямого и параметрического трехмерного моделирования – создавать объекты сложной геометрической формы. Благодаря поддержке IFC и обновленной функции НОРМААУДИТ 2.0 вам будет доступна экспертиза BIM-моделей.
А прямой импорт облаков точек раскроет возможности работы с цифровыми двойниками на стадии эксплуатации. Все это вы сможете найти в Платформе nanoCAD.
Высокопроизводительная графическая подсистема
Для быстрой работы в 3D мы активно применяем многопоточность и вычисления на видеокартах. Для оптимизации широко используем аппаратные возможности вычислительных средств. А самое главное мы всегда задействуем только новейшие достижения в области алгоритмов визуализации и вычислительной геометрии. Это позволяет создавать ПО с гораздо большей производительностью.
Основа для BIM-решений
Платформа nanoCAD используется как основа для BIM-решений. Интеграция с BIM-агрегаторами позволит организовать комплексную работу различных проектных групп. В качестве основы целесообразно использовать конфигурацию Платформа nanoCAD Standart, которая содержит профессиональные инструменты 3D-моделирования и функциональный модуль СПДС для оформления документации.
Открытый API
Создавайте модули и приложения, которые расширяют базовый функционал Платформы nanoCAD и превращают ее в отраслевой инструмент. Различные виды расчетов, импорт-экспорт данных, интеграция с инструментами документооборота и средствами решения многих других задач – все это может быть реализовано с помощью открытого API.
Вступить в клуб разработчиков
Попробуйте прямо сейчас
- Зарегистрируйтесь/авторизуйтесь в Личном кабинете
- Получите персональный серийный номер
- Скачайте и установите Платформу nanoCAD
- Активируйте Платформу nanoCAD
Источник: www.nanocad.ru
Тестируем nanoCAD
Недавно компания «Нанософт» объявила о выпуске следующей, второй версии (бета 2) своего бесплатного продукта nanoCAD. Узнав об этом, автор решил провести несколько тестов, чтобы понять, насколько продвинулись российские разработчики бесплатной САПР-платформы. Тестирование проводилось с ходу, и отчет писался по факту прохождения/непрохождения теста.
Дистрибутив и инсталляция
Зарегистрировался на сайте www.nanocad.ru и скачал дистрибутив. Скачанный файл инсталлятора со странным названием NC25_1111.exe оказался совсем небольшим — всего 62 Мбайт. Сама инсталляция проходит легко и быстро, но дизайн не вызывает положительных эмоций — скучная картинка, скучные вопросы и вообще пока всё скучно (рис. 1).
Рис. 1. Инсталлятор nanoCAD 2 (бета 2)
Программа
После установки запустил программу. Загрузился nanoCAD с поразительной скоростью. Это приятно! Пожалуй, на моем компьютере даже FireFox грузится медленнее.
При первом запуске программы появилось диалоговое окно с предложением выбрать стандарт, в котором будет работать пользователь: СПДС или ЕСКД (рис. 2).
Рис. 2. Выбор стандарта проектирования
Я выбрал СПДС, и под выбранный стандарт быстро настроилась вся проектная среда: соответствующими СПДС стали шрифты, настройки размерных стилей, шаблоны форматок, база данных элементов и т.п. Очень удобно!
Интерфейс нового nanoCAD не удивил, не вызвал никаких эмоций, как, впрочем, и трудностей в понимании: меню, панели, кнопки, черный фон рабочего пространства (обязательно перенастрою на белый!) и командная строка (рис. 3). Всё понятное и монотонно скучное. Проверил наличие help (он же справка) — хорош по содержанию, но такой же серый и скучный. Обратил внимание, что есть руководство пользователя со справочником команд, но нет учебного пособия.
Рис. 3. Узнаваемый интерфейс nanoCAD 2 (бета 2)
Первым делом решил поменять черный фон на белый — лично мне так удобнее. Тут мнения разделятся: ктото любит черный, а ктото светлый фон рабочего пространства. Думаю, что при первом запуске имеет смысл предоставлять пользователям возможность выбора.
Быстро пробежавшись по меню, обратил внимание, что по сравнению с предыдущей версией всё стало более логичным и простым. В меню Сервис нашел настройки (рис. 4).
Рис. 4. Настройки nanoCAD 2 (бета 2)
Окно настроек представляет собой список опций, сгруппированных по смыслу. Отыскал нужную мне и поменял цвет. Пока всё просто и понятно.
Теперь, когда экран стал белым, решил посмотреть функции черчения и образмеривания.
Отрезки, окружности, эллипсы, полилинии и прочие примитивы чертятся, в целом мало чем отличаясь от стандартов AutoCAD и подобных «чертилок». Те же опции, те же контекстные меню… Но некоторые моменты делают черчение в nanoCAD удобнее — это очень хорошо настроенные объектные привязки и отслеживание объектов, а также выбор опций командной строки при помощи гиперссылок (рис. 5). Последнее — штука фантастически удобная!
Рис. 5. Гиперссылки в командной строке
Штриховка работает и имеет все необходимые опции (рис. 6). Правда, редактирование ассоциативной штриховки происходит не без странностей: на рис. 7 и 8 показана штриховка исходная и после редактирования границ.
Рис. 6. Опции штриховки
Рис. 7. Ассоциативная штриховка до изменения границ
Рис. 8. Ассоциативная штриховка после изменения границ
Все объекты обладают свойствами, которые можно редактировать. Палитра свойств объектов (рис. 9) работает быстро и привычно.
Базовые функции отрисовки вполне приличные и работают нормально. При реальной работе наверняка появятся «косяки», но дайте в глаз тому разработчику, который скажет, что его софт вообще без глюков.
Рис. 9. Палитра свойств объектов чертежа
Теперь проставим размеры. Панель инструментов искать не приходится — инсталлятор размещает ее так, словно в софте важны одни только размеры. Выбираю первую кнопку — Универсальный размер (рис. 10). Есть всетаки в этом названии чтото магазинное…
Рис. 10. Простановка размеров
Проставляю размер, получаю нечто страшное — верное значение отрисовалось огромными цифрами (рис. 11). Посмотрев свойства размера и изучив интерфейс nanoCAD, понимаю, что это, пожалуй, важное отличие от подобных программ: nanoCAD 2 (бета 2) работает с масштабами! Значит, можно чертить 1:1, а размерные линии перемасштабируются в зависимости от масштаба, выводимого на печать (рис. 12).
Например, в среде AutoCAD такие функции достигаются только путем покупки и установки СПДС GraphiCS. Впрочем, полным аналогом СПДС GraphiCS оказались и функции образмеривания в nanoCAD — есть всё необходимое для простановки размеров согласно СПДС. Если переключить профиль на ЕСКД, то соответственно всё будет напоминать MechaniCS и появится весь функционал для выпуска ескдшных чертежей.
Рис. 11. Огромный размер
Рис. 12. Чертим 1:1, а размеры проставляем в нужном масштабе
Всё, что касается черчения и образмеривания, вполне прилично. Легко конкурирует с подобными программами. Функции зумирования и панорамирования работают с какойто фантастической быстротой.
Убедившись, что интерфейс привычен и понятен, бегло посмотрел редактирование текста и таблиц. По тексту — ничего нового: всё обычно и узнаваемо. Что касается таблиц, то редактирование выполнено в отдельном окне, напоминает Microsoft Excel и столь же удобно (рис. 13). Кстати, к базе элементов прилагается огромное количество заранее заготовленных шаблонов на все случаи жизни.
Рис. 13. Редактирование таблиц
Инструменты черчения и редактирования, образмеривания, надписывания, а также таблицы выполнены на очень хорошем уровне и вполне понятны пользователю. Освоить nanoCAD будет несложно — особенно когда есть опыт работы с аналогом. Впрочем, в текущей версии обнаружились и курьезы: например, из программы исчезли «растровые» функции. Осталась только возможность вставки растровой подложки — ее, конечно, можно масштабировать, но на этом всё. В предыдущей версии возможности редактирования растра были побогаче.
Напоследок решил проверить еще две немаловажные вещи: вывод на печать и работу в nanoCAD 2 (бета 2) с файлами из других САПР.
По поводу печати — практически ничем не отличается от AutoCAD. Такое же всемогущее окно настроек так же перегружено, но это означает, что всем всё будет привычно (рис. 14).
Рис. 14. Окно настроек печати
А вот об открытии файлов того же сказать не могу. Помня корявость первой версии, решил проверить загрузку файлов в среду nanoCAD. Для теста выбрал несколько файлов.
Первый файл — технологическая схема размером 4 Мбайт (рис. 15). Я даже не понял, когда она загрузилась! Повторил опыт снова и снова — загрузка ни разу не продолжалась дольше секунды! Позумировал колесиком мыши — реакция мгновенная!
Впечатлен!
Рис. 15. Технологическая схема
Открыл еще чертеж — генеральный план (рис. 16). Скорость и поведение идентичные: всё работает очень быстро. Еще обратил внимание, что при открытии нового чертежа создается вкладка, как в интернет-браузерах, так что легко переключаться между документами.
Рис. 16. Генеральный план
Пооткрывал другие чертежи, в том числе с несколькими листами (рис. 17), — все работает превосходно.
Рис. 17. Строительные конструкции с листами
Пока всё нормально. Решил попробовать загрузить файл с 3D-моделью. В своем архиве нашел трехмерную модель, выполненную в PLANT-4D (рис. 18).
Рис. 18. Твердотельная 3D-модель, ранее выполненная в PLANT-4D
Загрузилась с поразительной скоростью, а ведь не маленькая! Порядка 3500 твердотельных компонентов: насосы, технологическое оборудование, строительные конструкции, трубопроводы во всей красе — с отводами, тройниками, переходами и арматурой.
В меню Вид переключил визуальный стиль на Точное с показом ребер, крутанул колесико мышки. И тонирование и зумирование работают прекрасно (рис. 19). Попереключал режимы — слишком хорошо для бесплатного редактора DWG-файлов.
Рис. 19. Тонирование и зумирование работают
Так, теперь более «тяжелая» 3D-модель размером 70 Мбайт (рис. 20)… грузилась около 30-40 секунд, но успешно. На модели порядка 5 тыс. полноценных твердотельных объектов: технологическое оборудование, детали трубопроводов, строительные конструкции и много всего прочего… Зумирование и орбита работают четко и быстро. Верится с трудом (наверняка в следующей версии нарочно испортят и сделают более медленным).
Рис. 20. Более крупная трехмерная твердотельная модель
Напоследок решил подгрузить один из «проблемных» файлов, какими принято считать файлы с моделью рельефа земли, — в других САПР-платформах они крутятся нелегко. Естественно решил посмотреть, как это будет здесь. Выбрал модель кустовой площадки нефтяного месторождения, которая включает землю, наземные и, в основном, подземные трубопроводы (рис. 21). Грузится! Крутится!
Вообще никаких проблем!
Рис. 21. Трехмерная модель с землей
На этом решил закончить тестирование, а для себя сделал вывод, что, пожалуй, установлю nanoCAD на домашний компьютер.
Выводы
Недостатки
Скучный инсталлятор и дизайн иконок. Документацию нужно доработать. Редактирование трехмерной графики в текущей версии отсутствует.
Достоинства
Прекрасный функционал для просмотра чертежей и трехмерной графики. Хорошая оснащенность функциями редактирования чертежей и вполне устойчивая работа. Программа бесплатна!
Оценки
Итого
Прекрасная бета-версия! С нетерпением буду ждать 3D и выхода финальной версии — надеюсь, разработчики порадуют чемто необычным. nanoCAD 2 (бета 2) функционально пригоден для черчения и выпуска чертежей. Качайте, регистрируйтесь и пользуйтесь, тем более что это бесплатно!
Источник: sapr.ru
nanoCAD
Российская платформа для проектирования и моделирования объектов различной сложности.
О nanoCAD
nanoCAD Pro является профессиональным инструментом современного инженера-проектировщика. В состав продукта включены все дополнительные модули, расширяющие функционал профессиональными инструментами для решения различных отраслевых задач. Кроме в того, в продукте присутствуют библиотеки элементов по ГОСТ для строительства и машиностроения.
nanoCAD Pro содержит расширенные инструменты модуля nanoCAD СПДС для проектирования в строительной отрасли. Преднастроенные в соответствии с ГОСТами объекты позволят архитекторам, конструкторам, инженерам и специалистам из смежных областей автоматизировать процесс оформления проектной документации. Планы, разрезы, сечения, узлы, типовые чертежи выполняются на лету с помощью удобных и простых средств.
Машиностроительные инструменты модуля nanoCAD Механика открывают в nanoCAD Pro массу возможностей для автоматизации проектно-конструкторских работ в машиностроении. Они обладают обширной функциональностью для проектирования, выполнения инженерных и некоторых технологических расчетов, а также оформления плоских чертежей строго по требованиям ЕСКД и ЕСТД.
Модуль Растровое редактирование содержит огромное количество инструментов для работы с изображениями различных форматов. Улучшайте качество растров, устраняйте линейные и нелинейные искажения, осуществляйте фильтрацию и цветокоррекцию, полуавтоматическую и автоматическую векторизацию растров. Эти и другие инструменты для работы с растрами доступны в nanoCAD Pro.
Источник: a2is.ru
nanoCAD Standart для Windows
nanoCAD Standart — российская универсальная САПР, поддерживающая формат DWG и обеспечивающая базовый функционал, необходимый для создания несложных чертежей, часто использующаяся в учебных заведениях для изучения принципа работы систем автоматизированного проектирования. nanoCAD можно сравнить с электронным кульманом, который предоставляет все необходимые инструменты для создания и корректировки проектов связанных с черчением.
nanoCAD Standart дает возможность создавать двухмерные и трёхмерные объекты, добавлять текстовые блоки, добавлять любые виды таблиц и печатать графическую и техническую документацию соответствующую стандартам. Помимо работы с векторными чертежами и моделями, система проектирования поддерживает использование растровых изображений и даже содержит базовые инструменты, необходимые для из редактирования, коррекции и устранения перекоса.
Значительное распространение САПР nanoCAD получила благодаря встроенной поддержке большинства версий формата DWG, повсеместно используемого для хранения готовых чертежей, а так же поддержке графических библиотек OpenGL и DirectX, дающих возможность использовать эту САПР даже на устаревших операционных системах Windows XP и Vista и компьютерах оснащённых различными видеокартами с поддержкой аппаратного ускорения.
Новые версии nanoCAD получили улучшенный алгоритм автокоррекции и автозавершения при вводе команд, а так же обновлённый поисковой комбайн, благодаря которому возможен быстрый поиск и выделение объектов на чертеже или в рамках текущего выделения. Ещё одно важное нововведение — возможность использования математических выражений в полях ввода значений.
Благодаря тому, что разработка ведётся в России, скачав бесплатную версию nanoCAD вы сразу получите САПР с интерфейсом на русском языке.
Ключевые особенности nanoCAD Standart
- интерфейс на русском языке;
- полная поддержка большинства версий формата DWG созданных в AutoCAD;
- возможность создания двухмерных и трёхмерных объектов и чертежей;
- возможность создания и распечатки рабочей документации по различным стандартам;
- инструменты для работы с растровыми изображениями;
- поддержка автозавершения и автокоррекции при вводе команд;
- экспорт и импорт чертежей из других чертёжных программ.
Источник: cybersoft.ru