コード例 #1
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);
                    }
                }
コード例 #2
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);
            }
        }
コード例 #3
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();
                    }
                }
            }
        }
コード例 #4
0
        //******************************************************************************************
        /// <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("");
            }
        }