Exemplo n.º 1
0
        /// <summary>
        /// 弹出配置框
        /// </summary>
        /// <param name="ent"></param>
        public void SetMulFamily(FamilyEnt ent)
        {
            if (ent == null)
            {
                TaskDialog.Show("提示", "请选择族");
                return;
            }
            _selFamily = ent;
            List <string>            roomNames  = new List <string>();
            FilteredElementCollector collector  = new FilteredElementCollector(_doc);
            List <Element>           collection = collector.OfClass(typeof(SpatialElementTag)).ToList();

            foreach (Element elem in collector)
            {
                if (elem is RoomTag)
                {
                    RoomTag roomTag = elem as RoomTag;
                    roomNames.Add(roomTag.Room.Name);
                }
            }
            FrmSetFamilyViewModel vm = new FrmSetFamilyViewModel(roomNames);

            vm.SetConfig = SetConfig;
            FrmSetFamilyView frm = new FrmSetFamilyView(vm);

            frm.ShowDialog();
        }
Exemplo n.º 2
0
 /// <summary>
 /// 加载族文件
 /// </summary>
 /// <param name="doc"></param>
 /// <param name="familyName"></param>
 /// <returns></returns>
 private Family FindAndLoadFamily(Document doc, FamilyEnt ent)
 {
     try
     {
         Family family = null;
         //查找是否已经载入族
         FilteredElementCollector collector  = new FilteredElementCollector(doc);
         ICollection <Element>    collection = collector.OfClass(typeof(Family)).ToElements();
         foreach (Element e in collection)
         {
             Family fam = e as Family;
             if (fam != null)
             {
                 if (fam.Name == ent.FileName)
                 {
                     family = fam;
                     break;
                 }
             }
         }
         //载入族文件
         if (family == null)
         {
             _doc.LoadFamily(ent.FilePath, new FamilyLoadOptions(), out family);
         }
         return(family);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Exemplo n.º 3
0
        private void InitData()
        {
            FamilyList = new List <FamilyEnt>();
            FamilyEnt ent = new FamilyEnt()
            {
                Id       = Guid.NewGuid(),
                FileName = Path.GetFileNameWithoutExtension(@"E:\Revit二次开发\做族\族达人速成光盘内容(2013)\4.族创建实例\4.3家具族\单人沙发.rfa"),
                FilePath = @"E:\Revit二次开发\做族\族达人速成光盘内容(2013)\4.族创建实例\4.3家具族\单人沙发.rfa"
            };
            FamilyEnt ent2 = new FamilyEnt()
            {
                Id       = Guid.NewGuid(),
                FileName = Path.GetFileNameWithoutExtension(@"E:\Revit二次开发\简易参变族.rfa"),
                FilePath = @"E:\Revit二次开发\简易参变族.rfa"
            };

            FamilyList.Add(ent);
            FamilyList.Add(ent2);
        }