Revit二次开发,获取族的实例参数和类型参数

更新时间:2023-06-20 22:50:09 阅读: 评论:0

Revit⼆次开发,获取族的实例参数和类型参数在Revit中,如何获取族的实例参数和类型参数?这两种的获取⽅式有些区别。
⼀、实例参数
如上图,左侧的是实例参数,我们如何取“标⾼”这个参数呢?
答:直接使⽤LookupParameter⽅法即可实现。
Element element = new Element();
血型rh阳性是什么意思var parameter = element.LookupParameter("标⾼");
关于黄山的诗句var value = parameter.AsValueString();
⼆、类型参数
这个有点⼩⿇烦,不过我们可以通过下⾯的⽅式来查找⼀个族的类型参数,然后再去编写代码。
1.选中⼀个图元后,我们使⽤Revit Lookup查看器去看⼀下参数
2.找到GetValidTypes,点进去
3.注意看下图的2个红圈,左上⾓的表⽰它的类型,右边的则表⽰可以获取Parameters参数。注意左上⾓的红圈类型,是因为我们写代码的时候要⽤。
项目开发计划书4.进⼊Parameters后,我们就会看到所有的类型参数了。这样,我们就可以有办法写出对应的程序代码。
5.编写获取类型参数的程序代码
Element element = new Element();
var types = element.GetValidTypes();
皮蛋怎么凉拌foreach (var elementId in types)
{
var familySymbol = this.Document.GetElement(elementId) as FamilySymbol;
var parameter = familySymbol.LookupParameter("带宽");
}
三、终极办法
太上老君的师傅为什么叫“实例参数”?为什么叫“类型参数”?
实例参数,就是它是⼀个图元的实例对象,转到C#就是被new了⼀下。
类型参数,就是它本⾝为该图元的参数,不需要new,你就可以直接⽤,所以,它的影响是全局的,凡是使⽤该图元来new的对象,都会受到影响。
好的,基于上⾯的2条论点,可能没有那么准确,但意思你⼤概明⽩了:
⼀个是new⼀下对象后给参数赋值,另⼀个是不new,就直接给参数赋值,赋完后才被⼈new。
终极代码编写:
//1.假设instance是你使⽤Revit⾃带的NewFamilyInstance⽅法new⼀下出来的“实例”对象
佳能全画幅
var instance = this.Document.Create.NewFamilyInstance(point, bracketSymbol, level, StructuralType.NonStructural);
//2.那么,给instance这个实例对象的任何参数赋值,等同于就是“实例参数”。
var parameter = instance.LookupParameter("⽀腿⾓度");
parameter.Set(100);
//3.如果给instance这个实例对象的Symbol类型赋值,则等同于就是“类型参数”
信心近义词var parameter1 = instance.Symbol.LookupParameter("⽀腿⾓度");
parameter1.Set(100);
高考模式于是,不管你是实例参数,不是类型参数,都可以⽤上⾯代码两三句搞定。
祝您⽤餐愉快。

本文发布于:2023-06-20 22:50:09,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1001598.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:参数   类型   实例   获取   对象   代码   阳性   意思
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图