Как добраться до ribbon

Автор Тема: Как добраться до ribbon  (Прочитано 2873 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Как добраться до ribbon
« : 11-09-2018, 17:07:57 »
В автокаде срздавал вкладки никаких проблем.
Здесь же в шарпдевелоп просто написал
Код - C# [Выбрать]
  1. Ribbonbutton but = new ribbonbutton();

В итога ошибка доступа или что то такое.
Как быть?
Спасибо

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Как добраться до ribbon
« Ответ #1 : 11-09-2018, 17:20:18 »
Вы упоминули sharp develop, случаем не в редакторе макросов пытаетесь? Там, насколько помню, доступа к ленте нет.

В add-in-е можно. Вот пример из документации:
Код - C# [Выбрать]
  1. public Result OnStartup(UIControlledApplication application)
  2. {
  3.     // add new ribbon panel
  4.     RibbonPanel ribbonPanel = application.CreateRibbonPanel("NewRibbonPanel");
  5.  
  6.     //Create a push button in the ribbon panel “NewRibbonPanel”
  7.     //the add-in application “HelloWorld” will be triggered when button is pushed
  8.  
  9.     PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("HelloWorld",
  10.         "HelloWorld", @"D:\HelloWorld.dll", "HelloWorld.CsHelloWorld")) as PushButton;
  11.  
  12.     // Set the large image shown on button
  13.     Uri uriImage = new Uri(@"D:\Sample\HelloWorld\bin\Debug\39-Globe_32x32.png");
  14.     BitmapImage largeImage = new BitmapImage(uriImage);
  15.     pushButton.LargeImage = largeImage;
  16.  
  17.  
  18.     return Result.Succeeded;
  19. }
  20.  

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Как добраться до ribbon
« Ответ #2 : 11-09-2018, 18:00:36 »
Может быть и из макросов.
Где этот аддин взять.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Как добраться до ribbon
« Ответ #3 : 11-09-2018, 18:15:10 »
Посмотрите здесь расписано, как работать с лентой:
https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/Revit-API/files/GUID-01F579CB-AB46-4C00-86E4-D189510D3774-htm.html

Здесь немного информации о том, что такое IExternalApplication и с чем его едят:
https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/Revit-API/files/GUID-CEF0F9C9-046E-46E2-9535-3B9620D8A170-htm.html

Здесь о том, что должно быть в файле .addin, чтобы Revit загружал Ваши команды и приложения:
https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/Revit-API/files/GUID-4FFDB03E-6936-417C-9772-8FC258A261F7-htm.html

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Как добраться до ribbon
« Ответ #4 : 11-09-2018, 19:16:33 »
Спасибо большое!

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Как добраться до ribbon
« Ответ #5 : 25-09-2018, 20:00:17 »
т е в sharpdevelop можно писать только мкросы которые запускат из этого диспетчера макросов? до ленты и него не добраться так?
он для тестов больше подходит я так понял?
а плагины из visual studio работают только если положить файлик addin в папку revit верно? он кажется называется манифестом?
т е чтоб работало у всех пользователей нужно всем (програмно наверное) класть в эту папку этот файл? не слишком сложно?
кажется где то встречал (щасне могу найти) что файл манифеста создается прямо в visual studio.. есть такое?

и еще: при добавлении этого файла создается в панели addin кнопочка. все кнопки будут туда падать? а если я создам отдельную вкладку то они будут и там и там?

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Как добраться до ribbon
« Ответ #6 : 26-09-2018, 20:33:52 »
не слишком сложно?
Рассмешили =)
при добавлении этого файла создается в панели addin кнопочка. все кнопки будут туда падать? а если я создам отдельную вкладку то они будут и там и там?
Есть ExternalCommand, а есть ExternalApplication. Вот если вы в файле манифеста пропишете команду, то она попадет во вкладку Addins. Если вы хотите свою вкладку, то вам в манифесте нужно прописывать приложение, а в своем приложении уже создавать панель с кнопками

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Как добраться до ribbon
« Ответ #7 : 26-09-2018, 20:46:34 »
Рассмешили =)
в автокаде делалось проще.. я же привык..
т е мне действительно каждому пользователю в ревит нужно кидать файл манифеста?

а файл манифеста который добавляется непосредственно в visual studio управляет другими настройками как я понял?
и к этим манифестам никакого отношения не имеет?

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Как добраться до ribbon
« Ответ #8 : 28-09-2018, 09:54:11 »
а файл манифеста который добавляется непосредственно в visual studio управляет другими настройками как я понял?
и к этим манифестам никакого отношения не имеет?
У них из общего только слово "манифест" =))