コード例 #1
0
        /// <summary>
        /// DynamoAddinData constructor.
        /// </summary>
        /// <param name="product">A revit product to target for addin creation.</param>
        /// <param name="latestDynamoFolder">The newest Dynamo version installed on the machine.</param>
        public DynamoAddinData(IRevitProduct product, IDynamoInstall latestDynamoInstall)
        {
            var subfolder = "";

            if (latestDynamoInstall.Folder == DynamoVersions.dynamo_063)
            {
                ClassName    = "Dynamo.Applications.DynamoRevitApp";
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, "DynamoRevit.dll");
            }
            else
            {
                ClassName = "Dynamo.Applications.VersionLoader";
                if (product.VersionString == "Revit2014")
                {
                    subfolder = "Revit_2014";
                }
                else if (product.VersionString == "Revit2015")
                {
                    subfolder = "Revit_2015";
                }
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, subfolder, "DynamoRevitVersionSelector.dll");
            }

            RevitSubfolder = subfolder;
            AddinPath      = Path.Combine(product.AddinsFolder, "Dynamo.addin");
        }
コード例 #2
0
ファイル: Types.cs プロジェクト: tylerputnam/Dynamo
        /// <summary>
        /// Creates DynamoAddinData to generate addin for given Revit product
        /// based on latest Dynamo installed on the system.
        /// </summary>
        /// <param name="revit">Revit Product for which addin to be generated </param>
        /// <param name="dynamos">Dynamo products installed on the system</param>
        /// <param name="dynamoUninstallPath">dynamo path being uninstalled, can be
        /// null or empty string</param>
        /// <returns>DynamoAddinData</returns>
        public static DynamoAddinData Create(IRevitProduct revit, DynamoProducts dynamos, string dynamoUninstallPath)
        {
            //Iterate in reverse order to find the first dynamo that is supported for
            //this revit product
            var products = dynamos.Products.Reverse();

            foreach (var p in products)
            {
                //If the current product is being uninstalled, don't generate addin data
                if (DynamoInstall.PathEquals(p.InstallLocation, dynamoUninstallPath))
                {
                    continue;
                }

                var path = Path.Combine(p.InstallLocation, "DynamoRevit.dll");
                //Should be 0.6.3 only supported for Revit2014
                if (File.Exists(path) && revit.VersionString == "Revit2014")
                {
                    return(new DynamoAddinData(revit, new DynamoInstall(p.InstallLocation)));
                }

                var subfolder = revit.VersionString.Insert(5, "_");
                path = Path.Combine(p.InstallLocation, subfolder, "DynamoRevitVersionSelector.dll");
                if (File.Exists(path))
                {
                    return(new DynamoAddinData(revit, new DynamoInstall(p.InstallLocation)));
                }
            }

            return(null);
        }
コード例 #3
0
ファイル: Types.cs プロジェクト: kiki-zhang/Dynamo
        /// <summary>
        /// DynamoAddinData constructor.
        /// </summary>
        /// <param name="product">A revit product to target for addin creation.</param>
        /// <param name="latestDynamoFolder">The newest Dynamo version installed on the machine.</param>
        public DynamoAddinData(IRevitProduct product, IDynamoInstall latestDynamoInstall)
        {
            var subfolder = "";

            if (latestDynamoInstall.Folder == DynamoVersions.dynamo_063)
            {
                ClassName    = "Dynamo.Applications.DynamoRevitApp";
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, "DynamoRevit.dll");
            }
            else
            {
                ClassName = "Dynamo.Applications.DynamoRevitApp";
                var assemblyName = "DynamoRevitDS.dll";
                switch (product.VersionString)
                {
                case "Revit2014":
                    subfolder    = "Revit_2014";
                    ClassName    = "Dynamo.Applications.VersionLoader";
                    assemblyName = "DynamoRevitVersionSelector.dll";
                    break;

                case "Revit2015":
                    subfolder = "Revit_2015";
                    break;

                case "Revit2016":
                    subfolder = "Revit_2016";
                    break;
                }
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, subfolder, assemblyName);
            }

            RevitSubfolder = subfolder;
            AddinPath      = Path.Combine(product.AddinsFolder, "Dynamo.addin");
        }
コード例 #4
0
        /// <summary>
        /// DynamoAddinData constructor.
        /// </summary>
        /// <param name="product">A revit product to target for addin creation.</param>
        /// <param name="latestDynamoInstall">The newest Dynamo version installed on the machine.</param>
        internal DynamoAddinData(IRevitProduct product, IDynamoInstall latestDynamoInstall)
        {
            //Convert RevitXXXX to Revit_XXXX
            var subfolder = product.VersionString.Insert(5, "_");

            //Pre 0.7.x release
            if (DynamoInstall.PathEquals(latestDynamoInstall.Folder, DynamoVersions.dynamo_063))
            {
                ClassName    = "Dynamo.Applications.DynamoRevitApp";
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, "DynamoRevit.dll");
            }
            else
            {
                ClassName = "Dynamo.Applications.VersionLoader";
                const string assemblyName = "DynamoRevitVersionSelector.dll";

                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, subfolder, assemblyName);
            }

            RevitSubfolder = subfolder;
            AddinPath      = Path.Combine(product.AddinsFolder, "Dynamo.addin");
        }
コード例 #5
0
 /// <summary>
 /// Creates DynamoAddinData to generate addin for given Revit product
 /// based on latest Dynamo installed on the system.
 /// </summary>
 /// <param name="revit">Revit Product for which addin to be generated </param>
 /// <param name="dynRevitDirectory">Current Dynamo Revit Directory</param>
 /// <returns>DynamoAddinData</returns>
 public static DynamoAddinData Create(IRevitProduct revit, string dynRevitDirectory)
 {
     return(new DynamoAddinData(revit, new DynamoInstall(dynRevitDirectory)));
 }
コード例 #6
0
ファイル: Types.cs プロジェクト: rafatahmed/Dynamo
        /// <summary>
        /// Creates DynamoAddinData to generate addin for given Revit product
        /// based on latest Dynamo installed on the system.
        /// </summary>
        /// <param name="revit">Revit Product for which addin to be generated </param>
        /// <param name="dynamos">Dynamo products installed on the system</param>
        /// <param name="dynamoUninstallPath">dynamo path being uninstalled, can be 
        /// null or empty string</param>
        /// <returns>DynamoAddinData</returns>
        public static DynamoAddinData Create(IRevitProduct revit, DynamoProducts dynamos, string dynamoUninstallPath)
        {
            //Iterate in reverse order to find the first dynamo that is supported for
            //this revit product
            var products = dynamos.Products.Reverse();
            foreach (var p in products)
            {
                //If the current product is being uninstalled, don't generate addin data
                if (DynamoInstall.PathEquals(p.InstallLocation, dynamoUninstallPath))
                    continue;

                var path = Path.Combine(p.InstallLocation, "DynamoRevit.dll");
                //Should be 0.6.3 only supported for Revit2014
                if(File.Exists(path) && revit.VersionString == "Revit2014") 
                    return new DynamoAddinData(revit, new DynamoInstall(p.InstallLocation));

                var subfolder = revit.VersionString.Insert(5, "_");
                path = Path.Combine(p.InstallLocation, subfolder, "DynamoRevitVersionSelector.dll");
                if (File.Exists(path))
                    return new DynamoAddinData(revit, new DynamoInstall(p.InstallLocation));
            }

            return null;
        }
コード例 #7
0
ファイル: Types.cs プロジェクト: rafatahmed/Dynamo
        /// <summary>
        /// DynamoAddinData constructor.
        /// </summary>
        /// <param name="product">A revit product to target for addin creation.</param>
        /// <param name="latestDynamoInstall">The newest Dynamo version installed on the machine.</param>
        internal DynamoAddinData(IRevitProduct product, IDynamoInstall latestDynamoInstall)
        {
            //Convert Revit2014 to Revit_2014
            var subfolder = product.VersionString.Insert(5, "_");

            //Pre 0.7.x release
            if (DynamoInstall.PathEquals(latestDynamoInstall.Folder,DynamoVersions.dynamo_063))
            {
                ClassName = "Dynamo.Applications.DynamoRevitApp";
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, "DynamoRevit.dll");
            }
            else
            {
                ClassName = "Dynamo.Applications.VersionLoader";
                const string assemblyName = "DynamoRevitVersionSelector.dll";

                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, subfolder, assemblyName);
            }

            RevitSubfolder = subfolder;
            AddinPath = Path.Combine(product.AddinsFolder, "Dynamo.addin");
        }
コード例 #8
0
ファイル: Types.cs プロジェクト: RobertiF/Dynamo
        /// <summary>
        /// DynamoAddinData constructor.
        /// </summary>
        /// <param name="product">A revit product to target for addin creation.</param>
        /// <param name="latestDynamoFolder">The newest Dynamo version installed on the machine.</param>
        public DynamoAddinData(IRevitProduct product, IDynamoInstall latestDynamoInstall)
        {
            var subfolder = "";
            if (latestDynamoInstall.Folder == DynamoVersions.dynamo_063)
            {
                ClassName = "Dynamo.Applications.DynamoRevitApp";
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, "DynamoRevit.dll");
            }
            else
            {
                ClassName = "Dynamo.Applications.VersionLoader";
                if (product.VersionString == "Revit2014")
                {
                    subfolder = "Revit_2014";
                }
                else if (product.VersionString == "Revit2015")
                {
                    subfolder = "Revit_2015";
                }
                AssemblyPath = Path.Combine(latestDynamoInstall.Folder, subfolder, "DynamoRevitVersionSelector.dll");
            }

            RevitSubfolder = subfolder;
            AddinPath = Path.Combine(product.AddinsFolder, "Dynamo.addin");
        }