// define a method that will create our tab and button static void AddRibbonPanel(UIControlledApplication application) { // Проверяем не истёк ли срок действия программы int deltaDateDaysInt1 = Security(); if (deltaDateDaysInt1 < 1) { return; // Выходим из программы. То есть риббон не создастся } // Create a custom ribbon tab String tabName = "ARMOCAD"; application.CreateRibbonTab(tabName); // Add a new ribbon panel RibbonPanel ribbonPanel = application.CreateRibbonPanel(tabName, "Программки общего назначения"); RibbonPanel electricRibbonPanel = application.CreateRibbonPanel(tabName, "Электрические системы"); RibbonPanel agpzTagRibbonPanel = application.CreateRibbonPanel(tabName, "AGPZ TAG"); RibbonPanel ribbonPanel2 = application.CreateRibbonPanel(tabName, "Механические системы"); RibbonPanel ribbonPanel3 = application.CreateRibbonPanel(tabName, "Слаботочные системы"); // Get dll assembly path string thisAssemblyPath = Assembly.GetExecutingAssembly().Location; #region Common Buttons // create push button PushButtonData b1Data = new PushButtonData( "cmdDetailLinesLength", "DL" + System.Environment.NewLine + "length", thisAssemblyPath, "DetailLinesLength.DetailLinesLengthClass"); b1Data.SetContextualHelp(helpButtonsDictionary["cmdDetailLinesLength"]); b1Data.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/DetailLinesLength_icon.png")); b1Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/DetailLinesLength_icon.png")); b1Data.ToolTip = "Нажмите чтобы измерить длину линий детализации"; // create push button PushButtonData b2Data = new PushButtonData( "cmdALength", "MEP" + System.Environment.NewLine + "length", thisAssemblyPath, "ALength.OverLength"); b2Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/measureIcon.png")); b2Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/measureIcon.png")); b2Data.ToolTip = "Нажмите чтобы измерить длину инженерных коммуникаций и линий"; // Создаём выпадающие кнопки SplitButtonData sbdata1 = new SplitButtonData("Ara", "MEP Length"); SplitButton sb1 = ribbonPanel.AddItem(sbdata1) as SplitButton; sb1.AddPushButton(b2Data); sb1.AddPushButton(b1Data); // create push button for RotateAll PushButtonData b3Data = new PushButtonData( "cmdRotateAll", "Rotate" + System.Environment.NewLine + "Elements", thisAssemblyPath, "RotateAll.RotateAllClass"); PushButton pb3 = ribbonPanel.AddItem(b3Data) as PushButton; pb3.ToolTip = "Select Elements to rotate them"; BitmapImage pb3Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/rotateIcon.png")); pb3.LargeImage = pb3Image; // create push button PushButtonData b4Data = new PushButtonData( "cmdScheduleToExcel", "Export" + System.Environment.NewLine + "Schedule", thisAssemblyPath, "ScheduleToExcel.ScheduleToExcelClass"); PushButton pb4 = ribbonPanel.AddItem(b4Data) as PushButton; pb4.ToolTip = "Select Schedules to export them"; BitmapImage pb4Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/excelIcon.png")); pb4.LargeImage = pb4Image; // create push button PushButtonData b5Data = new PushButtonData( "cmdCopySheet", "Copy" + System.Environment.NewLine + "sheet", thisAssemblyPath, "CopySheet.CopySheetClass"); PushButton pb5 = ribbonPanel.AddItem(b5Data) as PushButton; pb5.ToolTip = "Copy Sheet"; BitmapImage pb5Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/copySheetIcon.png")); pb5.LargeImage = pb5Image; // create push button PushButtonData b6Data = new PushButtonData( "cmdSimilarParamsClass", "Similar" + System.Environment.NewLine + "Parameters", thisAssemblyPath, "SimilarParams.SimilarParamsClass"); PushButton pb6 = ribbonPanel.AddItem(b6Data) as PushButton; pb6.ToolTip = "Запись одинкаовых параметров в разные семейства"; pb6.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/SimilarParams_icon.png")); pb6.LargeImage = pb6.Image; pb6.SetContextualHelp(helpButtonsDictionary["cmdSimilarParamsClass"]); // create push button PushButtonData b7Data = new PushButtonData( "cmdParamtextreplaceClass", "Param" + System.Environment.NewLine + "text replace", thisAssemblyPath, "Paramtextreplace.ParamtextreplaceClass"); PushButton pb7 = ribbonPanel.AddItem(b7Data) as PushButton; pb7.ToolTip = "Поиск и замена выбранных параметров в выбранных семействах"; pb7.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/Paramtextreplace_icon.png")); pb7.LargeImage = pb7.Image; pb7.SetContextualHelp(helpButtonsDictionary["cmdParamtextreplaceClass"]); // create push button PushButtonData b9Data = new PushButtonData( "cmdOpeningElevation", "Opening" + System.Environment.NewLine + "Elevation", thisAssemblyPath, "OpeningElevation.OpeningElevationClass"); PushButton pb9 = ribbonPanel.AddItem(b9Data) as PushButton; pb9.ToolTip = "Нажмите чтобы обработать отверстия Cut Opening"; pb9.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/openElevIcon.png")); pb9.LargeImage = pb9.Image; pb9.SetContextualHelp(helpButtonsDictionary["cmdOpeningElevation"]); // create push button PushButtonData b11Data = new PushButtonData( "cmdSectionByElement", "Section" + System.Environment.NewLine + "by Element", thisAssemblyPath, "SectionByElement.SectionByElementClass"); PushButton pb11 = ribbonPanel.AddItem(b11Data) as PushButton; pb11.ToolTip = "Выберите элемент(ы) и нажмите, чтобы создать разрез(ы) вдоль них"; pb11.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/section_icon.png")); pb11.LargeImage = pb11.Image; // create push button PushButtonData b20Data = new PushButtonData( "cmdFilterExCommand", "Filter" + System.Environment.NewLine + "by Params", thisAssemblyPath, "ARMOCAD.FilterExCommand"); PushButton pb20 = ribbonPanel.AddItem(b20Data) as PushButton; pb20.ToolTip = "Выбирает элементы в модели по условиям"; pb20.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/filterIcon.png")); pb20.LargeImage = pb20.Image; // create push button PushButtonData b25Data = new PushButtonData( "cmdCreateMepSpaces", "Пространства" + System.Environment.NewLine + "по АР", thisAssemblyPath, "ARMOCAD.CreateMepSpaces"); b25Data.SetContextualHelp(helpButtonsDictionary["cmdCreateMepSpaces"]); PushButton pb25 = ribbonPanel.AddItem(b25Data) as PushButton; pb25.ToolTip = "Ставит пространства по модели АР"; pb25.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/spaceIcon.png")); pb25.LargeImage = pb25.Image; #endregion Common Buttons #region Electric Buttons // create push button PushButtonData elB1Data = new PushButtonData( "cmdSpreadEvenly", "Spread" + System.Environment.NewLine + "Evenly", thisAssemblyPath, "SpreadEvenly.SpreadEvenlyClass"); PushButton elPB1 = electricRibbonPanel.AddItem(elB1Data) as PushButton; elPB1.ToolTip = "Нажмите чтобы расставить семейства"; elPB1.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/SpreadEvenly_icon.png")); elPB1.LargeImage = elPB1.Image; elPB1.SetContextualHelp(helpButtonsDictionary["cmdSpreadEvenly"]); //DenisButtons // create push button PushButtonData elB2Data = new PushButtonData( "cmdConPoints", "Размещение\n ТП", thisAssemblyPath, "ARMOCAD.ConPoint"); elB2Data.SetContextualHelp(helpButtonsDictionary["cmdConPoints"]); elB2Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/tpointsIcon.png")); elB2Data.ToolTip = "Размещение точек подключения из связи"; elB2Data.ToolTipImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/Screenshot_1.png")); elB2Data.LongDescription = "Автоматическая расстановка электровыводов для подключения оборудования из связанных моделей с загрузкой технических параметров \n"; // create push button PushButtonData elB3Data = new PushButtonData( "cmdConPointLocation", "Проверка\n ТП", thisAssemblyPath, "ARMOCAD.ConPointLocation"); elB3Data.SetContextualHelp(helpButtonsDictionary["cmdConPointLocation"]); elB3Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/checkIcon.png")); elB3Data.ToolTip = "Проверка размещенных точек подключения"; elB3Data.LongDescription = "Проверка размещенных электровыводов оборудования из связанных моделей на количество и правильность размещения \n"; elB3Data.ToolTipImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/Screenshot_2.png")); // Создаём выпадающие кнопки SplitButtonData sbElData1 = new SplitButtonData("ConPoints", "ConPointLocation"); SplitButton sbEl1 = electricRibbonPanel.AddItem(sbElData1) as SplitButton; sbEl1.AddPushButton(elB2Data); sbEl1.AddPushButton(elB3Data); //sbEl1.CurrentButton.Name #endregion Electric Buttons #region AGPZ Tag Buttons // create push button PushButtonData tagB1Data = new PushButtonData( "cmdTagOVDucts", "TAG\n Комплект.", thisAssemblyPath, "ARMOCAD.TagOVDucts"); tagB1Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/tagIcon.png")); tagB1Data.ToolTip = "Тагирование воздуховодов и соединительных деталей"; // create push button PushButtonData tagB2Data = new PushButtonData( "cmdTagOVEquipPhase1", "TAG Ф1\n Оборуд.", thisAssemblyPath, "ARMOCAD.TagOVEquipPhase1"); tagB2Data.ToolTip = "Тагирование (Фаза 1) оборудования, арматуры воздуховодов, воздухораспределителей, арматуры труб"; tagB2Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/tagIcon.png")); // create push button PushButtonData tagB3Data = new PushButtonData( "cmdTagOVEquip", "TAG Ф2+\n Оборуд.", thisAssemblyPath, "ARMOCAD.TagOVEquip"); tagB3Data.ToolTip = "Тагирование (Фаза 2 и сл.) оборудования, арматуры воздуховодов, воздухораспределителей, арматуры труб"; tagB3Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/tagIcon.png")); // create push button PushButtonData tagB4Data = new PushButtonData( "cmdTagOVEquipReplace", "TAG Ф2+\n Замена", thisAssemblyPath, "ARMOCAD.TagOVEquipReplace"); tagB4Data.ToolTip = "Тагирование (Фаза 2 и сл.) заменяет часть тэга на код системы 0001А => 9901А, не создавая новых тэгов"; tagB4Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/tagIcon.png")); // Создаём выпадающие кнопки SplitButtonData sbTagData1 = new SplitButtonData("AGPZ", "TAGButtons"); SplitButton sbTag1 = agpzTagRibbonPanel.AddItem(sbTagData1) as SplitButton; sbTag1.AddPushButton(tagB1Data); sbTag1.AddPushButton(tagB2Data); sbTag1.AddPushButton(tagB3Data); sbTag1.AddPushButton(tagB4Data); // create push button PushButtonData tagB5Data = new PushButtonData( "cmdTagsFromSheetsEx", "TAG" + System.Environment.NewLine + "на листах", thisAssemblyPath, "ARMOCAD.TagsFromSheetsEx"); PushButton tagPB5 = agpzTagRibbonPanel.AddItem(tagB5Data) as PushButton; tagPB5.ToolTip = "Собирает информацию о тэгах и листах, на которых они расположены"; tagPB5.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/tagIconGreen.png")); tagPB5.LargeImage = tagPB5.Image; // create push button PushButtonData tagB6Data = new PushButtonData( "cmdTBCommand", "TAG\n bridge", thisAssemblyPath, "ARMOCAD.TBCommand"); PushButton tagPB6 = agpzTagRibbonPanel.AddItem(tagB6Data) as PushButton; tagPB6.ToolTip = "Сцепляет элементы модели и схем"; tagPB6.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/tagTransferIcon.png")); tagPB6.LargeImage = tagPB6.Image; #endregion AGPZ Tag Buttons #region MEP Buttons // create push button PushButtonData b8Data = new PushButtonData( "cmdSwapDuct", "Swap" + System.Environment.NewLine + "Duct", thisAssemblyPath, "SwapDuct.SwapDuctClass"); PushButton pb8 = ribbonPanel2.AddItem(b8Data) as PushButton; pb8.ToolTip = "Нажмите чтобы развернуть воздуховод"; pb8.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/swapIcon.png")); pb8.LargeImage = pb8.Image; // create push button PushButtonData b12Data = new PushButtonData( "cmdThiDuct", "Толщина" + System.Environment.NewLine + "воздуховодов", thisAssemblyPath, "ThiDuct.ThiDuctClass"); PushButton pb12 = ribbonPanel2.AddItem(b12Data) as PushButton; pb12.ToolTip = "Толщина металла воздуховодов и соединительных деталей"; pb12.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/thicknessIcon.png")); pb12.LargeImage = pb12.Image; // create push button PushButtonData b16Data = new PushButtonData( "cmdLengthOfTransition", "Длина" + System.Environment.NewLine + "перехода", thisAssemblyPath, "LengthOfTransition.LengthOfTransitionClass"); PushButton pb16 = ribbonPanel2.AddItem(b16Data) as PushButton; pb16.ToolTip = "Редактирует длину перехода по ВСН 353-86 Таблица 7"; pb16.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/transIcon.png")); pb16.LargeImage = pb16.Image; // create push button PushButtonData b17Data = new PushButtonData( "cmdMEPSystemScheme", "Аксон." + System.Environment.NewLine + "схемы", thisAssemblyPath, "MEPSystemScheme.MEPSystemSchemeClass"); PushButton pb17 = ribbonPanel2.AddItem(b17Data) as PushButton; pb17.ToolTip = "Создает 3D виды по механическим системам"; pb17.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/3dIcon.png")); pb17.LargeImage = pb17.Image; // create push button PushButtonData b19Data = new PushButtonData( "cmdChangeUnitExCommand", "AGPZ" + System.Environment.NewLine + "Copy Model", thisAssemblyPath, "ARMOCAD.ChangeUnitExCommand"); PushButton pb19 = ribbonPanel2.AddItem(b19Data) as PushButton; pb19.ToolTip = "Заменяет параметры для новой модели AGPZ"; pb19.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/copyIcon.png")); pb19.LargeImage = pb19.Image; #endregion MEP Buttons #region SS Buttons // create push button PushButtonData b21Data = new PushButtonData( "cmdSKSSocketsToShelfsExCommand", "Розетки по Шкафам", thisAssemblyPath, "ARMOCAD.SKSSocketsToShelfsExCommand"); b21Data.ToolTip = "Заполняет в розетках параметр \"Розетка - Шкаф\""; b21Data.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/socketIcon.png")); // create push button PushButtonData b22Data = new PushButtonData( "cmdSKSFasadExCommand", "Схемы и Фасады", thisAssemblyPath, "ARMOCAD.SKSFasadExCommand"); b22Data.ToolTip = "Маркирует розетки и создает чертежные виды со схемами и фасадами"; b22Data.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/schemeIcon.png")); List <RibbonItem> ssButtons1 = new List <RibbonItem>(); ssButtons1.AddRange(ribbonPanel3.AddStackedItems(b21Data, b22Data)); // create push button PushButtonData b23Data = new PushButtonData( "cmdSKUDControlPlacementEx", "Точки Доступа", thisAssemblyPath, "ARMOCAD.SKUDControlPlacementEx"); b23Data.ToolTip = "Размещение точек доступа по дверям из связанной модели АР"; b23Data.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/arrowIcon.png")); b23Data.SetContextualHelp(helpButtonsDictionary["cmdSKUDControlPlacementEx"]); // create push button PushButtonData b24Data = new PushButtonData( "cmdSKUDPlaceEquipmentEx", "ТД -> Оборудование", thisAssemblyPath, "ARMOCAD.SKUDPlaceEquipmentEx"); b24Data.ToolTip = "Размещение оборудования СКУД по точкам доступа"; b24Data.Image = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/equipIcon.png")); b24Data.SetContextualHelp(helpButtonsDictionary["cmdSKUDControlPlacementEx"]); List <RibbonItem> skudButtons1 = new List <RibbonItem>(); skudButtons1.AddRange(ribbonPanel3.AddStackedItems(b23Data, b24Data)); //========================= DenisButtons // create push button PushButtonData b26Data = new PushButtonData("cmdLinkEquipmentSS", "Размещение\n оборудования", thisAssemblyPath, "ARMOCAD.LinkEquipmentSS"); b26Data.SetContextualHelp(helpButtonsDictionary["cmdLinkEquipmentSS"]); b26Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/valveIcon.png")); b26Data.ToolTip = "Размещение оборудования из связной модели"; b26Data.LongDescription = "Автоматическая расстановка электровыводов для подключения оборудования из связанных моделей с загрузкой технических параметров \n"; b26Data.ToolTipImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/Screenshot_3.png")); // create push button PushButtonData b27Data = new PushButtonData("cmdLinkEquipmentLoc", "Проверка\n оборудования", thisAssemblyPath, "ARMOCAD.LinkEquipmentLoc"); b27Data.SetContextualHelp(helpButtonsDictionary["cmdLinkEquipmentLoc"]); b27Data.LargeImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/checkIcon.png")); b27Data.ToolTip = "Проверка оборудования размещенного из связной модели \n"; b27Data.ToolTipImage = new BitmapImage(new Uri("pack://application:,,,/ARMOCAD;component/Resources/Screenshot_2.png")); // Создаём выпадающие кнопки SplitButtonData sbdata2 = new SplitButtonData("LinkEquipmentSS", "SS LinkEquipmentSS"); SplitButton sb2 = ribbonPanel3.AddItem(sbdata2) as SplitButton; sb2.AddPushButton(b26Data); sb2.AddPushButton(b27Data); PushButton curbutt = sb2.CurrentButton; ContextualHelp h = curbutt.GetContextualHelp(); sb2.SetContextualHelp(h); #endregion SS Buttons }