#region Namespaces using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit.UI.Events; using Autodesk.Revit.UI; using ComboBox = Autodesk.Revit.UI.ComboBox; using System.Collections.Generic; using System.Reflection; using System.Windows.Media.Imaging; using System; using System.Windows.Documents; //using Autodesk.Revit.ApplicationServices; //using Autodesk.Revit.DB.Architecture; //using Autodesk.Revit.DB.Structure; //using Autodesk.Revit.UI.Selection; //using forms = System.Windows.Forms; //using Microsoft.VisualBasic; //using OfficeOpenXml; //using SetView; //using System.Collections; //using System.Diagnostics; //using System.IO; //using System.Linq; //using System.Security.Cryptography.X509Certificates; //using System.Windows.Forms; //using View = Autodesk.Revit.DB.View; #endregion namespace Prueba1 { class App : IExternalApplication { private readonly string img ="C:\\TD3\\img\\"; readonly string rut0 = "C:\\Temp\\"; readonly string rut1 = "C:\\TD3\\Prueba1\\bin\\Debug\\Prueba1.dll"; public string assembly = Assembly.GetExecutingAssembly().Location; public string ts1, ts2, ts3, ts4, ts5, ts6, ts7, ts8, ts9; readonly int cont; // recipiente para lista de botones List projectButtons = new List(); // general para los que se agreguen de aquí en adelante. El error producido se arregla con la sugerencia de crear la clase List public static UIDocument ActiveUIDocument { get; private set; } public Result OnShutdown(UIControlledApplication a) { TaskDialog.Show("C:\\TD3","Salgo de Revit… buen día !"); return Result.Succeeded; } public Result OnStartup(UIControlledApplication App) { // 8rt. Crear RibbonTab string tabName = "Empresa"; App.CreateRibbonTab(tabName); // 8rp. Crear RibbonPanel : rp4 -> Frentes RibbonPanel rp4 = App.CreateRibbonPanel (tabName, "Frentes"); // 81. Crear PushButtons: rp4 PushButtonData rp4b1 = new PushButtonData ("rp4b1", "Frentes41", @rut1, "Prueba1.Frentes41"); PushButtonData rp4b2 = new PushButtonData ("rp4b2", "Frentes42", @rut1, "Prueba1.Frentes42"); // 82. Adicionar tooltip : rp4b1.ToolTip = "Option Frentes41."; rp4b2.ToolTip = "Option Frentes42."; // 83. Adicionar LongDescription : rp4b1.LongDescription = "Detailed explanation of the Option Frentes41."; rp4b2.LongDescription = "Detailed explanation of the Option Frentes42."; // 84. Aicionar ícono : rp4b1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp4b2.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 85. ContextualHelp : ContextualHelp ch41 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch42 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 86. Set ContextualHelp : rp4b1.SetContextualHelp(ch41); rp4b2.SetContextualHelp(ch42); // 87. Adicionar PushButtons a RibonPanel respectivo projectButtons.AddRange(rp4.AddStackedItems(rp4b1,rp4b2)); // 8rp. Crear RibbonPanel : rp5 -> Muros RibbonPanel rp5 = App.CreateRibbonPanel (tabName, "Muros"); // 81. Crear PushButtons: rp5 PushButtonData rp5b1 = new PushButtonData ("rp5b1", "Muros51", @rut1, "Prueba1.Muros51"); PushButtonData rp5b2 = new PushButtonData ("rp5b2", "Muros52", @rut1, "Prueba1.Muros52"); // 82. Adicionar tooltip : rp5b1.ToolTip = "Option Muros51."; rp5b2.ToolTip = "Option Muros52."; // 83. Adicionar LongDescription : rp5b1.LongDescription = "Detailed explanation of the Option Muros51."; rp5b2.LongDescription = "Detailed explanation of the Option Muros52."; // 84. Aicionar ícono : rp5b1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp5b2.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 85. ContextualHelp : ContextualHelp ch51 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch52 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 86. Set ContextualHelp : rp5b1.SetContextualHelp(ch51); rp5b2.SetContextualHelp(ch52); // 87. Adicionar PushButtons a RibonPanel respectivo projectButtons.AddRange(rp5.AddStackedItems(rp5b1,rp5b2)); // 8rp. Crear RibbonPanel : rp6 -> Comunal RibbonPanel rp6 = App.CreateRibbonPanel (tabName, "Comunal"); // 81. Crear PushButtons: rp6 PushButtonData rp6b1 = new PushButtonData ("rp6b1", "Comunal61", @rut1, "Prueba1.Comunal61"); PushButtonData rp6b2 = new PushButtonData ("rp6b2", "Comunal62", @rut1, "Prueba1.Comunal62"); // 82. Adicionar tooltip : rp6b1.ToolTip = "Option Comunal61."; rp6b2.ToolTip = "Option Comunal62."; // 83. Adicionar LongDescription : rp6b1.LongDescription = "Detailed explanation of the Option Comunal61."; rp6b2.LongDescription = "Detailed explanation of the Option Comunal62."; // 84. Aicionar ícono : rp6b1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp6b2.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 85. ContextualHelp : ContextualHelp ch61 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch62 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 86. Set ContextualHelp : rp6b1.SetContextualHelp(ch61); rp6b2.SetContextualHelp(ch62); // 87. Adicionar PushButtons a RibonPanel respectivo projectButtons.AddRange(rp6.AddStackedItems(rp6b1,rp6b2)); //ADICIONAR SplitButton // 91. Crear PushButtons para SplitButton: rp4 PushButtonData rp4b4 = new PushButtonData ("rp4b4", "Frentes44", assembly, "Prueba1.Frentes44"); PushButtonData rp4b5 = new PushButtonData ("rp4b5", "Frentes45", assembly, "Prueba1.Frentes45"); PushButtonData rp4b6 = new PushButtonData ("rp4b6", "Frentes46", assembly, "Prueba1.Frentes46"); // 92. Adicionar tooltip : rp4b4.ToolTip = "Option Frentes44."; rp4b5.ToolTip = "Option Frentes45."; rp4b6.ToolTip = "Option Frentes46."; // 93. Adicionar LongDescritption :: rp4b4.LongDescription = "Detailed explanation of the Option Frentes44."; rp4b5.LongDescription = "Detailed explanation of the Option Frentes45."; rp4b6.LongDescription = "Detailed explanation of the Option Frentes46."; // 94. Adicionar ícono : aquí no admite .Image rp4b4.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp4b5.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp4b6.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); // 95. ContextualHelp : ContextualHelp ch44 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch45 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch46 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 96. Set ContextualHelp : rp4b4.SetContextualHelp(ch44); rp4b5.SetContextualHelp(ch45); rp4b6.SetContextualHelp(ch46); // 97. Integrar PushButtons a SplitButton SplitButtonData sb4 = new SplitButtonData("sb4", "Split"); //este último texto Split: se visualiza si no hay items. SplitButton sb44 = rp4.AddItem(sb4) as SplitButton; sb44.AddPushButton(rp4b4); sb44.AddPushButton(rp4b5); sb44.AddPushButton(rp4b6); //ADICIONAR SplitButton // 91. Crear PushButtons para SplitButton: rp5 PushButtonData rp5b4 = new PushButtonData ("rp5b4", "Muros54", assembly, "Prueba1.Muros54"); PushButtonData rp5b5 = new PushButtonData ("rp5b5", "Muros55", assembly, "Prueba1.Muros55"); PushButtonData rp5b6 = new PushButtonData ("rp5b6", "Muros56", assembly, "Prueba1.Muros56"); // 92. Adicionar tooltip : rp5b4.ToolTip = "Option Muros54."; rp5b5.ToolTip = "Option Muros55."; rp5b6.ToolTip = "Option Muros56."; // 93. Adicionar LongDescritption :: rp5b4.LongDescription = "Detailed explanation of the Option Muros54."; rp5b5.LongDescription = "Detailed explanation of the Option Muros55."; rp5b6.LongDescription = "Detailed explanation of the Option Muros56."; // 94. Adicionar ícono : aquí no admite .Image rp5b4.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp5b5.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp5b6.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); // 95. ContextualHelp : ContextualHelp ch54 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch55 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch56 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 96. Set ContextualHelp : rp5b4.SetContextualHelp(ch54); rp5b5.SetContextualHelp(ch55); rp5b6.SetContextualHelp(ch56); // 97. Integrar PushButtons a SplitButton SplitButtonData sb5 = new SplitButtonData("sb5", "Split"); //este último texto Split: se visualiza si no hay items. SplitButton sb55 = rp5.AddItem(sb5) as SplitButton; sb55.AddPushButton(rp5b4); sb55.AddPushButton(rp5b5); sb55.AddPushButton(rp5b6); //ADICIONAR SplitButton // 91. Crear PushButtons para SplitButton: rp6 PushButtonData rp6b4 = new PushButtonData ("rp6b4", "Comunal64", assembly, "Prueba1.Comunal64"); PushButtonData rp6b5 = new PushButtonData ("rp6b5", "Comunal65", assembly, "Prueba1.Comunal65"); PushButtonData rp6b6 = new PushButtonData ("rp6b6", "Comunal66", assembly, "Prueba1.Comunal66"); // 92. Adicionar tooltip : rp6b4.ToolTip = "Option Comunal64."; rp6b5.ToolTip = "Option Comunal65."; rp6b6.ToolTip = "Option Comunal66."; // 93. Adicionar LongDescritption :: rp6b4.LongDescription = "Detailed explanation of the Option Comunal64."; rp6b5.LongDescription = "Detailed explanation of the Option Comunal65."; rp6b6.LongDescription = "Detailed explanation of the Option Comunal66."; // 94. Adicionar ícono : aquí no admite .Image rp6b4.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp6b5.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp6b6.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); // 95. ContextualHelp : ContextualHelp ch64 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch65 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch66 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 96. Set ContextualHelp : rp6b4.SetContextualHelp(ch64); rp6b5.SetContextualHelp(ch65); rp6b6.SetContextualHelp(ch66); // 97. Integrar PushButtons a SplitButton SplitButtonData sb6 = new SplitButtonData("sb6", "Split"); //este último texto Split: se visualiza si no hay items. SplitButton sb66 = rp6.AddItem(sb6) as SplitButton; sb66.AddPushButton(rp6b4); sb66.AddPushButton(rp6b5); sb66.AddPushButton(rp6b6); //10 RibbonPanel con ComboBox : 4 AddStackedButtons4(rp4); //10 RibbonPanel con ComboBox : 5 AddStackedButtons5(rp5); //10 RibbonPanel con ComboBox : 6 AddStackedButtons6(rp6); return Result.Succeeded; }//fin OnStartUp //Inicio código AddStackedButtons // ComboBox4 private void AddStackedButtons4(RibbonPanel rp4) { // 3. Crear 2 PushButtons y un ComboBox PushButtonData rp4b16 = new PushButtonData ("rp4b16", "Frentes416", @rut1, "Prueba1.Frentes416"); // 4. Adicionar tooltip : rp4b16.ToolTip = "Option Frentes416."; rp4b16.LongDescription = "Detailed explanation of the Option Frentes416."; // 5. Adicionar ícono : rp4b16.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp ch416 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp4b16.SetContextualHelp(ch416); // ComboBox4 ComboBoxData rp4cb4 = new ComboBoxData ("comboBox"); IList stackedItems = rp4.AddStackedItems(rp4b16, rp4cb4); //orden ubicación de los 3 botones: debe coincidir con orden de 3 siguientes if (stackedItems.Count > 1) { PushButton Rp4b16 = stackedItems[0] as PushButton; ComboBox cb4 = stackedItems[1] as ComboBox; if (cb4 != null) { //CB posición del Combo dentro de los 3 Push, en este caso pos 1 cb4.ItemText = "Finishes"; cb4.ToolTip = "Substrates/Tiles"; cb4.LongDescription = "Depending on the environment, it will have 1 or 2 tiles."; //Grupo reset/Cancelar //op = opción para Reset: podría suprimirse el grupo. La pongo porque la que se usa queda como def y no podría usarse de nuevo si está como def ComboBoxMemberData reset = new ComboBoxMemberData("reset", "Cancel"); reset.Image = new BitmapImage(new Uri(img + "td1_16.png")); //=datobr&$M$14&$G$2&$F$3&datobrT&$F$4&" //tít de grupo.. no indispemsable aquí" cb4.AddItem(reset); //Grupo1 : 3 ComboBoxMemberData rp4g1i1 = new ComboBoxMemberData("rp4g1i1", "Estucos1"); ComboBoxMemberData rp4g1i2 = new ComboBoxMemberData("rp4g1i2", "Estucos2"); ComboBoxMemberData rp4g1i3 = new ComboBoxMemberData("rp4g1i3", "Estucos3"); rp4g1i1.GroupName = "Estucos"; rp4g1i2.GroupName = "Estucos"; rp4g1i3.GroupName = "Estucos"; // 4. Adicionar tooltip : rp4g1i1.ToolTip = "Option Estucos1."; rp4g1i2.ToolTip = "Option Estucos2."; rp4g1i3.ToolTip = "Option Estucos3."; rp4g1i1.LongDescription = "Detailed explanation of the Estucos1."; rp4g1i2.LongDescription = "Detailed explanation of the Estucos2."; rp4g1i3.LongDescription = "Detailed explanation of the Estucos3."; // 5. Adicionar ícono : rp4g1i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp4g1i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp4g1i3.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp4g1i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp4g1i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp4g1i3 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp4g1i1.SetContextualHelp(chrp4g1i1); rp4g1i2.SetContextualHelp(chrp4g1i2); rp4g1i3.SetContextualHelp(chrp4g1i3); // Adicionar Items al ComBox cb4.AddItem(rp4g1i1); cb4.AddItem(rp4g1i2); cb4.AddItem(rp4g1i3); //Grupo2 : 2 ComboBoxMemberData rp4g2i1 = new ComboBoxMemberData("rp4g2i1", "Pinturas1"); ComboBoxMemberData rp4g2i2 = new ComboBoxMemberData("rp4g2i2", "Pinturas2"); rp4g2i1.GroupName = "Pinturas"; rp4g2i2.GroupName = "Pinturas"; // 4. Adicionar tooltip : rp4g2i1.ToolTip = "Option Pinturas1."; rp4g2i2.ToolTip = "Option Pinturas2."; rp4g2i1.LongDescription = "Detailed explanation of the Option Pinturas1."; rp4g2i2.LongDescription = "Detailed explanation of the Option Pinturas2."; // 5. Adicionar ícono : rp4g2i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp4g2i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp4g2i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp4g2i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp4g2i1.SetContextualHelp(chrp4g2i1); rp4g2i2.SetContextualHelp(chrp4g2i2); // Adicionar Items al ComBox cb4.AddItem(rp4g2i1); cb4.AddItem(rp4g2i2); //fin gr2 cb4.CurrentChanged += new EventHandler(cb4_CurrentChanged); }//fin if cb4 }//fin stackedItems.count de rp4 } //fin AddStackedButtons4 private void cb4_CurrentChanged(object sender, ComboBoxCurrentChangedEventArgs e) { ComboBox combodata = sender as ComboBox; ComboBoxMember member = combodata.Current; //="TaskDialog.Show("""&dato20&""", ""Su selección fué : "" + member.ItemText); //podría ser member.Name" string itemG1 = member.ItemText; //nom visible if (itemG1 == "Estucos1") {Estucos1(e.Application); } if (itemG1 == "Estucos2") {Estucos2(e.Application); } if (itemG1 == "Estucos3") {Estucos3(e.Application); } string itemG2 = member.Name; //nom interno if (itemG2 == "rp4g2i1") {Pinturas1(e.Application); } if (itemG2 == "rp4g2i2") {Pinturas2(e.Application); } //No usual : código en Command.cs (conservado como ej. de tarea secundaria con mismo comando) if (itemG2 == "rp4g2i1") {Command.Pinturas1(e.Application); } if (itemG2 == "rp4g2i2") {Command.Pinturas2(e.Application); } } //CB-gr1 : Código items (desde App.cs) //Empresa -> Frentes -> Rp4g1i1 : PushButton public void Estucos1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Estucos1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Frentes -> Rp4g1i2 : PushButton public void Estucos2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Estucos2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Frentes -> Rp4g1i3 : PushButton public void Estucos3(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Estucos3", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //CB-gr2 : Código items (desde App.cs) //Empresa -> Frentes -> Rp4g2i1 : PushButton public void Pinturas1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Pinturas1 : tarea1 : rp4g2i1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Frentes -> Rp4g2i2 : PushButton public void Pinturas2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Pinturas2 : tarea1 : rp4g2i2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //fin CurrentChanged, antes de: } //fin Class App o de otro ComboBox //Inicio código AddStackedButtons // ComboBox5 private void AddStackedButtons5(RibbonPanel rp5) { // 3. Crear 2 PushButtons y un ComboBox PushButtonData rp5b16 = new PushButtonData ("rp5b16", "Muros516", @rut1, "Prueba1.Muros516"); // 4. Adicionar tooltip : rp5b16.ToolTip = "Option Muros516."; rp5b16.LongDescription = "Detailed explanation of the Option Muros516."; // 5. Adicionar ícono : rp5b16.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp ch516 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp5b16.SetContextualHelp(ch516); // ComboBox5 ComboBoxData rp5cb5 = new ComboBoxData ("comboBox"); IList stackedItems = rp5.AddStackedItems(rp5b16, rp5cb5); //orden ubicación de los 3 botones: debe coincidir con orden de 3 siguientes if (stackedItems.Count > 1) { PushButton Rp5b16 = stackedItems[0] as PushButton; ComboBox cb5 = stackedItems[1] as ComboBox; if (cb5 != null) { //CB posición del Combo dentro de los 3 Push, en este caso pos 1 cb5.ItemText = "Finishes"; cb5.ToolTip = "Substrates/Tiles"; cb5.LongDescription = "Depending on the environment, it will have 1 or 2 tiles."; //Grupo reset/Cancelar //op = opción para Reset: podría suprimirse el grupo. La pongo porque la que se usa queda como def y no podría usarse de nuevo si está como def ComboBoxMemberData reset = new ComboBoxMemberData("reset", "Cancel"); reset.Image = new BitmapImage(new Uri(img + "td1_16.png")); //=datobr&$M$14&$G$2&$F$3&datobrT&$F$4&" //tít de grupo.. no indispemsable aquí" cb5.AddItem(reset); //Grupo1 : 3 ComboBoxMemberData rp5g1i1 = new ComboBoxMemberData("rp5g1i1", "Alcobas1"); ComboBoxMemberData rp5g1i2 = new ComboBoxMemberData("rp5g1i2", "Alcobas2"); ComboBoxMemberData rp5g1i3 = new ComboBoxMemberData("rp5g1i3", "Alcobas3"); rp5g1i1.GroupName = "Alcobas"; rp5g1i2.GroupName = "Alcobas"; rp5g1i3.GroupName = "Alcobas"; // 4. Adicionar tooltip : rp5g1i1.ToolTip = "Option Alcobas1."; rp5g1i2.ToolTip = "Option Alcobas2."; rp5g1i3.ToolTip = "Option Alcobas3."; rp5g1i1.LongDescription = "Detailed explanation of the Alcobas1."; rp5g1i2.LongDescription = "Detailed explanation of the Alcobas2."; rp5g1i3.LongDescription = "Detailed explanation of the Alcobas3."; // 5. Adicionar ícono : rp5g1i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp5g1i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp5g1i3.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp5g1i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp5g1i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp5g1i3 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp5g1i1.SetContextualHelp(chrp5g1i1); rp5g1i2.SetContextualHelp(chrp5g1i2); rp5g1i3.SetContextualHelp(chrp5g1i3); // Adicionar Items al ComBox cb5.AddItem(rp5g1i1); cb5.AddItem(rp5g1i2); cb5.AddItem(rp5g1i3); //Grupo2 : 2 ComboBoxMemberData rp5g2i1 = new ComboBoxMemberData("rp5g2i1", "Salones1"); ComboBoxMemberData rp5g2i2 = new ComboBoxMemberData("rp5g2i2", "Salones2"); rp5g2i1.GroupName = "Salones"; rp5g2i2.GroupName = "Salones"; // 4. Adicionar tooltip : rp5g2i1.ToolTip = "Option Salones1."; rp5g2i2.ToolTip = "Option Salones2."; rp5g2i1.LongDescription = "Detailed explanation of the Option Salones1."; rp5g2i2.LongDescription = "Detailed explanation of the Option Salones2."; // 5. Adicionar ícono : rp5g2i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp5g2i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp5g2i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp5g2i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp5g2i1.SetContextualHelp(chrp5g2i1); rp5g2i2.SetContextualHelp(chrp5g2i2); // Adicionar Items al ComBox cb5.AddItem(rp5g2i1); cb5.AddItem(rp5g2i2); //fin gr2 cb5.CurrentChanged += new EventHandler(cb5_CurrentChanged); }//fin if cb5 }//fin stackedItems.count de rp5 } //fin AddStackedButtons5 private void cb5_CurrentChanged(object sender, ComboBoxCurrentChangedEventArgs e) { ComboBox combodata = sender as ComboBox; ComboBoxMember member = combodata.Current; //="TaskDialog.Show("""&dato20&""", ""Su selección fué : "" + member.ItemText); //podría ser member.Name" string itemG1 = member.ItemText; //nom visible if (itemG1 == "Alcobas1") {Alcobas1(e.Application); } if (itemG1 == "Alcobas2") {Alcobas2(e.Application); } if (itemG1 == "Alcobas3") {Alcobas3(e.Application); } string itemG2 = member.Name; //nom interno if (itemG2 == "rp5g2i1") {Salones1(e.Application); } if (itemG2 == "rp5g2i2") {Salones2(e.Application); } //No usual : código en Command.cs (conservado como ej. de tarea secundaria con mismo comando) if (itemG2 == "rp5g2i1") {Command.Salones1(e.Application); } if (itemG2 == "rp5g2i2") {Command.Salones2(e.Application); } } //CB-gr1 : Código items (desde App.cs) //Empresa -> Muros -> Rp5g1i1 : PushButton public void Alcobas1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Alcobas1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Muros -> Rp5g1i2 : PushButton public void Alcobas2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Alcobas2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Muros -> Rp5g1i3 : PushButton public void Alcobas3(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Alcobas3", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //CB-gr2 : Código items (desde App.cs) //Empresa -> Muros -> Rp5g2i1 : PushButton public void Salones1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Salones1 : tarea1 : rp5g2i1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Muros -> Rp5g2i2 : PushButton public void Salones2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Salones2 : tarea1 : rp5g2i2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //fin CurrentChanged, antes de: } //fin Class App o de otro ComboBox //Inicio código AddStackedButtons // ComboBox6 private void AddStackedButtons6(RibbonPanel rp6) { // 3. Crear 2 PushButtons y un ComboBox PushButtonData rp6b16 = new PushButtonData ("rp6b16", "Comunal616", @rut1, "Prueba1.Comunal616"); // 4. Adicionar tooltip : rp6b16.ToolTip = "Option Comunal616."; rp6b16.LongDescription = "Detailed explanation of the Option Comunal616."; // 5. Adicionar ícono : rp6b16.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp ch616 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp6b16.SetContextualHelp(ch616); // ComboBox6 ComboBoxData rp6cb6 = new ComboBoxData ("comboBox"); IList stackedItems = rp6.AddStackedItems(rp6b16, rp6cb6); //orden ubicación de los 3 botones: debe coincidir con orden de 3 siguientes if (stackedItems.Count > 1) { PushButton Rp6b16 = stackedItems[0] as PushButton; ComboBox cb6 = stackedItems[1] as ComboBox; if (cb6 != null) { //CB posición del Combo dentro de los 3 Push, en este caso pos 1 cb6.ItemText = "Finishes"; cb6.ToolTip = "Substrates/Tiles"; cb6.LongDescription = "Depending on the environment, it will have 1 or 2 tiles."; //Grupo reset/Cancelar //op = opción para Reset: podría suprimirse el grupo. La pongo porque la que se usa queda como def y no podría usarse de nuevo si está como def ComboBoxMemberData reset = new ComboBoxMemberData("reset", "Cancel"); reset.Image = new BitmapImage(new Uri(img + "td1_16.png")); //=datobr&$M$14&$G$2&$F$3&datobrT&$F$4&" //tít de grupo.. no indispemsable aquí" cb6.AddItem(reset); //Grupo1 : 3 ComboBoxMemberData rp6g1i1 = new ComboBoxMemberData("rp6g1i1", "Paredes1"); ComboBoxMemberData rp6g1i2 = new ComboBoxMemberData("rp6g1i2", "Paredes2"); ComboBoxMemberData rp6g1i3 = new ComboBoxMemberData("rp6g1i3", "Paredes3"); rp6g1i1.GroupName = "Paredes"; rp6g1i2.GroupName = "Paredes"; rp6g1i3.GroupName = "Paredes"; // 4. Adicionar tooltip : rp6g1i1.ToolTip = "Option Paredes1."; rp6g1i2.ToolTip = "Option Paredes2."; rp6g1i3.ToolTip = "Option Paredes3."; rp6g1i1.LongDescription = "Detailed explanation of the Paredes1."; rp6g1i2.LongDescription = "Detailed explanation of the Paredes2."; rp6g1i3.LongDescription = "Detailed explanation of the Paredes3."; // 5. Adicionar ícono : rp6g1i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp6g1i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp6g1i3.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp6g1i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp6g1i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp6g1i3 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp6g1i1.SetContextualHelp(chrp6g1i1); rp6g1i2.SetContextualHelp(chrp6g1i2); rp6g1i3.SetContextualHelp(chrp6g1i3); // Adicionar Items al ComBox cb6.AddItem(rp6g1i1); cb6.AddItem(rp6g1i2); cb6.AddItem(rp6g1i3); //Grupo2 : 2 ComboBoxMemberData rp6g2i1 = new ComboBoxMemberData("rp6g2i1", "Pisos1"); ComboBoxMemberData rp6g2i2 = new ComboBoxMemberData("rp6g2i2", "Pisos2"); rp6g2i1.GroupName = "Pisos"; rp6g2i2.GroupName = "Pisos"; // 4. Adicionar tooltip : rp6g2i1.ToolTip = "Option Pisos1."; rp6g2i2.ToolTip = "Option Pisos2."; rp6g2i1.LongDescription = "Detailed explanation of the Option Pisos1."; rp6g2i2.LongDescription = "Detailed explanation of the Option Pisos2."; // 5. Adicionar ícono : rp6g2i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp6g2i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp6g2i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp6g2i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp6g2i1.SetContextualHelp(chrp6g2i1); rp6g2i2.SetContextualHelp(chrp6g2i2); // Adicionar Items al ComBox cb6.AddItem(rp6g2i1); cb6.AddItem(rp6g2i2); //fin gr2 cb6.CurrentChanged += new EventHandler(cb6_CurrentChanged); }//fin if cb6 }//fin stackedItems.count de rp6 } //fin AddStackedButtons6 private void cb6_CurrentChanged(object sender, ComboBoxCurrentChangedEventArgs e) { ComboBox combodata = sender as ComboBox; ComboBoxMember member = combodata.Current; //="TaskDialog.Show("""&dato20&""", ""Su selección fué : "" + member.ItemText); //podría ser member.Name" string itemG1 = member.ItemText; //nom visible if (itemG1 == "Paredes1") {Paredes1(e.Application); } if (itemG1 == "Paredes2") {Paredes2(e.Application); } if (itemG1 == "Paredes3") {Paredes3(e.Application); } string itemG2 = member.Name; //nom interno if (itemG2 == "rp6g2i1") {Pisos1(e.Application); } if (itemG2 == "rp6g2i2") {Pisos2(e.Application); } //No usual : código en Command.cs (conservado como ej. de tarea secundaria con mismo comando) if (itemG2 == "rp6g2i1") {Command.Pisos1(e.Application); } if (itemG2 == "rp6g2i2") {Command.Pisos2(e.Application); } } //CB-gr1 : Código items (desde App.cs) //Empresa -> Comunal -> Rp6g1i1 : PushButton public void Paredes1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Paredes1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Comunal -> Rp6g1i2 : PushButton public void Paredes2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Paredes2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Comunal -> Rp6g1i3 : PushButton public void Paredes3(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Paredes3", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //CB-gr2 : Código items (desde App.cs) //Empresa -> Comunal -> Rp6g2i1 : PushButton public void Pisos1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Pisos1 : tarea1 : rp6g2i1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> Comunal -> Rp6g2i2 : PushButton public void Pisos2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Pisos2 : tarea1 : rp6g2i2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //fin CurrentChanged, antes de: } //fin Class App o de otro ComboBox } //fin Class App //CODIGO DE CLASES REVIT //Empresa -> Frentes -> Rp4b1 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Frentes41 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Frentes41", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Frentes -> Rp4b2 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Frentes42 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Frentes42", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Frentes -> Rp4b4 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Frentes44 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Frentes44", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Frentes -> Rp4b5 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Frentes45 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Frentes45", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Frentes -> Rp4b6 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Frentes46 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Frentes46", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Frentes -> Rp4b16 : ComboBox [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Frentes416 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Frentes416", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Muros -> Rp5b1 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Muros51 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Muros51", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Muros -> Rp5b2 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Muros52 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Muros52", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Muros -> Rp5b4 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Muros54 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Muros54", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Muros -> Rp5b5 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Muros55 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Muros55", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Muros -> Rp5b6 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Muros56 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Muros56", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Muros -> Rp5b16 : ComboBox [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Muros516 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Muros516", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Comunal -> Rp6b1 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Comunal61 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Comunal61", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Comunal -> Rp6b2 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Comunal62 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Comunal62", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Comunal -> Rp6b4 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Comunal64 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Comunal64", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Comunal -> Rp6b5 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Comunal65 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Comunal65", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Comunal -> Rp6b6 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Comunal66 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Comunal66", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> Comunal -> Rp6b16 : ComboBox [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Comunal616 : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication UIApp = commandData.Application; var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Comunal616", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } } //fin namespace Prueba1