EaBIM
标题:
【Revit 技巧】根据共享参数来过滤满足条件的对象(代码)
[打印本页]
作者:
萧闫子
时间:
2014-1-9 13:12
标题:
【Revit 技巧】根据共享参数来过滤满足条件的对象(代码)
我们经常会添加自己的参数到对象中,一个参数可以添加到多个类别的对象。2011提供的过滤功能可以用参数的值来进行过滤。 下面代码可以对自定义参数按照参数值进行过滤。 我们经常会添加自己的参数到对象中,一个参数可以添加到多个类别的对象。2011提供的过滤功能可以用参数的值来进行过滤。
下面代码可以对自定义参数按照参数值进行过滤。
using System;
using System.Collections.Generic;
using System.Text;
//using System.Windows.Forms;
using Autodesk.Revit .DB;
using Autodesk.Revit.UI;
using Autodesk.Revit .ApplicationServices;
using Autodesk.Revit.Attributes ;
[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[RegenerationAttribute(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
public class ParamFilterTest : IExternalCommand
{
public Result Execute(
ExternalCommandData commandData,
ref string message,
ElementSet elements)
{
UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Application app = uiapp.Application;
Document doc = uidoc.Document;
Wall wall = uidoc.Selection.PickObject(
Autodesk.Revit.UI.Selection.ObjectType.Element)
.Element as Wall;
Parameter parameter = wall.get_Parameter(
"MyShared");
ParameterValueProvider pvp
= new ParameterValueProvider(parameter.Id);
FilterStringEquals strEquals = new FilterStringEquals();
FilterStringRule sRule = new FilterStringRule(pvp, strEquals, "MyValue", true);
ElementParameterFilter filter
= new ElementParameterFilter(sRule);
FilteredElementCollector collector
= new FilteredElementCollector(doc);
collector.WherePasses(filter);
TaskDialog.Show("count", collector.ToElementIds().Count.ToString());
return Result.Succeeded;
本文转自柏慕进业 QQ2581830551 Q1群212782804 Q2群218790678 电话021-55669058 微博
http://q.weibo.com
作者:
影馨
时间:
2014-2-20 14:32
路过!!! 不发表意见……
作者:
popyfu
时间:
2015-12-1 09:34
学习一下
作者:
妮可
时间:
2016-1-12 09:31
路过~!!!!!!!!!~~~~~~
作者:
EaBIM门户编辑
时间:
2016-1-20 11:21
顶一个
作者:
妮可
时间:
2016-2-23 09:53
顶!d=====( ̄▽ ̄*)b
欢迎光临 EaBIM (https://eabim.net/)
Powered by Discuz! X3.2