Exemplo n.º 1
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            RevitCategory cat = new RevitCategory();

            DA.GetData <RevitCategory>("RevitCategory", ref cat);
            DA.SetDataList("Families", cat.Families);
        }
Exemplo n.º 2
0
 public DirectShape(string name, RevitCategory category, List <Base> baseGeometries, List <Parameter> parameters = null)
 {
     this.name           = name;
     this.category       = category;
     this.baseGeometries = baseGeometries.FindAll(IsValidObject);
     this.parameters     = parameters;
 }
Exemplo n.º 3
0
 public RevitElement(RevitCategory category, string id, string name, string associatedLevel, double associatedLevelElevation, double volume, string materialName, MaterialType material, double density)
 {
     this.Category            = category;
     this.Id                  = id;
     this.Name                = name;
     this.AssociatedLevel     = associatedLevel;
     this.AssociatedElevation = associatedLevelElevation;
     this.Volume              = volume;
     this.MaterialName        = materialName;
     this.Material            = material;
     this.Density             = density;
 }
Exemplo n.º 4
0
 /// <summary>
 /// GWP representation
 /// </summary>
 /// <param name="revitCategory">Revit Category</param>
 /// <param name="materialName">Revit material name</param>
 public GwpData(RevitCategory revitCategory, string materialName)
 {
     Category     = revitCategory;
     MaterialName = materialName;
 }
Exemplo n.º 5
0
 public static string GetBuiltInCategory(RevitCategory c)
 {
     return(BuiltInCategoryNames[(int)c]);
 }
Exemplo n.º 6
0
 /// <summary>
 /// GWP representation
 /// </summary>
 /// <param name="revitCategory">Revit Category</param>
 /// <param name="materialName">Revit material name</param>
 public GwpData(RevitCategory revitCategory, string materialName)
 {
     Category     = revitCategory;
     MaterialName = materialName;
     volumeFactor = 1.00;
 }
Exemplo n.º 7
0
        /// <summary>
        /// Get Revit Families from the active Document
        /// </summary>
        public static RevitFamilyCollection GetFamilies(this Document document)
        {
            // create a new family collection
            Grevit.Types.RevitFamilyCollection familyCollection = new Grevit.Types.RevitFamilyCollection();

            // set up a new category List
            familyCollection.Categories = new List <Grevit.Types.RevitCategory>();

            // Get all WallTypes and add them to the system family category
            #region WallTypes

            FilteredElementCollector collector = new FilteredElementCollector(document).OfClass(typeof(WallType));

            RevitCategory systemFamilies = new RevitCategory()
            {
                Name     = "System Families",
                Families = new List <RevitFamily>()
            };

            RevitFamily wallTypes = new RevitFamily()
            {
                Name  = "Walls",
                Types = new List <string>()
            };

            foreach (WallType wallType in collector.ToElements())
            {
                wallTypes.Types.Add(wallType.Name);
            }

            systemFamilies.Families.Add(wallTypes);
            familyCollection.Categories.Add(systemFamilies);

            #endregion

            // Get all Family Instances and add them to the Grevit Family collection
            #region familyInstances

            FilteredElementCollector familyInstanceCollector = new FilteredElementCollector(document).OfClass(typeof(FamilySymbol));

            foreach (Autodesk.Revit.DB.FamilySymbol familySymbol in familyInstanceCollector.ToElements())
            {
                RevitFamily   family   = null;
                RevitCategory category = null;

                // Check if category already exists
                foreach (RevitCategory revitCategory in familyCollection.Categories)
                {
                    if (revitCategory.Name == familySymbol.Category.Name)
                    {
                        category = revitCategory;
                    }
                }

                // Otherwise create a new category
                if (category == null)
                {
                    category = new RevitCategory()
                    {
                        Name     = familySymbol.Category.Name,
                        Families = new List <RevitFamily>()
                    };

                    familyCollection.Categories.Add(category);
                }

                // Check if Family already exists
                foreach (RevitFamily revitFamily in category.Families)
                {
                    if (revitFamily.Name == familySymbol.FamilyName)
                    {
                        family = revitFamily;
                    }
                }

                // Otherwise create a new one
                if (family == null)
                {
                    family = new RevitFamily()
                    {
                        Name  = familySymbol.FamilyName,
                        Types = new List <string>()
                    };

                    category.Families.Add(family);
                }

                family.Types.Add(familySymbol.Name);
            }

            #endregion

            return(familyCollection);
        }
Exemplo n.º 8
0
 public static string GetBuiltInCategory(RevitCategory c)
 {
     return(List[(int)c]);
 }