• Портирование С++ приложений на платформу nanoCAD, использование страниц свойств проекта

      image

      В одной из предыдущих статей мы писали о создании кросс-САПР-платформенных приложений из существующих приложений, работающих только на платформе AutoCAD. В данной статье мы углубимся в детали и расскажем о том, как настроить проект ObjectARX приложения для AutoCAD и собрать NRX приложение для nanoCAD.

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

      Ниже мы расскажем о том, чего в документации разработчика ещё нет — об использовании страниц свойств (property pages), позволяющих минимизировать количество изменений, необходимых для создания в проекте конфигурации для nanoCAD. В результате настройки, приложение можно будет собрать под обе платформы, nanoCAD и AutoCAD, при этом изменения будут вноситься лишь в файлы проектов, исходные тексты, .h и .cpp файлы, останутся неизменными.
      Читать дальше →
    • Миллионы точек в nanoCAD Plus 7, или Чуть подробнее об облаках точек



        В nanoCAD Plus 7, который вышел 18 мая 2015 года появился ряд функций, существенно расширяющих область применения и позиционирование платформы nanoCAD. Мы предлагаем вниманию наших читателей ряд технических статей, в которых подробнее погружаемся в эти функции, рассматриваем, какими возможностями они обладают и как их можно применить на практике. Эта статья посвящена комплексу функций, объединенных общим названием Облако точек.
        Читать дальше →
      • Из AutoCAD да в nanoCAD: cмена основной САПР в проектном институте


          От автора
          Эта статья – наш реальный опыт перехода с AutoCAD на российский nanoCAD. Такой, каким он был на самом деле. Только факты и никакой рекламы.

          Надеюсь, что она получится непредвзятой к тому или иному вендору САПР, поможет другим предприятиям избежать некоторых сделанных нами ошибок и позволит не совершить собственных. Рамки статьи не позволяют подробно описать все нюансы, связанные с переходом, поэтому придется ограничиться основными организационными моментами плюс некоторыми техническими подробностями.

          От ЗАО Нанософт
          Нас часто спрашивают «как реально осуществляется переход на nanoCAD?» — сейчас ощущается нехватка информации подобного рода; выступления, передающие опыт внедрения всегда слушают внимательно. Именно поэтому мы решили под пятницу опубликовать статью, которая максимально объективно описывает процесс, и поделиться опытом — все описанное в статье очень похоже на наш опыт работы с проектными организациями и без сомнения будет полезна интересующимся. В комментариях давайте обсуждать ваши ситуации.
          Читать дальше →
        • Подробнее о 3D навигации в nanoCAD Plus 7

            В nanoCAD Plus 7, который вышел 18 мая 2015 года, появился ряд функций, существенно расширяющих область применения и позиционирование платформы nanoCAD. Мы предлагаем вниманию наших читателей ряд технических статей, в которых подробнее погружаемся в эти функции, рассматриваем «какими возможностями они обладают» и «как их можно применить на практике». Данная статья посвящена функции «Перспективной навигации».

            Читать дальше →
          • nanoCAD Plus 7: развитие САПР платформы длиною в год


              Что можно сделать за один год активной разработки? Глядя на скорость развития современных САПР, кажется, что не очень много – где-то интерфейс обновить, где-то функцию новую добавить, несколько исправлений. Поэтому кажется, что российские технологии безнадежно отстали, а нам надо будет всю оставшуюся жизнь использовать западные решения и технологии.

              Но мне кажется, что новая версия nanoCAD Plus сможет изменить это представление – плотно засев на код, вооружившись компиляторами и поддержкой отдела тестирования за один год ЗАО «Нанософт» сделала настолько существенный рывок вперед в функционале САПР-платформы, что у меня есть опасения насчет размера будущей статьи… Встречайте новую седьмую версию отечественной платформы nanoCAD Plus и давайте разбираться с ее новшествами.
              Читать дальше →
            • Помогите: «nanoCAD видит не всё, что создано в AutoCAD»

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



              Кому интересно чуть-чуть утренней нудности, добро пожаловать под Хабракат…
              Читать дальше →
            • Как обойти основные затруднения при портировании САПР приложений на nanoCAD?



                В конце октября 2014 года в Москве прошла 10-я юбилейная конференция «Разработка ПО, CEE-SECR-2014», на которой был представлен наш доклад о создании кросс-САПР-платформенных приложений. Доклад состоял из исторического обзора, рассказа об опыте портирования САПР приложений на nanoCAD и анализа основных затруднений при портировании. В настоящей статье мы не будем останавливаться на первых двух частях доклада — запись опубликована в конце статьи, а более подробно рассмотрим третью часть, доработанную по результатам обсуждения доклада в кулуарах конференции.

                Когда в 2008 году мы начали разрабатывать nanoCAD, у нас уже существовало более двух десятков приложений для AutoCAD. Работы по портированию приложений велись параллельно с разработкой новой САПР платформы, требования приложений в значительной степени определяли направление разработки. В результате портирования приложения стали кросс-САПР-платформенными, заработали в nanoCAD и не потеряли возможность работы в AutoCAD.

                В процессе портирования собственных приложений, а также в процессе общения с разработчиками сторонних приложений в рамках Клуба разработчиков nanoCAD, мы обнаружили несколько повторяющихся шаблонов, мешающих эффективному портированию:
                Читать дальше →
                • +18
                • 4,4k
                • 2
              • MultiCAD.NET: подсчет суммарной длины отрезков на чертеже



                  К нам в техподдержку часто приходит вопрос: «Как посчитать суммы длин отрезков (участков трубопровода, элементов электрических схем и т.п.) в чертеже?». Существует масса способов решения этой задачи, в сегодняшней публикации мы рассмотрим реализацию приложения на MultiCAD.NET API, суммирующего длины, которое работает в nanoCAD, AutoCAD и ZWCAD. В качестве примера мы возьмем задачу определения суммарной длины труб в схеме водоснабжения и рассмотрим два варианта выбора элементов для подсчета: пользовательский и по созданному фильтру.
                  Читать дальше →
                • Пошаговый обзор: единое MultiCAD.NET приложение в nanoCAD, AutoCAD, ZWCAD

                    image
                    Одной из важных особенностей приложений, написанных на MultiCAD.NET API, является их кросс-САПР-платформенность. Проще говоря, приложения, написанные однажды, могут работать в любой из поддерживаемых САПР без перекомпиляции.

                    MultiCAD.NET является «родным» API для nanoCAD, приложения могут быть загружены с помощью стандартных команд APPLOAD или NETLOAD. В AutoCAD или ZWCAD необходимо предварительно загрузить MultiCAD Object Enabler, затем MultiCAD.NET приложения загружаются командой NETLOAD.

                    Под катом пошаговое руководство, в котором мы продемонстрируем процесс загрузки MultiCAD.NET приложения в nanoCAD, AutoCAD и ZWCAD, создадим с его помощью чертеж и отредактируем его во всех трех системах.
                    Читать дальше →
                  • Настройка среды nanoCAD для опытных пользователей

                      Рано или поздно у опытного пользователя появляется необходимость расширить штатный функционал САПР своими скриптами и командами, автоматизирующими каждодневную рутину – мы регулярно получаем запросы на тему «как создать свое меню?», «как зарегистрировать свою команду?», «как прописать скрипт в среде nanoCAD?». В этой статье мы решили объединить типовые вопросы и подробно продемонстрировать на несложном примере как пользователь может настроить платформу nanoCAD под себя и сделать ее чуть более функциональной.



                      В качестве примера возьмем задачку по организации библиотеки .dwg-файлов — у каждого пользователя за время работы накапливается достаточно материалов, которые в последующей работе используются как типовые решения: элементы из старых чертежей, базы блоков и т.д. Мы рассмотрим один из возможных вариантов организации своей библиотеки блоков в среде nanoCAD, и параллельно покажем как зарегистрировать произвольную скрипт-функцию в меню и командной строке. По аналогии вы сможете написать более сложные скрипты и автоматизировать работу по другим направлениям (например, по расчетам, по графическим построениям, по связи с базой данных и т.п.)…
                      Читать дальше →
                      • +6
                      • 12,4k
                      • 3
                    • nanoCAD становится доступен в виртуальной среде благодаря NVIDIA GRID

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



                        Компания «Нанософт» совместно с ARBYTE протестировала работу отечественной САПР-системы nanoCAD на серверной системе виртуализации, использующей технологию NVIDIA GRID. Такая система позволяет объединить в одном физическом сервере несколько рабочих мест проектировщика без потери производительности видеоподсистемы.
                        Предлагаем вашему вниманию отчет по результатам тестирования...
                        • +11
                        • 6,2k
                        • 4
                      • Интеллектуальные ручки пользовательского объекта в MultiCAD.NET



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

                          Механизм управления ручками в MultiCAD.NET позволяет работать как с простыми, так и интеллектуальным ручками. Про простые ручки мы писали в одной из прошлых статей, здесь же мы рассмотрим интеллектуальные ручки, которые, помимо формы (круглые, треугольные, ромбовидные и т.д.), отличаются от простых тем, что они могут изменять отдельные параметры объекта, вызывать всплывающее меню или выполнять набор действий, определенный в обработчике. Кроме, этого API интеллектуальных ручек позволяет также создавать и простые ручки, но используя при этом новый, унифицированный подход.

                          Под катом код создания нескольких видов интеллектуальных ручек объекта и анимированные изображения, демонстрирующие их использование.
                          Читать дальше →
                          • +15
                          • 4,8k
                          • 1
                        • Пристрастные заметки о русских разработчиках САПР

                            Один из сооснователей ЗАО Нанософт, Дмитрий Попов, написал в facebook заметку из серии «САПР в России»… Понятно, что пристрастно, не претендуя на историческую точность. Но нам показалось, что интересно и вполне подойдет для Хабра под пятничное настроение: кто-то узнает что-то новое, кто-то – вспомнит, а кто-то поймет, что не Боги горшки обжигают. Делимся заметкой в режиме «как есть»…



                            От автора

                            Какое-то время назад меня попросили написать про САПР в России для одного независимого портала, но природная лень и то, что эта задача с низким приоритетом, привели к тому, что за несколько месяцев не было написано ни одной строчки. То, что вы читаете, это совсем не изложение фактов, скорее это очень субъективные, с некоторой долей вымысла, воспоминания и размышления. Возможно с легким прохановским послевкусием.
                            Читать дальше →
                          • Управление сериализацией объектов в MultiCAD.NET



                              В предыдущей статье мы рассказали о подходе, который используется для сериализации пользовательских объектов в MultiCAD.NET API. Тогда мы говорили о принципах применения данного подхода для обеспечения совместимости версий объектов и рассмотрели самую простую ситуацию, когда новая версия объекта получается из предыдущей путем добавления дополнительных полей. Сегодня мы предлагаем вашему вниманию обзор процесса обеспечения совместимости в случае более серьёзных изменений, таких как удаление, переименование полей или изменение их типов.
                              Читать дальше →
                            • MultiCAD.NET API: Сохранение неграфической информации в .dwg-чертежах

                                image

                                Каждый разработчик приложений САПР рано или поздно сталкивается с проблемой хранения в чертеже вспомогательной неграфической информации. Это могут быть атрибуты отдельных графических элементов, атрибуты отдельных листов, или же настройки всего чертежа. В отличие от атрибутов блока, эта информация не видна пользователю и применяется для программной обработки чертежей.

                                На сегодняшний день существует ряд традиционных способов решения задачи: это добавление XData к элементам чертежа, использование XRecord и создание собственных неграфических объектов.

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

                                Как это работает и как применяется на практике смотрите под катом.
                                Читать дальше →
                              • Новый функционал nanoCAD 6.0: нормативный аудит

                                  Общеизвестно, что, выпуская новые версии, разработчики всегда говорят о множестве исправлений, улучшений и новом функционале. Тем не менее, вопреки всему, я рискну обратить ваше внимание на некоторые действительно уникальные инструменты nanoCAD 6.0, после которых мир САПР уже никогда не будет прежним. И в этой статье хотелось бы рассказать о функции НОРМААУДИТ (нормативный аудит).

                                  Те, кому скучно читать подробный текст, могут просто посмотреть рекламный ролик :-)

                                  Остальных приглашаем под кат — методично и последовательно рассмотрим новую функцию…
                                  Читать дальше →
                                • nanoCAD Plus 6.0: новое и улучшенное

                                    Более 2-х тысяч часов тестирования, более 500 исправлений и улучшений, 23 новшества (из которых 10 очень мощные) – за этими сухими цифрами стоит один год нашей работы и выпуск обновленной (без сомнения существенно более мощной) версии российской САПР-платформы nanoCAD Plus 6.0. Горды ли мы этим событием? Конечно! Нам уже почти 6 лет и все это время мы постоянно наращиваем функционал нашего детища. Не просто развиваем, но и активно расширяем пользовательскую базу – у нас уже полмиллиона пользователей! На наш взгляд, nanoCAD — это достойный ответ западным САПР; пример настоящего импортозамещения, о котором так много говорят сегодня.

                                    Те, кто в курсе – может сразу переходить на страницу скачивания новой версии в torrent-сети либо на нашем сайте. А кого интересуют подробности – добро пожаловать под кат; расскажем про новшества.
                                    Читать дальше →
                                  • Сериализация объектов в MultiCAD.NET. Управление совместимостью чертежей и прокси-объектами


                                      При создании пользовательских объектов на традиционном C++ API (NRX в nanoCAD, ObjectARX в AutoCAD) для обеспечения сохранения объектов и чтения их из файла чертежа необходимо в явном виде описывать запись (сериализацию) и чтение (десериализацию) каждого поля. В MultiCAD.NET API применён более привычный .NET разработчикам описательный подход, в основе которого лежит стандартная .NET сериализация.

                                      Применение сериализации, нечувствительной к версии объектов (Version Tolerance Serialization), предоставляет разработчикам более гибкий механизм управления совместимостью объектов разных версий, чем существующий в традиционном C++ API, где предусмотрено чтение предыдущих версий, но чтение файлов «из будущего» невозможно.

                                      В MultiCAD.NET при описании новых версий объектов можно указать, что вновь добавленные поля необязательны, и тогда чертёж, сохранённый в формате новой версии приложения, прочтётся и в предыдущей версии. Разумеется, без изменений остался и традиционный подход, приводящий к созданию прокси объектов (кешированной графики объектов) при загрузке чертежа в предыдущую версию приложения.

                                      Под катом мы обсудим, как достичь совместимости двух версий объекта, а также, как обеспечить традиционный уровень совместимости, когда новые версии приложения читают старые чертежи, но не наоборот.
                                      Читать дальше →
                                    • Работа с таблицами в MultiCAD.NET. Часть 3. Внешние файлы таблиц и обмен данными с Microsoft Excel



                                        В предыдущих статьях о таблицах в MultiCAD.NET речь шла о программном создании и форматировании таблиц в чертеже, использовании различных типов данных в качестве содержимого, а также о применении шаблонов таблиц. В этой статье мы продолжим рассказ об использовании шаблонов и более подробно рассмотрим API, позволяющий сохранить таблицу во внешний файл в качестве шаблона и загрузить его в чертеж для формирования типовых таблиц. Во второй половине статьи будет рассмотрен процесс обмена данными с Microsoft Excel.
                                        Читать дальше →
                                      • Выбор и редактирование пользовательских примитивов в MultiCAD.NET



                                          В одной из прошлых статей мы рассказывали о том, как можно создавать пользовательские примитивы с помощью MultiCAD.NET API, взяв за основу пример CustomObjects из SDK. В этой статье мы уделим внимание процедуре поиска и выбора пользовательских объектов и расширим имеющийся пример, добавив возможность выбора одного или нескольких примитивов с помощью инструментария MultiCAD.NET для последующего редактирования. Подробности — под катом.
                                          Читать дальше →
                                        Самое читаемое