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

ADN Club => Revit API => Тема начата: simson43 от 11-09-2018, 17:07:57

Название: Как добраться до ribbon
Отправлено: simson43 от 11-09-2018, 17:07:57
В автокаде срздавал вкладки никаких проблем.
Здесь же в шарпдевелоп просто написал
Код - C# [Выбрать]
  1. Ribbonbutton but = new ribbonbutton();

В итога ошибка доступа или что то такое.
Как быть?
Спасибо
Название: Re: Как добраться до ribbon
Отправлено: Александр Игнатович от 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.  
Название: Re: Как добраться до ribbon
Отправлено: simson43 от 11-09-2018, 18:00:36
Может быть и из макросов.
Где этот аддин взять.
Название: Re: Как добраться до ribbon
Отправлено: Александр Игнатович от 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
Название: Re: Как добраться до ribbon
Отправлено: simson43 от 11-09-2018, 19:16:33
Спасибо большое!
Название: Re: Как добраться до ribbon
Отправлено: simson43 от 25-09-2018, 20:00:17
т е в sharpdevelop можно писать только мкросы которые запускат из этого диспетчера макросов? до ленты и него не добраться так?
он для тестов больше подходит я так понял?
а плагины из visual studio работают только если положить файлик addin в папку revit верно? он кажется называется манифестом?
т е чтоб работало у всех пользователей нужно всем (програмно наверное) класть в эту папку этот файл? не слишком сложно?
кажется где то встречал (щасне могу найти) что файл манифеста создается прямо в visual studio.. есть такое?

и еще: при добавлении этого файла создается в панели addin кнопочка. все кнопки будут туда падать? а если я создам отдельную вкладку то они будут и там и там?
Название: Re: Как добраться до ribbon
Отправлено: Александр Пекшев aka Modis от 26-09-2018, 20:33:52
не слишком сложно?
Рассмешили =)
при добавлении этого файла создается в панели addin кнопочка. все кнопки будут туда падать? а если я создам отдельную вкладку то они будут и там и там?
Есть ExternalCommand, а есть ExternalApplication. Вот если вы в файле манифеста пропишете команду, то она попадет во вкладку Addins. Если вы хотите свою вкладку, то вам в манифесте нужно прописывать приложение, а в своем приложении уже создавать панель с кнопками
Название: Re: Как добраться до ribbon
Отправлено: simson43 от 26-09-2018, 20:46:34
Рассмешили =)
в автокаде делалось проще.. я же привык..
т е мне действительно каждому пользователю в ревит нужно кидать файл манифеста?

а файл манифеста который добавляется непосредственно в visual studio управляет другими настройками как я понял?
и к этим манифестам никакого отношения не имеет?
Название: Re: Как добраться до ribbon
Отправлено: Александр Пекшев aka Modis от 28-09-2018, 09:54:11
а файл манифеста который добавляется непосредственно в visual studio управляет другими настройками как я понял?
и к этим манифестам никакого отношения не имеет?
У них из общего только слово "манифест" =))