Revit开发编辑族参数

原创 2016年08月29日 12:45:21



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

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


        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<FamilyParameter> 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开发通过API 创建族

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst...

C# revit二次开发 一条语句找到所有的某种实例(一)

coll.OfCategory(BuiltInCategory.OST_Walls).Where(a=>(doc.GetElement(a.GetTypeId())as ElementType).Lo...

RevitAPI: 新建系统族类型并创建族实例

昨天有客户问到如何通过API实现下面的步骤: 1. 新建一个系统族,并修改参数 2. 使用该系统族创建一个族实例,例如创建墙。 回答: 1. 新建族实例我们可以使用ElementType.Duplic...
  • lushibi
  • lushibi
  • 2014年11月27日 13:53
  • 2993

Revit二次开发之“族”操作

风管 - 类别Category 圆形风管 - 族Family T形三通 - 族型号FamilySymbol 画出来 - 族实例FamilyInstance 加载族 [Transa...

Revit开发之参数的修改实例

Revit中的参数修改要通过Parameter的Set方法来设置, 但是Set()里面传的参数类型是和Parameter的类型 有关系的,判断参数类型,可以通过 Parameter.Storage...

Revit开发参数读取

在Revit2014及之前的版本Element的参数获取可以通过         public Parameter get_Parameter(BuiltInParameter parameterI...

<Revit二次开发>把wall参数导入到Excel表格中

#region Namespaces using System; using System.Collections.Generic; using Autodesk.Revit.ApplicationS...
  • hqx2008
  • hqx2008
  • 2012年04月01日 17:19
  • 2395

Building Coder(Revit 二次开发) - 共享类型参数

Building Coder 链接:http://thebuildingcoder.typepad.com/blog/2010/07/shared-type-parameter.html Revit...

Building Coder(Revit 二次开发) - 内置参数名称和LabelUtils类

Building Code 链接:http://thebuildingcoder.typepad.com/blog/2011/08/built-in-parameter-name-and-labelu...

Building Coder(Revit 二次开发) - 为一个共享参数绑定添加一个类别

原文链接:Adding a Category to a Shared Parameter Binding 为一个共享参数绑定添加一个类别(Adding a Category to a Sha...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Revit开发编辑族参数
举报原因:
原因补充:

(最多只允许输入30个字)