Revit自带的宏功能也是很强大的。我认为宏功能有两个比较大的优势,一个是可以直接保存在项目文件中,即使将文件发送给其他人后,其他人不需要安装其他工具也可以直接使用编写好的宏功能;另外一个是对于一些简单功能的开发或者进行简单的可行性探究时,直接使用宏比使用其他IDE会更直接更方便。
这里记录一个使用C#编写Revit宏的例子。将关键代码复制到ThisDocument中,运行宏后,可以将视图中基于面的电气装置族的立面参数数据赋予到参数名为点位高度共享参数中,用于后续的高度标注。
public void GetHeight()
{
FilteredElementCollector fec=new FilteredElementCollector(Document,ActiveView.Id);
fec.OfCategory(BuiltInCategory.OST_ElectricalFixtures).WhereElementIsNotElementType();
using(Transaction tran=new Transaction(Document,"GetHeight"))
{
tran.Start();
foreach(FamilyInstance fi in fec)
{
var para1 = fi.GetParameters("立面");
var para2 = fi.GetParameters("点位高度");
if(para1.Count>0 && para2.Count>0)
{
para2[0].Set(para1[0].AsDouble());
}
}
tran.Commit();
}
}
微信公众号:xuebim
关注建筑行业BIM发展、研究建筑新技术,汇集建筑前沿信息!
← 微信扫一扫,关注我们+
评论前必须登录!
注册