Сообщество программистов Autodesk в СНГ

ADN Club => ObjectARX => Тема начата: Андрей Бушман от 06-08-2014, 15:08:36

Название: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Андрей Бушман от 06-08-2014, 15:08:36
Доброго времени суток.

Предпочитаю не использовать Wizard, поскольку тот генерирует слишком много непонятного текста (заумные макросы и т.п.). Вместо этого отдаю предпочтение созданию проекта "вручную", где каждая строка кода понятна мне, поскольку осознанно написана мною же.

1. Как в проекте, созданном вручную (не через Wizard) следует выполнять регистрацию LISP функций?
2. Как в проекте, созданном вручную (не через Wizard) можно удалить ранее добавленную мною регистрационную запись о LISP функции (если вдруг мне это потребуется)?

Спасибо.
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Александр Ривилис от 06-08-2014, 15:15:01
Чтобы долго не расписывать посмотри пример из ObjectARX SDK: samples\misc\fact_dg
Для регистрации функции как lisp функции acedDefun и acedRegFunc. Для снятия с регистрации: acedUndef и acedRegFunc
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Андрей Бушман от 06-08-2014, 15:17:19
Спасибо.
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Александр Ривилис от 06-08-2014, 16:05:33
При всём при этом я бы рекомендовал пользоваться ObjectARX Wizard. В отличие от AutoCAD .NET Wizard он производит достаточно много настроек, которые не так просто сделать вручную. Особенно если это не простейшее приложение.
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Андрей Бушман от 06-08-2014, 16:16:57
Помимо того, что Wizard'ы генерируют очень много путанной, сложной для восприятия информации, они ещё и уничтожают друг друга при установке... Т.е. каждый последующий Wizard при своей установке удаляет все ранее установленные. Например, я компилирую код под AutoCAD 2009-2013. Соответственно, при установке Wizard 2015, он убьёт того, который для 2009.
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Александр Ривилис от 06-08-2014, 17:22:35
Соответственно, при установке Wizard 2015, он убьёт того, который для 2009.
Нет. Они ставятся под разные версии Visual Studio. Собственно говоря у меня стоят все версии ObjectARX Wizard, начиная с 2008. Пересечения бывают, но я как-то с ними справляюсь.
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Николай Полещук от 08-08-2014, 11:38:33
С Андреем Бушманом согласен, но с уточнением. Визард ObjectARX 2015 зачем-то сносит визарды из Visual Studio 2010.
Сегодня специально проверил еще раз. У меня на Windows 7x64 стоят Visual Studio 2005, 2008, 2010, 2012 и 2013. Удалил мастера из VS 2008-2013 (где были). Затем установил последовательно мастера из ObjectARX 2010, 2013 и 2015.
Итог:
1. В VS 2008 визард и папки сохранились.
2. В VS 2010 визард и папки удалились (имеются в виду папки в C:\Program Files (x86)\Autodesk и Microsoft Visual Studio 2010\VC\AddClass).
3. В VS 2012 значок визарда сохранился, но не работает.
4. В VS 2013 визард есть и работает.
В новой книге по программированию для AutoCAD 2013-2015 такое замечание будет.
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Андрей Бушман от 08-08-2014, 13:19:49
В отличие от AutoCAD .NET Wizard он производит достаточно много настроек, которые не так просто сделать вручную. Особенно если это не простейшее приложение.
Можно поподробней об этом?
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Александр Ривилис от 24-08-2014, 02:08:42
Можно поподробней об этом?
При желании можешь даже исходники поизучать: https://github.com/ADN-DevTech/ObjectARX-Wizards
Название: Re: Как регистрировать LISP функции в проекте, созданном не через Wizard?
Отправлено: Николай Полещук от 06-09-2014, 08:36:06
В новой книге по программированию для AutoCAD 2013-2015 такое замечание будет.
Новую книгу можно будет приобрести на Autodesk University Russia 2014.
Содержание книги: http://poleshchuk.spb.ru/cad/2014/Pr2013-2015.htm