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 – свойства для релизной конфигурации проекта;

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

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

image
image

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

image

Обсудить статью можно также и на нашем форуме.
Перевод статьи на английский: Porting C++ applications to nanoCAD: using project property pages

Комментарии (0)