Пример #1
0
        public static string OmniClass(this RevitFilePreview revitFilePreview)
        {
            if (revitFilePreview == null)
            {
                return(null);
            }

            return(OmniClass(revitFilePreview.XDocument()));
        }
Пример #2
0
        public static Family Family(this RevitFilePreview revitFilePreview)
        {
            if (revitFilePreview == null)
            {
                return(null);
            }

            return(Family(revitFilePreview, null));
        }
Пример #3
0
        public static Family Family(this RevitFilePreview revitFilePreview, IEnumerable <string> familyTypeNames)
        {
            if (revitFilePreview == null)
            {
                return(null);
            }

            string familyName = revitFilePreview.FamilyName();

            if (string.IsNullOrEmpty(familyName))
            {
                return(null);
            }

            string categoryName = revitFilePreview.CategoryName();

            List <oM.Adapters.Revit.Properties.InstanceProperties> instanceProperties = new List <oM.Adapters.Revit.Properties.InstanceProperties>();

            List <string> familyTypeNameList = revitFilePreview.FamilyTypeNames();

            if (familyTypeNameList != null)
            {
                foreach (string familyTypeName in familyTypeNameList)
                {
                    if (familyTypeNames != null && !familyTypeNames.Contains(familyTypeName))
                    {
                        continue;
                    }

                    oM.Adapters.Revit.Properties.InstanceProperties instanceProps = Create.InstanceProperties(familyName, familyTypeName);
                    instanceProps.CategoryName = categoryName;
                    instanceProperties.Add(instanceProps);
                }
            }

            Family family = new Family {
                PropertiesList = instanceProperties
            };

            RevitIdentifiers identifiers = new RevitIdentifiers("", -1, categoryName, familyName);

            family.Fragments.AddOrReplace(identifiers);

            return(family);
        }
Пример #4
0
        public static FamilyLibrary Append(this FamilyLibrary familyLibrary, IEnumerable <string> paths)
        {
            if (familyLibrary == null)
            {
                return(null);
            }

            List <RevitFilePreview> families = new List <RevitFilePreview>();

            foreach (string path in paths)
            {
                if (familyLibrary.Files != null && familyLibrary.Files.Any(x => x.Path == path))
                {
                    continue;
                }

                RevitFilePreview family = Create.RevitFilePreview(path);
                if (family != null)
                {
                    families.Add(family);
                }
            }

            if (families.Count == 0)
            {
                return(familyLibrary);
            }

            FamilyLibrary newLibrary = familyLibrary.ShallowClone();

            newLibrary.Files = families;

            if (familyLibrary.Files != null)
            {
                newLibrary.Files.AddRange(familyLibrary.Files);
            }

            return(newLibrary);
        }
Пример #5
0
 public static List <string> FamilyTypeNames(this RevitFilePreview revitFilePreview)
 {
     return(revitFilePreview?.FamilyTypeNames?.ToList());
 }
Пример #6
0
 public static string FamilyName(this RevitFilePreview revitFilePreview)
 {
     return(revitFilePreview?.FamilyName);
 }
Пример #7
0
 public static string CategoryName(this RevitFilePreview revitFilePreview)
 {
     return(revitFilePreview?.CategoryName);
 }
Пример #8
0
 public static XDocument XDocument(this RevitFilePreview revitFilePreview)
 {
     return(revitFilePreview?.Path.XDocument());
 }