Метод Create ribbon panel

Автор Тема: Метод Create ribbon panel  (Прочитано 2253 раз)

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

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

  • ADN OPEN
  • Сообщений: 13
  • Карма: 0
Метод Create ribbon panel
« : 10-05-2018, 18:54:35 »
Добрый день, друзья.
Пытаюсь создать панельку для плагина, но вырисовываются проблемы с методом
Я могу просто создать её с помощью:
Код - C# [Выбрать]
  1. application.CreateRibbonPanel(tabName, "This Panel Name");
Но не получается присвоить переменную:
Код - C# [Выбрать]
  1. RibbonPanel Panel = application.CreateRibbonPanel(tabName, "This Panel Name");
Вижуха ругается, пишет: Не удается преобразовать "Autodesk.Revit.UI.RibbonPanel" в "plugin.RibbonPanel"
plugin - название пространства имен.
Вопрос: как в моем случае правильно выполнить метод с переменной?

Делаю на примере из базы Autodesk https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2017/ENU/Revit-API/files/GUID-1547E521-59BD-4819-A989-F5A238B9F2B3-htm.html
и отсюда
Извините, вам запрещён просмотр содержимого спойлеров.



Отмечено как Решение Biorn 10-05-2018, 20:45:40

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

  • ADN OPEN
  • Сообщений: 13
  • Карма: 0
Re: Метод Create ribbon panel
« Ответ #1 : 10-05-2018, 19:45:37 »
Ладно, это было очень тупо, но нужно было просто записать:
Код - C# [Выбрать]
  1. Autodesk.Revit.UI.RibbonPanel Panel = application.CreateRibbonPanel(tabName, "This Panel Name");

Либо это изменение метода в новой редакции, потому как выше прописано using Autodesk.Revit.UI, либо я где-то чего-то не дописал.
В любом случае, все работает и ошибки больше нет.

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Метод Create ribbon panel
« Ответ #2 : 11-05-2018, 11:51:28 »
День добрый, Вы можете еще глянуть мой репозиторий на гитхабе: https://github.com/CADBIMDeveloper/RevitRibbonSample
С его помощью работа с Ribbon-ом становится куда приятнее и удобнее, можно писать код в fluent-стиле:

Код - C# [Выбрать]
  1. Ribbon.GetApplicationRibbon(application)
  2.         .Tab("My tab")
  3.         .Panel("My panel", new CamelCaseToUnderscoreWithPrefixNameConvention(Resources.CompanyName))
  4.         .CreateButton<DummyCommand>("Just test", button =>
  5.                 button
  6.                         .SetLargeImage(Resources.UndefinedIcon32)
  7.                         .SetSmallImage(Resources.UndefinedIcon16)
  8.                         .SetHelpUrl("https://github.com/CADBIMDeveloper/RevitRibbonSample"))
  9.         .CreateSplitButton("MY_SPLIT_BTN", "Split\nbutton",
  10.                 splitButton =>
  11.                         splitButton
  12.                                 .CreateButton<DummyCommand1>("Split button 1",
  13.                                         button => button
  14.                                                 .SetLargeImage(Resources.Crazy32)
  15.                                                 .SetSmallImage(Resources.Crazy16)
  16.                                                 .SetLongDescription("I'm available only in plan views")
  17.                                                 .SetAvailability<DummyCommand1>()
  18.                                                 .SetDefault())
  19.                                 .CreateButton<DummyCommand2>("Split button 2",
  20.                                         button => button
  21.                                                 .SetLargeImage(Resources.Biohazard_32)
  22.                                                 .SetSmallImage(Resources.Biohazard_16)))
  23.         .CreatePullDownButton("MY_PULLDOWN_BTN", "Pulldown\nbutton",
  24.                 pulldownButton =>
  25.                         pulldownButton
  26.                                 .CreateButton<DummyCommand3>("Command 3")
  27.                                 .CreateButton<DummyCommand4>("Command 4")
  28.                                 .SetLargeImage(Resources.metro32)
  29.                                 .SetSmallImage(Resources.metro16))
  30.         .CreateSeparator()
  31.         .CreateStackedItems(item =>
  32.                 item
  33.                         .CreateButton<DummyCommand5>("Command 5",
  34.                                 button =>
  35.                                         button
  36.                                                 .SetLargeImage(Resources.exportDWG_32)
  37.                                                 .SetSmallImage(Resources.exportDWG_16))
  38.                         .CreateButton<DummyCommand6>("Command 6",
  39.                                 button =>
  40.                                         button
  41.                                                 .SetLargeImage(Resources.export_32)
  42.                                                 .SetSmallImage(Resources.export_16))
  43.                         .CreateButton<DummyCommand7>("Command 7",
  44.                                 button =>
  45.                                         button
  46.                                                 .SetLargeImage(Resources.acad_import_32)
  47.                                                 .SetSmallImage(Resources.acad_import_16)));