#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 Prueba { class App : IExternalApplication { private readonly string img ="C:\\TD3\\img\\"; readonly string rut0 = "C:\\Temp\\"; readonly string rut1 = "C:\\TD3\\Prueba\\bin\\Debug\\Prueba.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 : rp1 -> EsquemaEstándar RibbonPanel rp1 = App.CreateRibbonPanel (tabName, "EsquemaEstándar"); // 81. Crear PushButtons: rp1 PushButtonData rp1b1 = new PushButtonData ("rp1b1", "Tit_rp1b1", @rut1, "Prueba.Tit_rp1b1"); PushButtonData rp1b2 = new PushButtonData ("rp1b2", "Tit_rp1b2", @rut1, "Prueba.Tit_rp1b2"); PushButtonData rp1b3 = new PushButtonData ("rp1b3", "Tit_rp1b3", @rut1, "Prueba.Tit_rp1b3"); // 82. Adicionar tooltip : rp1b1.ToolTip = "ToolTip rp1b1."; rp1b2.ToolTip = "ToolTip rp1b2."; rp1b3.ToolTip = "ToolTip rp1b3."; // 83. Adicionar LongDescription : rp1b1.LongDescription = "LongDescription rp1b1."; rp1b2.LongDescription = "LongDescription rp1b2."; rp1b3.LongDescription = "LongDescription rp1b3."; // 84. Aicionar ícono : rp1b1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1b2.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1b3.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 85. ContextualHelp : ContextualHelp ch11 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch12 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch13 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 86. Set ContextualHelp : rp1b1.SetContextualHelp(ch11); rp1b2.SetContextualHelp(ch12); rp1b3.SetContextualHelp(ch13); // 87. Adicionar PushButtons a RibonPanel respectivo projectButtons.AddRange(rp1.AddStackedItems(rp1b1,rp1b2,rp1b3)); //ADICIONAR SplitButton // 91. Crear PushButtons para SplitButton: rp1 PushButtonData rp1b4 = new PushButtonData ("rp1b4", "Tit_rp1b4", assembly, "Prueba.Tit_rp1b4"); PushButtonData rp1b5 = new PushButtonData ("rp1b5", "Tit_rp1b5", assembly, "Prueba.Tit_rp1b5"); PushButtonData rp1b6 = new PushButtonData ("rp1b6", "Tit_rp1b6", assembly, "Prueba.Tit_rp1b6"); PushButtonData rp1b7 = new PushButtonData ("rp1b7", "Tit_rp1b7", assembly, "Prueba.Tit_rp1b7"); // 92. Adicionar tooltip : rp1b4.ToolTip = "ToolTip rp1b4."; rp1b5.ToolTip = "ToolTip rp1b5."; rp1b6.ToolTip = "ToolTip rp1b6."; rp1b7.ToolTip = "ToolTip rp1b7."; // 93. Adicionar LongDescritption :: rp1b4.LongDescription = "LongDescription rp1b4."; rp1b5.LongDescription = "LongDescription rp1b5."; rp1b6.LongDescription = "LongDescription rp1b6."; rp1b7.LongDescription = "LongDescription rp1b7."; // 94. Aicionar ícono : aquí no admite .Image rp1b4.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp1b5.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp1b6.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); rp1b7.LargeImage = new BitmapImage(new Uri(img + "td1_16.png")); // 95. ContextualHelp : ContextualHelp ch14 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch15 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch16 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch17 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); // 96. Set ContextualHelp : rp1b4.SetContextualHelp(ch14); rp1b5.SetContextualHelp(ch15); rp1b6.SetContextualHelp(ch16); rp1b7.SetContextualHelp(ch17); // 97. Integrar PushButtons a SplitButton SplitButtonData sb1 = new SplitButtonData("sb1", "Split"); //este último texto Split: se visualiza si no hay items. SplitButton sb11 = rp1.AddItem(sb1) as SplitButton; sb11.AddPushButton(rp1b4); sb11.AddPushButton(rp1b5); sb11.AddPushButton(rp1b6); sb11.AddPushButton(rp1b7); //10 RibbonPanel con ComboBox : 1 AddStackedButtons1(rp1); return Result.Succeeded; }//fin OnStartUp //Inicio código AddStackedButtons // ComboBox1 private void AddStackedButtons1(RibbonPanel rp1) { // 3. Crear 2 PushButtons y un ComboBox PushButtonData rp1b16 = new PushButtonData ("rp1b16", "Tit_rp1b16", @rut1, "Prueba.Tit_rp1b16"); PushButtonData rp1b17 = new PushButtonData ("rp1b17", "Tit_rp1b17", @rut1, "Prueba.Tit_rp1b17"); // 4. Adicionar tooltip : rp1b16.ToolTip = "ToolTip rp1b16."; rp1b17.ToolTip = "ToolTip rp1b17."; rp1b16.LongDescription = "LongDescription rp1b16."; rp1b17.LongDescription = "LongDescription rp1b17."; // 5. Adicionar ícono : rp1b16.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1b17.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp ch116 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp ch117 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp1b16.SetContextualHelp(ch116); rp1b17.SetContextualHelp(ch117); // ComboBox1 ComboBoxData rp1cb1 = new ComboBoxData ("comboBox"); //ContextualHelp ch1cb1 = new ContextualHelp(ContextualHelpType.Url, " //Chelp: me parece que no es requerido... si se pone no sale //rp1b3.SetContextualHelp(ch1cb1); IList stackedItems = rp1.AddStackedItems(rp1b16, rp1b17, rp1cb1); //orden ubicación de los 3 botones: debe coincidir con orden de 3 siguientes if (stackedItems.Count > 1) { PushButton Rp1b16 = stackedItems[0] as PushButton; PushButton Rp1b17 = stackedItems[1] as PushButton; ComboBox cb1 = stackedItems[2] as ComboBox; if (cb1 != null) { //CB posición del Combo dentro de los 3 Push, en este caso pos 1 cb1.ItemText = "cb1"; cb1.ToolTip = "ToolTip cb1"; cb1.LongDescription = "Long cb1"; //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í" cb1.AddItem(reset); //Grupo1 : 4 ComboBoxMemberData rp1g1i1 = new ComboBoxMemberData("rp1g1i1", "Tit_rp1g1i1"); ComboBoxMemberData rp1g1i2 = new ComboBoxMemberData("rp1g1i2", "Tit_rp1g1i2"); ComboBoxMemberData rp1g1i3 = new ComboBoxMemberData("rp1g1i3", "Tit_rp1g1i3"); ComboBoxMemberData rp1g1i4 = new ComboBoxMemberData("rp1g1i4", "Tit_rp1g1i4"); rp1g1i1.GroupName = "gr1"; rp1g1i2.GroupName = "gr1"; rp1g1i3.GroupName = "gr1"; rp1g1i4.GroupName = "gr1"; // 4. Adicionar tooltip : rp1g1i1.ToolTip = "ToolTip rp1g1i1."; rp1g1i2.ToolTip = "ToolTip rp1g1i2."; rp1g1i3.ToolTip = "ToolTip rp1g1i3."; rp1g1i4.ToolTip = "ToolTip rp1g1i4."; rp1g1i1.LongDescription = "LongDescription rp1g1i1."; rp1g1i2.LongDescription = "LongDescription rp1g1i2."; rp1g1i3.LongDescription = "LongDescription rp1g1i3."; rp1g1i4.LongDescription = "LongDescription rp1g1i4."; // 5. Adicionar ícono : rp1g1i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1g1i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1g1i3.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1g1i4.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp1g1i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp1g1i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp1g1i3 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp1g1i4 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp1g1i1.SetContextualHelp(chrp1g1i1); rp1g1i2.SetContextualHelp(chrp1g1i2); rp1g1i3.SetContextualHelp(chrp1g1i3); rp1g1i4.SetContextualHelp(chrp1g1i4); // Adicionar Items al ComBox cb1.AddItem(rp1g1i1); cb1.AddItem(rp1g1i2); cb1.AddItem(rp1g1i3); cb1.AddItem(rp1g1i4); //Grupo2 : 4 ComboBoxMemberData rp1g2i1 = new ComboBoxMemberData("rp1g2i1", "Tit_rp1g2i1"); ComboBoxMemberData rp1g2i2 = new ComboBoxMemberData("rp1g2i2", "Tit_rp1g2i2"); ComboBoxMemberData rp1g2i3 = new ComboBoxMemberData("rp1g2i3", "Tit_rp1g2i3"); ComboBoxMemberData rp1g2i4 = new ComboBoxMemberData("rp1g2i4", "Tit_rp1g2i4"); rp1g2i1.GroupName = "gr2"; rp1g2i2.GroupName = "gr2"; rp1g2i3.GroupName = "gr2"; rp1g2i4.GroupName = "gr2"; // 4. Adicionar tooltip : rp1g2i1.ToolTip = "ToolTip rp1g2i1."; rp1g2i2.ToolTip = "ToolTip rp1g2i2."; rp1g2i3.ToolTip = "ToolTip rp1g2i3."; rp1g2i4.ToolTip = "ToolTip rp1g2i4."; rp1g2i1.LongDescription = "LongDescription rp1g2i1."; rp1g2i2.LongDescription = "LongDescription rp1g2i2."; rp1g2i3.LongDescription = "LongDescription rp1g2i3."; rp1g2i4.LongDescription = "LongDescription rp1g2i4."; // 5. Adicionar ícono : rp1g2i1.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1g2i2.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1g2i3.Image = new BitmapImage(new Uri(img + "td1_16.png")); rp1g2i4.Image = new BitmapImage(new Uri(img + "td1_16.png")); // 6. ContextualHelp : ContextualHelp chrp1g2i1 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp1g2i2 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp1g2i3 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); ContextualHelp chrp1g2i4 = new ContextualHelp(ContextualHelpType.Url, "https://td3.com.co/"); rp1g2i1.SetContextualHelp(chrp1g2i1); rp1g2i2.SetContextualHelp(chrp1g2i2); rp1g2i3.SetContextualHelp(chrp1g2i3); rp1g2i4.SetContextualHelp(chrp1g2i4); // Adicionar Items al ComBox cb1.AddItem(rp1g2i1); cb1.AddItem(rp1g2i2); cb1.AddItem(rp1g2i3); cb1.AddItem(rp1g2i4); //fin gr2 cb1.CurrentChanged += new EventHandler(cb1_CurrentChanged); }//fin if cb1 }//fin stackedItems.count de rp1 } //fin AddStackedButtons1 private void cb1_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 == "Tit_rp1g1i1") {Tit_rp1g1i1(e.Application); } if (itemG1 == "Tit_rp1g1i2") {Tit_rp1g1i2(e.Application); } if (itemG1 == "Tit_rp1g1i3") {Tit_rp1g1i3(e.Application); } if (itemG1 == "Tit_rp1g1i4") {Tit_rp1g1i4(e.Application); } string itemG2 = member.Name; //nom interno if (itemG2 == "rp1g2i1") {Tit_rp1g2i1(e.Application); } if (itemG2 == "rp1g2i2") {Tit_rp1g2i2(e.Application); } if (itemG2 == "rp1g2i3") {Tit_rp1g2i3(e.Application); } if (itemG2 == "rp1g2i4") {Tit_rp1g2i4(e.Application); } //No usual : código en Command.cs (conservado como ej. de tarea secundaria con mismo comando) if (itemG2 == "rp1g2i1") {Command.Tit_rp1g2i1(e.Application); } if (itemG2 == "rp1g2i2") {Command.Tit_rp1g2i2(e.Application); } if (itemG2 == "rp1g2i3") {Command.Tit_rp1g2i3(e.Application); } if (itemG2 == "rp1g2i4") {Command.Tit_rp1g2i4(e.Application); } } //CB-gr1 : Código items (desde App.cs) //Empresa -> EsquemaEstándar -> Rp1g1i1 : PushButton public void Tit_rp1g1i1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g1i1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> EsquemaEstándar -> Rp1g1i2 : PushButton public void Tit_rp1g1i2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g1i2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> EsquemaEstándar -> Rp1g1i3 : PushButton public void Tit_rp1g1i3(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g1i3", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> EsquemaEstándar -> Rp1g1i4 : PushButton public void Tit_rp1g1i4(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g1i4", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //CB-gr2 : Código items (desde App.cs) //Empresa -> EsquemaEstándar -> Rp1g2i1 : PushButton public void Tit_rp1g2i1(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g2i1 : tarea1 : rp1g2i1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> EsquemaEstándar -> Rp1g2i2 : PushButton public void Tit_rp1g2i2(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g2i2 : tarea1 : rp1g2i2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> EsquemaEstándar -> Rp1g2i3 : PushButton public void Tit_rp1g2i3(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g2i3 : tarea1 : rp1g2i3", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); } //Empresa -> EsquemaEstándar -> Rp1g2i4 : PushButton public void Tit_rp1g2i4(UIApplication UIApp) { var uidoc = UIApp.ActiveUIDocument; var doc = uidoc.Document; var actiV = doc.ActiveView.Name; TaskDialog.Show("Tit_rp1g2i4 : tarea1 : rp1g2i4", "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 -> EsquemaEstándar -> Rp1b1 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b1 : 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("Tit_rp1b1", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b2 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b2 : 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("Tit_rp1b2", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b3 : PushButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b3 : 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("Tit_rp1b3", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b4 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b4 : 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("Tit_rp1b4", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b5 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b5 : 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("Tit_rp1b5", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b6 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b6 : 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("Tit_rp1b6", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b7 : SplitButton [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b7 : 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("Tit_rp1b7", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b16 : ComboBox [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b16 : 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("Tit_rp1b16", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } //Empresa -> EsquemaEstándar -> Rp1b17 : ComboBox [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Tit_rp1b17 : 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("Tit_rp1b17", "UIApp : " + UIApp + "\n doc : " + doc + "\n actiV : " + actiV); return Autodesk.Revit.UI.Result.Succeeded; } } } //fin namespace Prueba