Hi @serg-001 ,
Could you please try using the below sample code?
I tested in Navisworks Manage 2023.
public class Class1 : AddInPlugin
{
public override int Execute(params string[] parameters)
{
foreach (Autodesk.Windows.RibbonTab Tab in Autodesk.Windows.ComponentManager.Ribbon.Tabs)
{
//get Home tab
if (Tab.Id == "ID_TabHome")
{
RibbonPanel ADNPanel = null;
//check if the custom panel exsits
foreach (RibbonPanel panel in Tab.Panels)
{
if (panel.Source.Name == "ID_ADNTestPanel")
{
ADNPanel = panel;
break;
}
}
if (ADNPanel == null)
{
//create custom Panel
ADNPanel = new RibbonPanel();
//create ribbon panel source and bind it to the panel
RibbonPanelSource ADNSource = new RibbonPanelSource();
ADNSource.Id = "ID_ADNTestPanel";
ADNSource.Name = "ADN Test Panel";
ADNPanel.Source = ADNSource;
//create ribbon button
RibbonButton button = new RibbonButton();
button.IsEnabled = true;
button.IsVisible = true;
button.Image = new System.Windows.Media.Imaging.BitmapImage(new Uri(@"....\red.png", UriKind.RelativeOrAbsolute));
button.ShowImage = true;
button.Size = RibbonItemSize.Standard;
button.ShowText = true;
button.ResizeStyle = RibbonItemResizeStyles.HideText;
button.Id = "ID_ADNTestButton";
button.Name = "ADNTestButtonName";
button.Text = "ADN Test";
RibbonButton button2 = new RibbonButton();
button2.IsEnabled = true;
button2.IsVisible = true;
button2.Image = new System.Windows.Media.Imaging.BitmapImage(new Uri(@"....\red.png", UriKind.RelativeOrAbsolute));
button2.ShowImage = true;
button2.Size = RibbonItemSize.Standard;
button2.ShowText = true;
button2.ResizeStyle = RibbonItemResizeStyles.HideText;
button2.Id = "ID_ADNTestButton2";
button2.Name = "ADNTestButtonName2";
button2.Text = "ADN Test2";
RibbonButton button3 = new RibbonButton();
button3.IsEnabled = true;
button3.IsVisible = true;
button3.Image = new System.Windows.Media.Imaging.BitmapImage(new Uri(@"....\red.png", UriKind.RelativeOrAbsolute));
button3.ShowImage = true;
button3.Size = RibbonItemSize.Standard;
button3.ShowText = true;
button3.ResizeStyle = RibbonItemResizeStyles.HideText;
button3.Id = "ID_ADNTestButton3";
button3.Name = "ADNTestButtonName3";
button3.Text = "ADN Test3";
//add the button to the panel
ADNPanel.Source.Items.Add(button);
ADNPanel.Source.Items.Add(new RibbonRowBreak());
ADNPanel.Source.Items.Add(button2);
ADNPanel.Source.Items.Add(new RibbonRowBreak());
ADNPanel.Source.Items.Add(button3);
ADNPanel.Source.Items.Add(new RibbonRowBreak());
//delegate the event when ribbon element is activated
ComponentManager.UIElementActivated += new EventHandler<UIElementActivatedEventArgs>(ComponentManager_UIElementActivated);
//add the panel to the tab
Tab.Panels.Add(ADNPanel);
}
}
}
return 0;
}
void ComponentManager_UIElementActivated(object sender, UIElementActivatedEventArgs e)
{
if(e != null && e.Item != null && e.Item.Id != null&& e.Item.Id == "ID_ADNTestButton")
{
MessageBox.Show("Button 1 is clicked!");
}
if (e != null && e.Item != null && e.Item.Id != null && e.Item.Id == "ID_ADNTestButton2")
{
System.Windows.Forms.MessageBox.Show("Button 2 is clicked!");
}
if (e != null && e.Item != null && e.Item.Id != null && e.Item.Id == "ID_ADNTestButton3")
{
System.Windows.Forms.MessageBox.Show("Button 3 is clicked!");
}
}
}
Here is the Result I got

Naveen Kumar T
Developer Technical Services
Autodesk Developer Network