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

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 04-04-2016, 23:33:10

Название: Получить цвет фона AutoCAD
Отправлено: Алексей (IdeaSoft) от 04-04-2016, 23:33:10
Мне нужно получить цвет фона пространства модели AutoCAD
К какому классу обратится для этого?
Или достаточно прочитать системную переменную?
Название: Re: Получить цвет фона AutoCAD
Отправлено: Александр Ривилис от 05-04-2016, 00:58:03
Проще всего через Autodesk.AutoCAD.Interop.dll:
Autodesk.AutoCAD.Interop.AcadPreferencesDisplayClass.GraphicsWinModelBackgrndColor
Название: Re: Получить цвет фона AutoCAD
Отправлено: Алексей (IdeaSoft) от 05-04-2016, 09:30:32
Проще всего через Autodesk.AutoCAD.Interop.dll
Но это же COM, а хотелось бы через NET.
Что же пока в API не это предусмотрено?
Тогда нужно в Autodesk обратится что бы сделать такую возможность.
Опубликовали бы класс типа Application.Optionals и положили в него все настройки. 
Название: Re: Получить цвет фона AutoCAD
Отправлено: Александр Ривилис от 05-04-2016, 11:03:25
Но это же COM, а хотелось бы через NET.
В AutoCAD .NET API этого нет. Или ActiveX/COM или P/Invoke. В данном случае ActiveX/COM значительно проще.
Название: Re: Получить цвет фона AutoCAD
Отправлено: Александр Ривилис от 05-04-2016, 11:04:33
Что же пока в API не это предусмотрено?
И думаю, что раз есть в ActiveX/COM, то делать отдельно в AutoCAD .NET API не будут.
Название: Re: Получить цвет фона AutoCAD
Отправлено: Андрей Бушман от 05-04-2016, 11:35:10
Но это же COM, а хотелось бы через NET.
Если тебя смущает то, что придётся добавлять ссылку на COM библиотеку и компилировать отдельно под x86 и под x64, то ты можешь использовать позднее связывание (late binding) - в этом случае ссылок добавлять не придётся и компилировать можно будет под AnyCPU.
Название: Re: Получить цвет фона AutoCAD
Отправлено: Алексей (IdeaSoft) от 05-04-2016, 11:51:31
Ах да про позднее связывание забыл. Спасибо, напомнил!