Revit开发编辑族参数



注意:只有载入族的才是可以修改的

下面是一个例子:选一个载入族,删掉其中的一个参数


        private void EditFamilyParm()
        {

//选择一个族实例
            Reference re = uidoc.Selection.PickObject(ObjectType.Element);
            Element elem = doc.GetElement(re);


//返回FamilySymbol的Id
            ElementId id = elem.GetTypeId();
            FamilySymbol symbol = doc.GetElement(id) as FamilySymbol;

//返回编辑族的 Document
            Autodesk.Revit.DB.Document fadoc = doc.EditFamily(symbol.Family);


//得到FamilyManager ,关于族参数的操作都在里面
            FamilyManager manager = fadoc.FamilyManager;
            IList faparms = manager.GetParameters();
            MessageBox.Show(faparms.First().Definition.Name);
            Transaction trans = new Transaction(fadoc, "Remove Parameter");
            trans.Start();
            manager.RemoveParameter(faparms.First());
            trans.Commit();
            fadoc.LoadFamily(doc,new Opt());
        }



//这是重新载入族文件时的选项

    public class Opt : IFamilyLoadOptions
    {
        public bool OnFamilyFound(bool familyInUse, out bool overwriteParameterValues)
        {


           overwriteParameterValues = true;
           return true;


        }


        public bool OnSharedFamilyFound(Family sharedFamily, bool familyInUse, out FamilySource source, out bool overwriteParameterValues)
        {
            throw new NotImplementedException();
        }
    }


博主会经常更新一些技术文章,请大家多多关注,多多交流

更多技术交流,请加qq群480950299


你可能感兴趣的:(Revit开发随笔)