Exemple #1
0
 public static Autodesk.Revit.DB.CategorySet GetCategorySet(this List <Autodesk.Revit.DB.BuiltInCategory> bics)
 {
     Autodesk.Revit.DB.CategorySet cateSet = new Autodesk.Revit.DB.CategorySet();
     foreach (var item in bics)
     {
         cateSet.Insert(item.GetBuiltinCategory());
     }
     return(cateSet);
 }
Exemple #2
0
        public static List <Autodesk.Revit.DB.BuiltInCategory> GetBuiltinCategories(this Autodesk.Revit.DB.CategorySet cateSet)
        {
            List <Autodesk.Revit.DB.BuiltInCategory> bics = new List <Autodesk.Revit.DB.BuiltInCategory>();

            foreach (Autodesk.Revit.DB.Category item in cateSet)
            {
                bics.Add((Autodesk.Revit.DB.BuiltInCategory)item.Id.IntegerValue);
            }
            return(bics);
        }
Exemple #3
0
 public bool IsCommandAvailable(UIApplication applicationData,
                                Autodesk.Revit.DB.CategorySet selectedCategories)
 {
     Autodesk.Revit.DB.View activeView = applicationData.ActiveUIDocument.Document.ActiveView;
     if (Autodesk.Revit.DB.ViewType.ThreeD == activeView.ViewType)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #4
0
 public bool IsCommandAvailable(UIApplication applicationData,
                                Autodesk.Revit.DB.CategorySet selectedCategories)
 {
     System.Collections.IEnumerator iterCategory = selectedCategories.GetEnumerator();
     iterCategory.Reset();
     while (iterCategory.MoveNext())
     {
         Autodesk.Revit.DB.Category category = (Autodesk.Revit.DB.Category)(iterCategory.Current);
         if (category.Name == "Walls")
         {
             return(false);
         }
     }
     return(true);
 }
        public bool IsCommandAvailable(UIApplication applicationData,
                                       Autodesk.Revit.DB.CategorySet selectedCategories)
        {
            Application        revitApplication = applicationData.Application;
            ApplicationOptions options          = ApplicationOptions.Get();

            switch (options.Availability)
            {
            case ApplicationAvailablity.ArchitectureDiscipline:
                return(revitApplication.IsArchitectureEnabled);

            case ApplicationAvailablity.StructuralAnalysis:
                return(revitApplication.IsStructuralAnalysisEnabled);

            case ApplicationAvailablity.MEP:
                return(revitApplication.IsSystemsEnabled);
            }
            return(true);
        }
 public bool IsCommandAvailable(UIApplication applicationData,
                                Autodesk.Revit.DB.CategorySet selectedCategories)
 {
     return(true);
 }
Exemple #7
0
        public Autodesk.Revit.UI.Result Execute(Autodesk.Revit.UI.ExternalCommandData commandData,
                                                ref string message, Autodesk.Revit.DB.ElementSet elements)
        {
            System.Diagnostics.Trace.Listeners.
            Add(new System.Diagnostics.EventLogTraceListener("Application"));

            Autodesk.Revit.UI.UIDocument uidoc = commandData.Application.ActiveUIDocument;
            Autodesk.Revit.DB.Document   doc   = uidoc.Document;


            try {
                // set the location of a new .txt file
                string filePath = System.Environment
                                  .GetFolderPath(Environment.SpecialFolder.Personal) +
                                  "\\" + doc.Title + ".txt";

                // Create the .txt file containing shared parameter definitions
                using (System.IO.Stream s = System.IO.File.Create(filePath)) {
                    s.Close();
                }

                // set the file as a shared parameter source file to the application
                doc.Application.SharedParametersFilename = filePath;

                // Get access to the file
                Autodesk.Revit.DB.DefinitionFile defFile =
                    doc.Application.OpenSharedParameterFile();

                // Create a new group called 'ReadOnly'
                Autodesk.Revit.DB.DefinitionGroup defGroup =
                    defFile.Groups.Create("ReadOnly");

                // Create a new defintion
                Autodesk.Revit.DB.ExternalDefinitionCreationOptions defCrtOptns =
                    new Autodesk.Revit.DB.ExternalDefinitionCreationOptions
                        ("RM_BLOCK", Autodesk.Revit.DB.ParameterType.Text);
                defCrtOptns.UserModifiable = false;
                defCrtOptns.Visible        = true;

                // Insert the definition into the group
                Autodesk.Revit.DB.Definition def =
                    defGroup.Definitions.Create(defCrtOptns);

                // Lay out the categories to which the param
                // will be bound
                Autodesk.Revit.DB.CategorySet catSet =
                    new Autodesk.Revit.DB.CategorySet();
                catSet.Insert(doc.Settings.Categories
                              .get_Item(Autodesk.Revit.DB.BuiltInCategory.OST_Rooms));

                // Define a binding type
                Autodesk.Revit.DB.InstanceBinding instBnd =
                    new Autodesk.Revit.DB.InstanceBinding(catSet);

                // Bind the parameter to the active document
                using (Autodesk.Revit.DB.Transaction t =
                           new Autodesk.Revit.DB.Transaction(doc)) {
                    t.Start("Add Param");
                    Autodesk.Revit.DB.SubTransaction st =
                        new Autodesk.Revit.DB.SubTransaction(doc);
                    doc.ParameterBindings.Insert
                        (def, instBnd, Autodesk.Revit.DB.BuiltInParameterGroup.PG_DATA);
                    t.Commit();
                }

                Autodesk.Revit.DB.DefinitionBindingMapIterator itr =
                    doc.ParameterBindings.ForwardIterator();

                //
                while (itr.MoveNext())
                {
                    Autodesk.Revit.DB.InternalDefinition intDef = itr.Current as
                                                                  Autodesk.Revit.DB.InternalDefinition;
                }

                Autodesk.Revit.UI.TaskDialog.Show("Success",
                                                  string.Format("The parameter called {0} has been successfully added to the document",
                                                                def.Name));

                return(Autodesk.Revit.UI.Result.Succeeded);
            }
            catch (Autodesk.Revit.Exceptions.OperationCanceledException) {
                return(Autodesk.Revit.UI.Result.Cancelled);
            }
            catch (System.Exception ex) {
                Autodesk.Revit.UI.TaskDialog.Show("Exception",
                                                  string.Format("{0}\n{1}", ex.Message, ex.StackTrace));
                return(Autodesk.Revit.UI.Result.Failed);
            }
        }