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

image

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

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

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

Начнём с задания переменной среды, указывающей на расположение nanoCAD SDK. Переменная может быть определена в системе, либо может быть задана в .bat файле перед запуском Visual Studio 2008.

Почему Visual Studio 2008, а не 2010/2012/2013/2015?

nanoCAD 3.0 — 7.0 собраны на Visual Studio 2008, поэтому и приложения следует собирать этим же компилятором.

StartVS90_NCadSDK.bat:

set NCadSDK=c:\Program Files (x86)\Nanosoft\nanoCAD Plus 7.0\SDK
call "%VS90COMNTOOLS%vsvars32.bat"
devenv.exe


После запуска Visual Studio, создадим новую конфигурацию проекта. Конфигурацию можно создать с нуля, либо скопировать одну из существующих конфигураций. Например, конфигурация Release может быть скопирована в новую конфигурацию Release NCAD.

image

Для того, чтобы не настраивать вручную параметры компилятора и компоновщика, подключим страницу свойств, .vsprops файл, в котором эти параметры уже настроены. Страницы свойств добавляются в окне менеджера свойств (View -> Property manager).

image

В состав NRX SDK входят страницы свойств для отладочной и релизной конфигураций:

  • rxsdk_debugcfg.vsprops – свойства для debug-конфигурации проекта;
  • rxsdk_releasecfg.vsprops – свойства для релизной конфигурации проекта;


Расположены они в директории \include\arxgate. Для обеспечения максимальной совместимости файлы страниц свойств, а также заголовки, расположенные в директории arxgate, имеют такие же имена, что и аналогичные файлы в ObjectARX.

После добавления страницы свойств, пронаследованные настройки появляются в проекте:

image

image

Вот, собственно, и все, что необходимо сделать для портирования простого приложения. Собранный NRX-модуль загружается в nanoCAD командой APPLOAD. Для автоматической загрузки, приложения можно добавить в «Чемодан автозагрузки», расположенный там же, в диалоге команды APPLOAD.

image

P.S. Пользуясь случаям, привожу ссылку на проект портала isicad.ru «Народное САПР-интервью», в рамках которого на вопросы пользователей отвечает Денис Ожигин, dows, директор по развитию направления nanoCAD компании ЗАО Нанософт.

Приглашение на «Народное САПР-интервью»
От лица компании «Нанософт» на все «горячие» вопросы ответит директор по развитию направления nanoCAD Денис Ожигин. Присоединяйтесь к общению!

Денис Ожигин: «Сегодня Нанософт хорошо узнаваем и абсолютно вписывается в современный рынок, активно развивая функционал и расширяя пользовательскую базу. Мы чувствуем себя уверенно в современных нишах: BIM, PDM, PLM. Как мы видим себя сейчас и куда идём? Импортозамещение? Легализация софта? Оптимизация ваших бюджетов? Куда и в каком темпе развивается nanoCAD? Дистрибуция передовых зарубежных решений? Готов ответить на все вопросы, комментарии и предложения нынешних и будущих пользователей, поклонников и скептиков, партнёров и конкурентов…»

Получить более подробную информацию о проекте и задать свои вопросы можно по ссылке isicad.ru/ru/ask-vip.php?person=Ozhigin.

© Habrahabr.ru