博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Revit 二次开发之“参数”
阅读量:6146 次
发布时间:2019-06-21

本文共 2233 字,大约阅读时间需要 7 分钟。

start
//
遍历全部参数
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public
 
class
 GetAllParameterValues : IExternalCommand
{
    
public
 Result Execute(ExternalCommandData commandData, 
ref
 
string
 messages, ElementSet elements)
    {
        UIApplication uiApp 
=
 commandData.Application;
        Autodesk.Revit.ApplicationServices.Application app 
=
 uiApp.Application;
        Document doc 
=
 uiApp.ActiveUIDocument.Document;
        Selection sel 
=
 uiApp.ActiveUIDocument.Selection;
        sel.StatusbarTip 
=
 
"
Please select an element
"
;
        sel.PickOne();
        Element elemPick 
=
 
null
;
        
foreach
 (Element elem 
in
 sel.Elements)
        {
            elemPick 
=
 elem;
            
break
;
        }
        
string
 strParamInfo 
=
 
null
;
        
foreach
 (Parameter param 
in
 elemPick.Parameters)
        {
            
if
 (param.AsValueString() 
!=
 
null
)
                strParamInfo 
+=
 param.Definition.Name 
+
 
"
 value is:
"
 
+
 param.AsValueString() 
+
 
"
\n
"
;
            
else
                strParamInfo 
+=
 param.Definition.Name 
+
 
"
 value is:
"
 
+
 param.AsString() 
+
 
"
\n
"
;
        }
        MessageBox.Show(strParamInfo);
        
return
 Result.Succeeded;
    }
}
//
获得指定参数
[Transaction(TransactionMode.Automatic)]
[Regeneration(RegenerationOption.Automatic)]
//
修改需要用此模式
public
 
class
 GetSpecificParameterValue : IExternalCommand
{
    
public
 Result Execute(ExternalCommandData commandData, 
ref
 
string
 messages, ElementSet elements)
    {
        UIApplication uiApp 
=
 commandData.Application;
        Autodesk.Revit.ApplicationServices.Application app 
=
 uiApp.Application;
        Document doc 
=
 uiApp.ActiveUIDocument.Document;
        Selection sel 
=
 uiApp.ActiveUIDocument.Selection;
        sel.StatusbarTip 
=
 
"
Please select an window
"
;
        sel.PickOne();
        Element elemPick 
=
 
null
;
        
foreach
 (Element elem 
in
 sel.Elements)
        {
            
if
 (elem 
is
 FamilyInstance)
            {
                elemPick 
=
 elem;
                
break
;
            }
        }
        
if
 (elemPick 
!=
 
null
)
        {
            
string
 strParamInfo 
=
 
null
;
            
//
用BuiltInParameter来访问参数,与国家语言无关
            Parameter param 
=
 elemPick.get_Parameter(BuiltInParameter.INSTANCE_SILL_HEIGHT_PARAM);
            strParamInfo 
+=
 param.Definition.Name 
+
 
"
 value is:
"
 
+
 param.AsValueString() 
+
 
"
\n
"
;
            
//
修改参数的值
            param.Set(
3.6
);
            
//
使用名称来访问
            param 
=
 elemPick.get_Parameter(
"
底高度
"
);
            strParamInfo 
+=
 param.Definition.Name 
+
 
"
 value is :
"
 
+
 param.AsValueString() 
+
 
"
\n
"
;
            MessageBox.Show(strParamInfo);
        }
        
return
 Result.Succeeded;
    }
}
end

转载于:https://www.cnblogs.com/greatverve/archive/2011/04/01/revit-param.html

你可能感兴趣的文章
云存储使存储容量前所未有,起点是达PB级
查看>>
哈尔滨工业大学校园网运营:开放兼容,灵活认证
查看>>
土耳其重大数据泄露事件 数据库安全受关注
查看>>
工控安全要避开传统IT安全思路的几个“暗坑”
查看>>
别轻易说取代:容器不会取代虚拟机
查看>>
迈克菲报告指出网络威胁情报共享的阻碍
查看>>
GeekPwn黑客选手任意操纵智能烤箱 智能家居存隐患
查看>>
PHP开发:使用PHP抓取百万知乎用户以及知识点札记
查看>>
本杰明·富兰克林会怎样学习编程?
查看>>
Handler、Looper与MessageQueue源码分析
查看>>
深度学习如何将个性化引入互联网
查看>>
在人才竞争上,国内明星公司都使用哪些手段抢 AI 人才
查看>>
Android带你解析ScrollView–仿QQ空间标题栏渐变
查看>>
Facebook进行无线宽带试验 频谱利用效率惊人
查看>>
《企业级ios应用开发实战》一3.7 本章小结
查看>>
英日科学家研发石墨烯传感器,可检测微量空气污染
查看>>
SOHO 3Q众包佣金上调到15% 移动办公掀热潮
查看>>
中国式社交网络就一个“约”字而已
查看>>
苹果联合创始人:我绝对反对政府获取用户数据
查看>>
智慧城市:引领未来可持续发展
查看>>