>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

关于Revit API修改元素参数的问题?的更多相关文章

  1. Revit API 操作共享参数和项目参数

    1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { Strin ...

  2. Revit API修改链接文件房间边界

    start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] );//设置房间边界     ...

  3. Revit API过滤元素类别(FamilySymbol与FamilyInstance)

    仅OfCategory()过滤的元素包含系统FamilySymbolOfClass(typeof(FamilyInstance))过滤出来文档中族实例. ;         ;         ;   ...

  4. Revit API修改保温层厚度

    start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] ;, newLayer); ...

  5. Revit API射线法读取空间中相交的元素

    Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd  ...

  6. tween.js是一款可生成平滑动画效果的js动画库。tween.js允许你以平滑的方式修改元素的属性值。它可以通过设置生成各种类似CSS3的动画效果。

    简要教程 tween.js是一款可生成平滑动画效果的js动画库.相关的动画库插件还有:snabbt.js 强大的jQuery动画库插件和Tweene-超级强大的jQuery动画代理插件. tween. ...

  7. JavaScript--DOM修改元素的属性

    一旦你获得了要修改的元素,可以有2种方式,来读取和修改它的属性:一种老的方式(它被更多的用户代理所支持)和一种新的DOM方法的方式.老的和新的用户代理都允许你以对象属性的方式获取和设置元素的属性. 先 ...

  8. 【转】【WPF】 WPF 调用API修改窗体风格实现真正的无边框窗体

    WPF中设置无边框窗体似乎是要将WindowStyle设置为None,AllowTransparency=true,这样才能达到WinForm中无边框窗体的样式.但是AllowTransparency ...

  9. jQuery选择器对应的DOM API ——选择元素

    英文原文:http://blog.garstasio.com/you-dont-need-jquery/selectors/愚人码头注: 原作者的写这文章的意图是让我们抛弃jQuery,You Don ...

随机推荐

  1. webpack-clean-webpack-plugin

    在webpack中打包生成的文件会覆盖之前的文件,不过生成文件的时候文件名加了hash之后会每次都生成不一样的文件,这就会很麻烦,不但会生成很多冗余的文件,还很难搞清楚到底是哪个文件,这就需要引入该插 ...

  2. 【python】已安装模块提示ImportError: No module named

    今天遇到了一个问题,运行代码时出现错误 Traceback (most recent call last): File , in <module> import zmq ImportErr ...

  3. 性能测试二十八:环境部署之Dubbo部署

    Zookeeper部署 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一 ...

  4. python 全栈开发,Day21(抽象类,接口类,多态,鸭子类型)

    一.昨日复习 派生方法和派生属性 super 只有在子父类拥有同名方法的时候, 想使用子类的对象调用父类的方法时,才使用super super在类内 : super().方法名(arg1,..) 指名 ...

  5. 2018-2019-2 网络对抗技术 20165333 Exp1 PC平台逆向破解

    1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串.该程序同 ...

  6. Could not find com.android.tools.build:aapt2:3.2.0-alpha14-4748712.

    https://blog.csdn.net/lx6101989/article/details/80334232 android studio 升级到了3.0 取消了apt 报了这个错 在最上级的bu ...

  7. C#学习网站收集

    1. 大名鼎鼎的CodeGuru 号称代码领头羊 非常著名的关于程序开发的网站,大量的资料.强烈推荐 http://www.codeguru.com/ - 外文 2. Developer.com: A ...

  8. Flink(二)CentOS7.5搭建Flink1.6.1分布式集群

    一. Flink的下载 安装包下载地址:http://flink.apache.org/downloads.html  ,选择对应Hadoop的Flink版本下载 [admin@node21 soft ...

  9. optional

    public class Test { public static void main(String[] args) { People people = new People(); Optional& ...

  10. Kubernetes学习系列

    这段时间项目组内想要引入Kubernetes,作为第二代容器调度引擎,故最近在系统的学习Kubernetes.整理了一些学习笔记,心得,放到博客中,一来记录自己的学习经过,二来看能否帮到有需要的同学. ...