revit二次开发——内部命令

本文介绍了Revit API中的FilterDialogClass,可用于创建和编辑过滤器元素,简化了过滤器的实现过程。同时,还讨论了FilterCategoryRuleClass及FamilyElementVisibility的使用方法,帮助开发者更好地控制模型元素的显示。

1.PostableCommand Enumeration

枚举API应用程序可以发布的所有内置命令。

2.FilterDialog Class

允许显示用于在Autodesk Revit中创建和编辑FilterElements的对话框。

Revit可以给视图添加过滤器的功能,这个添加过滤器,有一个比较完善的界面,可以添加各种各样的过滤器,

 API里也可调用这个界面了,为API创建过滤器提供了不少方便。

下面是一个简单的例子,

用这个FilterDialog个当前视图添加一个过滤器:

            Document doc = commandData.Application.ActiveUIDocument.Document;
            FilterDialog myDialog = new FilterDialog(doc, "test");
            myDialog.Show();
            ElementId filterId = myDialog.NewFilterId;


            View v = doc.ActiveView;
            Transaction trans = new Transaction(doc, "test");
            trans.Start();
            v.AddFilter(filterId);
            trans.Commit();

3.FilterCategoryRule Class

匹配一组类别中的元素的筛选规则

4.FamilyElementVisibility 

提供一组属性用于控制元素在指定细节层或者视图中是否被显示。这些属性如下:

IsShownInCoarse:是否在“粗糙”细节层中显示(只限项目文档);
IsShownInMedium:是否在“中度”细节层中显示(只限项目文档);
IsShownInFine:是否在“精细”细节层中显示(只限项目文档);

IsShownInFrontBack:是否在“前/后”视图中显示(只限项目文档);
IsShownInLeftRight 是否在“左/右”视图中显示(只限项目文档);
IsShownInTopBottom:是否在“顶/底”视图中显示(只限项目文档);

IsShownInPlanRCPCut:当在 Plan/RCP 中被剪切时是否显示(如果其类别允许的话);
IsShownOnlyWhenCut:是否只在其被剪切时显示;

VisibilityType:FamilyElementVisibilityType 枚举值
- Model:只在3D视图中显示;
- ViewSpecific:只在创建视图中显示,一般用于细节组件、注释以及针对视图的导入

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值