Example #1
0
 public bool Modal(ref REXContext AppContext)
 {
     if (AppContext.Extension.Name == null || AppContext.Extension.Name == "")
     {
         AppContext.Extension.Name = Assembly.GetExecutingAssembly().GetName().Name;
     }
     return(this.ApplicationRef.Modal(ref AppContext));
 }
Example #2
0
        /// <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);
                    }
                }
Example #3
0
        /// <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);
            }
        }
Example #4
0
        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();
                    }
                }
            }
        }
Example #5
0
 public bool Modal(REXContext AppContext)
 {
     return(this.Modal(ref AppContext));
 }
Example #6
0
 public bool Create(REXContext AppContext)
 {
     return(this.Create(ref AppContext));
 }