>ADN: DEVR3894 
>ADN service level: Professional 
>产品:Revit MEP 2012 
>版本:2012 
>语言:中文 
>操作系统:window7 64bit 
>联系电话:137xxxx1960
>问题标题:关于修改元素参数的问题?
>问题内容: 
上次提问,关于遍历链接文档创建空间的问题。
最终解决办法是:在链接文档的时候选择“原点到原点”
失败的原因就是坐标系没有对正。
这次的问题如下:
我希望在风管连接弯头之前,设置好首选的弯头类型。
1.元素参数如果是int或者double可以直接修改。
如果是ElementId如何知道从哪里得到这些Id
2.如图所示,编辑风管类型。
如何改变T形三通,接头,这样的参数的值。
参考代码:
[Transaction(TransactionMode.Manual)]

[Regeneration(RegenerationOption.Manual)]

public class cmd : IExternalCommand

{

    public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)

    {

        UIDocument uiDoc = cmdData.Application.ActiveUIDocument;

        UIApplication uiApp = cmdData.Application;

        Document doc = uiDoc.Document;

        Selection selection = uiDoc.Selection;

        Transaction ts = new Transaction(doc, "www");

        ts.Start();

        //找个风管类型

        FilteredElementCollector collector = new FilteredElementCollector(doc);

        collector.OfClass(typeof(Duct)).OfCategory(BuiltInCategory.OST_DuctCurves);

        Duct duct = null;

        foreach (Element el in collector)

        {

            duct = el as Duct;

            break;

        }

        //找个弯头类型

        FilteredElementCollector collectorFitting = new FilteredElementCollector(doc);

        collectorFitting.OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_DuctFitting);

        FamilyInstance fitting = null;

        foreach (Element el in collectorFitting)

        {

            fitting = el as FamilyInstance;

            break;

        }

        //

        foreach (Parameter p in duct.DuctType.Parameters)

        {

            if (p.Definition.Name == "首选连接类型")

            {

                p.Set();//p.StorageType为Intger所以用此法修改

            }

            if (p.Definition.Name == "接头")

            {

                p.Set(fitting.Category.Id);//p.StorageType为ElementId

            }

        }

        ts.Commit();

        return Result.Succeeded;

    }

}

url:http://greatverve.cnblogs.com/archive/2012/02/29/revit-api-parameter.html

最新文章

  1. 干货之UICollectionViewFlowLayout自定义排序和拖拽手势
  2. 【poj2983】 Is the Information Reliable?
  3. C++-new操作符
  4. 【Oracle】删除重复记录
  5. 14.4.3.2 Configuring Multiple Buffer Pool Instances 配置多个buffer pool 实例:
  6. EasyUi+Spring Data 实现按条件分页查询
  7. 改进ban冒泡排序
  8. Perl处理和收走子进程(退出状态码和wait)
  9. JS中小数相加相减时出现很长的小数点的解决方式
  10. Zabbix监控中,使用的比较好的动作信息模板
  11. JavaScript进度条(datalist/repeater等多个进度条)
  12. PowerShell 实现批量下载文件
  13. hihoCoder week16 RMQ-ST算法
  14. Android模块化开发、组件化开发;
  15. 【微信小程序】---线上环境搭建
  16. 2018.08.28 洛谷P3345 [ZJOI2015]幻想乡战略游戏(点分树)
  17. centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
  18. 小数第n位:高精度
  19. Nginx - 隐藏或修改版本号
  20. android 自己定义组合控件

热门文章

  1. Ex 5_33 实现一个关于公式长度(其中所有文字总的出现次数)为线性时间的Horn公式可满足性问题_第十次作业
  2. sklearn聚类模型:基于密度的DBSCAN;基于混合高斯模型的GMM
  3. 【python】xsspider零碎知识点
  4. 神经网络,前向传播FP和反向传播BP
  5. laravel migrate 指定执行部分 migration
  6. poj1015 01二维背包
  7. String中根据,(逗号)进行分割
  8. HTTP协议特点
  9. java中final,finally,finalize三个关键字的区别
  10. hdu 1875 给出每个结点的坐标 权值为两点间的距离 (MST)