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

ADN Club => ObjectARX => Тема начата: AlexZhur от 29-05-2017, 17:58:11

Название: Работа c элементами управления на Ribbon
Отправлено: AlexZhur от 29-05-2017, 17:58:11
Подскажите пожалуйста, где посмотреть наиболее полную информацию по работе с элементами управления  (описание доступных ЭУ, доступ к существующим, создание, управление отображением панелей,вкладок и тп) на Ribbon из ObjectArx2015?
Название: Re: Работа c элементами управления на Ribbon
Отправлено: Александр Ривилис от 29-05-2017, 18:08:11
Подскажите пожалуйста, где посмотреть наиболее полную информацию по работе с элементами управления  (описание доступных ЭУ, доступ к существующим, создание, управление отображением панелей,вкладок и тп) на Ribbon из ObjectArx2015?
В ObjectARX этого нет. Есть в AutoCAD .NET API. Т.е. с Ribbon можно работать только через .NET
Название: Re: Работа c элементами управления на Ribbon
Отправлено: AlexZhur от 29-05-2017, 18:25:30
А какой выход? Писать часть кода на .Net, а часть на C++?
Название: Re: Работа c элементами управления на Ribbon
Отправлено: Александр Ривилис от 29-05-2017, 18:33:25
А какой выход? Писать часть кода на .Net, а часть на C++?
Можно так, а можно и на "mixed" C++, т.е. на смеси обычного ("native") C++ и управляемого ("managed") C++.
Название: Re: Работа c элементами управления на Ribbon
Отправлено: AlexZhur от 30-05-2017, 11:02:28
А где можно посмотреть примеры кода для работы с Ribbon из AutoCAD API?
Название: Re: Работа c элементами управления на Ribbon
Отправлено: Александр Ривилис от 30-05-2017, 11:41:24
Проще всего было выполнить поиск по нашему сайте по строке Ribbon, что дало бы кучу результатов.
Например:
http://adn-cis.org/modifikacziya-lentyi.html
http://adn-cis.org/autocad-api-dlya-lentyi-s-ispolzovaniem-c/cli.html - на mixed C++
http://adn-cis.org/sinxronizacziya-lentyi-i-sistemnoj-peremennoj.html

Название: Re: Работа c элементами управления на Ribbon
Отправлено: AlexZhur от 06-06-2017, 19:59:57
Я портировал свой проект (native C++) из AutoCAD 2002 в AutoCAD 2015. Старый код заработал (диалоги на MFC). Встала острая необходимость работы с Ribbon. Как правильно (и возможно ли это) настроить свойства моего проекта, что использовать mixed C++ для работы с Ribbon (а возможно в будущем и не только с ним) из приведенного примера. При указании в свойствах проекта опции \clr   выбивает множество ошибок. Очень не хочется использовать обертки для .Net классов. Буду крайне признателен за помощь.
Название: Re: Работа c элементами управления на Ribbon
Отправлено: Александр Ривилис от 06-06-2017, 20:02:38
Создай новый проект при помощи ObjectARX Wizard с поддержкой .NET и в него перенеси свои файлы из старого проекта.
Хотя если ты не знаешь managed C++, то я бы рекомендовал работу с Ribbon вынести в отдельную .NET dll, написанную на C#.
Название: Re: Работа c элементами управления на Ribbon
Отправлено: Debalance от 07-06-2017, 11:33:46
... я бы рекомендовал работу с Ribbon вынести в отдельную .NET dll, написанную на C#.
Согласен с этой тезой. Мне кажется отделение "интерфейсной" части от собственно программной более правильная модель построения проекта, чем потуги объединения всего что есть в mixed коде.
Название: Re: Работа c элементами управления на Ribbon
Отправлено: AlexZhur от 07-06-2017, 15:13:03
И все же я попробовал создать проект ObjectArx с поддержкой .Net. Прописал все пути к inc и lib. По итогу ситуация вот такая:
Error   3   error C1107: could not find assembly 'acdbmgd.dll': please specify the assembly search path using /AI or by setting the LIBPATH environment variable
   11   IntelliSense: cannot open metadata file "AcCui.dll"
   9   IntelliSense: cannot open metadata file "acdbmgd.dll"
   
Warning   2   warning C4945: 'GeneratedInternalTypeHelper' : cannot import symbol from 'c:\objectarx 2015\inc\adwindows.dll': as 'XamlGeneratedNamespace::GeneratedInternalTypeHelper' has already been imported from another assembly 'AcWindows'   c:\objectarx 2015\inc\adwindows.dll. Хотя сборка 'acdbmgd.dll' есть в External Dependencies. Вопрос, как запустить проект?
Название: Re: Работа c элементами управления на Ribbon
Отправлено: Александр Ривилис от 07-06-2017, 15:49:53
Возьми проект, который я создал при помощи ObjectARX Wizard 2015 и попробуй с ним.
Название: Re: Работа c элементами управления на Ribbon
Отправлено: AlexZhur от 07-06-2017, 16:39:33
Спасибо!!! Загрузил Ваш проект. Компиляция прошла успешно.  :)Риторический вопрос -  что я делал не так  :(? или надо было что-то специфическое указать при работе в Wizard-е  ::)? А в итоге компилируется arx файл или .net сборка?
Название: Re: Работа c элементами управления на Ribbon
Отправлено: Александр Ривилис от 07-06-2017, 17:27:54
Риторический вопрос -  что я делал не так  :(? или надо было что-то специфическое указать при работе в Wizard-е  ::)?
Вот уж не знаю.
А в итоге компилируется arx файл или .net сборка?
Во всяком случае загружать её нужно как .NET-сборку через _NETLOAD.