/// <summary> /// Executes the extension. /// </summary> public bool Run() #endif { try { AppRef = new Application(); REXContext context = new REXContext(); context.Control.Mode = REXMode.Dialog; context.Control.ControlMode = REXControlMode.ModalDialog; #if (REVIT) PresetContext(ref commandData, ref message, ref elements, ref context); #else context.Product.Type = REXInterfaceType.None; #endif Transaction tran = new Transaction(commandData.Application.ActiveUIDocument.Document, "REX.ContentGeneratorWPF transaction"); tran.Start(); REXEnvironment Env = new REXEnvironment(REX.Common.REXConst.ENG_DedicatedVersionName); if (Env.LoadEngine(ref context)) { if (AppRef.Create(ref context)) { AppRef.Show(); #if (REVIT) } } tran.Commit(); if (context.Extension.Result == REXResultType.None || context.Extension.Result == REXResultType.Succeeded) { return(Result.Succeeded); } else if (context.Extension.Result == REXResultType.Cancelled) { return(Result.Cancelled); } else { return(Result.Failed); } #else return(true); } }
/// <summary> /// Executes the extension. /// </summary> /// <param name="commandData">The command data.</param> /// <param name="message">The message.</param> /// <param name="elements">The elements.</param> /// <returns>Returns execution result.</returns> public Result Execute(Autodesk.Revit.UI.ExternalCommandData commandData, ref string message, ElementSet elements) { try { AppRef = new Application(); REXContext context = new REXContext(); context.Control.Mode = REXMode.Dialog; context.Control.ControlMode = REXControlMode.ModalDialog; PresetContext(ref commandData, ref message, ref elements, ref context); Transaction tran = new Transaction(commandData.Application.ActiveUIDocument.Document, "REX.AREXTemplate transaction"); tran.Start(); REXEnvironment Env = new REXEnvironment(REXConst.ENG_DedicatedVersionName); if (Env.LoadEngine(ref context)) { if (AppRef.Create(ref context)) { AppRef.Show(); } } tran.Commit(); if (context.Extension.Result == REXResultType.None || context.Extension.Result == REXResultType.Succeeded) { return(Result.Succeeded); } else if (context.Extension.Result == REXResultType.Cancelled) { return(Result.Cancelled); } else { return(Result.Failed); } } catch (Exception ex) { message = ex.Message; return(Result.Failed); } }
static void RunExtension(string FullPath, string VersionName) { REXApplicationInstance applicationInstance = new REXApplicationInstance(); if (applicationInstance.LoadExtension(FullPath, "REX.ContentGeneratorWPF.Application")) { REXContext context = new REXContext(); context.Control.Mode = REXMode.Dialog; context.Control.ControlMode = REXControlMode.ModalDialog; context.Product.Type = REXInterfaceType.Common; context.Control.Parent = null; REXEnvironment environment = new REXEnvironment(VersionName); if (environment.LoadEngine(ref context)) { if (applicationInstance.Extension.Create(ref context)) { applicationInstance.Extension.Show(); } } } }
//****************************************************************************************** /// <summary> /// reading layer map from txt file in Configuration directory /// </summary> private string GetLayMap(string argLayMap) { string Dir = m_CommandData.Application.ActiveUIDocument.Document.GetType().Assembly.Location; string DirProgram = Directory.GetParent(Dir).FullName; string DirData = Directory.GetParent(DirProgram).FullName + "\\Data"; REXEnvironment Env = new REXEnvironment(REXConst.ENG_DedicatedVersionName); string path = Env.GetModulePath(REXEnvironment.PathType.Configuration, ThisExtension.ThisApplication.Context.Name); string pathDirMap; switch (argLayMap) { case "AIA": pathDirMap = DirData + "\\exportlayers-dwg-AIA.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { pathDirMap = path + "\\exportlayers-dwg-AIA.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { return(""); } } case "BS1192": pathDirMap = DirData + "\\exportlayers-dwg-BS1192.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { pathDirMap = path + "\\exportlayers-dwg-BS1192.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { return(""); } } case "ISO13567": pathDirMap = DirData + "\\exportlayers-dwg-ISO13567.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { pathDirMap = path + "\\exportlayers-dwg-ISO13567.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { return(""); } } case "CP38": pathDirMap = DirData + "\\exportlayers-dwg-CP83.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { pathDirMap = path + "\\exportlayers-dwg-CP83.txt"; if (File.Exists(pathDirMap)) { return(pathDirMap); } else { return(""); } } default: pathDirMap = ""; return(""); } }