怎么利用revit api 过滤器程序段获取族的类型参数

参数的值可能是数值也可以是字符串,或者是另外一个元素。通过StorageType可以判断参数是什么类型,再根据参数类型找到参数的值。[Transaction(TransactionMode.Manual)][Regeneration(RegenerationOption.Manual)]public&class&cmdCheckParam&:&IExternalCommand{&&&&public&Result&Execute(ExternalCommandData&cmdData,&ref&string&messages,&ElementSet&elements)&&&&{&&&&&&&&UIDocument&uiDoc&=&cmdData.Application.ActiveUID&&&&&&&&Document&doc&=&uiDoc.D&&&&&&&&Selection&sel&=&uiDoc.S&&&&&&&&Transaction&ts&=&new&Transaction(uiDoc.Document,&"参数类型");&&&&&&&&ts.Start();&&&&&&&&Reference&refDuct&=&sel.PickObject(ObjectType.Element,&"选择风管");&&&&&&&&Element&el&=&doc.GetElement(refDuct);&&&&&&&&foreach&(Parameter&p&in&el.Parameters)&&&&&&&&{&&&&&&&&&&&&if&(p.Definition.Name&==&"高度")&&&&&&&&&&&&{&&&&&&&&&&&&&&&&TaskDialog.Show("height",&GetParamVal(doc,&p));&&&&&&&&&&&&}&&&&&&&&&&&&if&(p.Definition.Name&==&"系统类型")&&&&&&&&&&&&{&&&&&&&&&&&&&&&&TaskDialog.Show("cate",&GetParamVal(doc,&p));&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&mit();&&&&&&&&return&Result.S&&&&}&&&&public&string&GetParamVal(Document&doc,&Parameter&p)&&&&{&&&&&&&&string&strResult&=&"";&&&&&&&&switch&(p.StorageType)&&&&&&&&{&&&&&&&&&&&&case&StorageType.Double:&&&&&&&&&&&&&&&&strResult&=&p.AsValueString();&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&case&StorageType.ElementId:&&&&&&&&&&&&&&&&strResult&=&doc.get_Element(p.AsElementId()).N&&&&&&&&&&&&&&&&break;&&&&&&&&}&&&&&&&&return&strR&&&&}}from:
阅读(...) 评论()扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
BIM(Revit)在族中添加共享参数
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Revit创建族参数
可以为任何族类型创建新实例参数或类型参数。 通过添加新参数,就可以对包含于每个族实例或类型中的信息进行更多的控制。
可以创建动态的族类型以增加模型中的灵活性。
Revit创建族参数步骤如下:
在族编辑器中,单击“创建”选项卡
“属性”面板
(族类型)。
在“族类型”对话框中,单击“新建”并输入新类型的名称。
这将创建一个新的族类型,在您将其载入到项目中后将出现在“类型选择器”中。
在“参数”下单击“添加”。
在“参数属性”对话框的“参数类型”下,选择“族参数”。
输入参数的名称。
选择规程。
对于“参数类型”,选择适当的参数类型。
文字完全自定义。 可用于收集唯一性的数据。
整数始终表示为整数的值。
数目用于收集各种数字数据。 可通过公式定义。 也可以是实数。
长度可用于设置图元或子构件的长度。 可通过公式定义。 这是默认的类型。
区域可用于设置图元或子构件的面积。 可将公式用于此字段。
体积可用于设置图元或子构件的长度。 可将公式用于此字段。
角度可用于设置图元或子构件的角度。 可将公式用于此字段。
坡度可用于创建定义坡度的参数。
货币可以用于创建货币参数。
URL提供指向用户定义的 URL 的网络链接。
材质建立可在其中指定特定材质的参数。
是/否使用“是”或“否”定义参数,最常用于实例属性。
族类型用于嵌套构件,可在族载入到项目中后替换构件。
分割的表面类型建立可驱动分割表面构件(如面板和图案)的参数。 可将公式用于此字段。
#p#分页标题#e#
对于“参数分组方式”,选择一个值。
在族载入到项目中后,此值确定参数在“属性”选项板中显示在哪一组标题下。
选择“实例”或“类型”。 这会定义参数是“实例”参数还是“类型”参数。
(可选)如果在第 9 步中选择了实例,可以选择“报告参数”。
单击“确定”。
“族类别和族参数”工具可以将预定义的族类别属性指定给要创建的构件。此工具只能用在族编辑器中。
族参数定义应用于该族中所有类型的行为或标识数据。不同的类别具有不同的族参数,具体取决于 Revit
希望以何种方式使用构件。控制族行为的一些常见族参数示例包括:
总是垂直:选中该选项时,该族总是显示为垂直,即 90 度,即使该族位于倾斜的主体上,例如楼板。
基于工作平面:选中该选项时,族以活动工作平面为主体。可以使任一无主体的族成为基于工作平面的族。
共享:仅当族嵌套到另一族内并载入到项目中时才适用此参数。如果嵌套族是共享的,则可以从主体族独立选择、标记嵌套族和将其添加到明细表。如果嵌套族不共享,则主体族和嵌套族创建的构件作为一个单位。
标识数据参数包括 OmniClass 编号和 OmniClass 标题,它们都基于 OmniClass 表 23
产品分类。
指定族参数的步骤:
在族编辑器中,单击“创建”选项卡(或“修改”选项卡)
“属性”面板
(族类别和族参数)。
从对话框中选择要将其属性导入到当前族中的族类别。
指定族参数。
注意族参数选项根据族类别而有所不同。
单击“确定”。
对族框架进行尺寸标注后,需为尺寸标注添加标签,以创建参数。例如,下面的尺寸标注已添加了长度和宽度参数的标签。
带标签的尺寸标注将成为族的可修改参数。您可以使用族编辑器中的“族类型”对话框修改它们的值。在将族载入到项目中之后,可以在“属性”选项板上修改任何实例参数,或者打开“类型属性”对话框修改类型参数值。
如果族中存在该标注类型的参数,可以选择它作为标签。否则,必须创建该参数,以指定它是实例参数还是类型参数。
为尺寸标注添加标签并创建参数
在族编辑器中,选择尺寸标注。
在选项栏上,选择一个参数或者选择“&添加参数...&”并创建一个参数作为“标签”。
在创建参数之后,可以使用“属性”面板上的“族类型”工具来修改默认值,或指定一个公式(如需要)。
如果需要,选择“引线”来创建尺寸标注的引线。
通过“族类型”工具,可以为族创建多个类型(尺寸)。要执行此操作,尺寸标注必须已经添加标签,要修改的参数必须已经创建。
创建了 4 个不同书架类型(尺寸)的书架族
创建了 4 个不同类型(尺寸)的照明设备族
#p#分页标题#e#
每个族类型都有一组属性(参数),其中包括带标签的尺寸标注及其值。也可以为族的标准参数(例如材质、模型、制造商、类型标记等等)添加值。
创建族类型
单击“创建”选项卡
“属性”面板
(族类型)。
在“族类型”对话框的“族类型”下,单击“新建”。
输入族名称,然后单击“确定”。
在“族类型”对话框中,为类型参数输入值。
单击“确定”。
创建族时,可以将带标签的尺寸标注指定为实例参数;将族实例放置在项目中后,这些参数是可以修改的。
被指定为实例参数的带标签的尺寸标注也可以有造型操纵柄,这些造型操纵柄会在族被载入到项目中后出现。
使用族编辑器工具绘制族几何图形。
创建族几何图形的尺寸标注。
为尺寸标注添加标签。 请参见为尺寸标注添加标签以创建参数。
选择尺寸标注,然后在选项栏上选择“实例参数”。
注意如果通过在选项栏上选择标签来为尺寸标注添加标签,则不用重新选择尺寸标注就可以选择“实例参数”。
单击“修改 | 尺寸标注”选项卡
“属性”面板
(族类型)。
在“族类型”对话框中,注意新的实例参数。 在项目中放置族时,(默认)标签会指示出该实例参数的值。
例如,如果创建一个名为“长度”的实例参数,其默认值为 3000 mm,则在将该族放置到项目中后,族实例的长度为 3000
保存所做的修改并将族载入到项目中。 选择一个此族的实例,然后在“特性”选项板上,请注意有标签尺寸可用于修改。
可以向构件族中添加造型操纵柄,这些造型控制柄会在族被载入项目中后显示出来。
造型控制柄用于在绘制区域中调整构件的大小,而不用于在“族编辑器”中创建多个类型。 请参见控制柄和造型操纵柄。
添加了造型操纵柄在平面视图和三维视图中的常规构件的示例
要向构件族中添加造型操纵柄,必须执行下列操作:
将参照平面添加到族中。
添加几何图形以使几何图形的草图对齐到参照平面。
对于参照平面,请确认“是参照”的值不是“非参照”。
将尺寸标注添加到该参照平面。
将尺寸标注标记为实例参数。
保存该族并将其载入到项目中。 当在项目的绘制区域中选择构件时,造型操纵柄将显示在参照平面对齐和标注尺寸的位置。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。元素的参数分普通的属性参数和类型属性参数。参数的值可能是一个整数,一个字符串,也可能是一个元素对象。比如是一种材质。材质也分多种,管道有管道对齐的材质。using&Susing&System.Collections.Gusing&System.Lusing&System.Tusing&WinForm&=&System.Windows.Fusing&Autodesk.Revit.UI;using&Autodesk.Revit.DB;using&Autodesk.Revit.Ausing&Autodesk.Revit.DB.Musing&Autodesk.Revit.UI.Susing&Autodesk.Revit.ApplicationSusing&Autodesk.Revit.DB.Susing&Autodesk.Revit.DB.ExtensibleSusing&Autodesk.Revit.DB.Pusing&Autodesk.Revit.DB.Ausing&System.Xnamespace&RevitCodes{&&&&[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]&&&&public&class&cmdParameter&:&IExternalCommand&&&&{&&&&&&&&public&Result&Execute(ExternalCommandData&commandData,&ref&string&messages,&ElementSet&elements)&&&&&&&&{&&&&&&&&&&&&UIApplication&uiApp&=&commandData.A&&&&&&&&&&&&Document&doc&=&uiApp.ActiveUIDocument.D&&&&&&&&&&&&Selection&sel&=&uiApp.ActiveUIDocument.S&&&&&&&&&&&&Transaction&ts&=&new&Transaction(doc,&"");&&&&&&&&&&&&ts.Start();&&&&&&&&&&&&//选中的元素,这里选中一个管道Pipe&&&&&&&&&&&&Element&elemPick&=&null;&&&&&&&&&&&&foreach&(Element&elem&in&sel.Elements)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&elemPick&=&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&}&&&&&&&&&&&&//遍历元素的普通参数&&&&&&&&&&&&string&strParameter&=&"";&&&&&&&&&&&&foreach&(Parameter&p&in&elemPick.Parameters)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&strParameter&+=&p.Definition.ParameterGroup&+&","&+&p.Definition.Name&+&","&+&p.AsValueString()&+&"\n";&&&&&&&&&&&&}&&&&&&&&&&&&TaskDialog.Show("parameter",&strParameter);&&&&&&&&&&&&//遍历元素的类型属性&&&&&&&&&&&&Pipe&pipe&=&elemPick&as&P&&&&&&&&&&&&foreach&(Parameter&p&in&pipe.PipeType.Parameters)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&if&(p.Definition.Name&==&"材质")&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&//元素的参数值可能是一个元素,比如材质的参数值是一个Material元素&&&&&&&&&&&&&&&&&&&&PipeMaterialType&pipeMater&=&doc.get_Element(p.AsElementId())&as&PipeMaterialT&&&&&&&&&&&&&&&&&&&&//材质还分管道材质这里不能转化为Material&&&&&&&&&&&&&&&&&&&&TaskDialog.Show("类型属性",&pipeMater.Category.Name&+&","&+&pipeMater.Name);&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&//系统包含的材质元素&&&&&&&&&&&&string&strMaterial&=&"";&&&&&&&&&&&&Materials&materials&=&doc.Settings.M&&&&&&&&&&&&foreach&(Material&ma&in&materials)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&strMaterial&+=&ma.Name&+&"\n";&&&&&&&&&&&&}&&&&&&&&&&&&TaskDialog.Show("Material",&strMaterial);&&&&&&&&&&&&mit();&&&&&&&&&&&&return&Result.S&&&&&&&&}&&&&&&&&//元素的参数,参数组,即属性面版中可以折叠的部分,这里读Pipe&&&&&&&&public&Parameter&FindParameter(Element&element)&&&&&&&&{&&&&&&&&&&&&Parameter&foundParameter&=&null;&&&&&&&&&&&&int&i&=&0;&&&&&&&&&&&&foreach&(Parameter&parameter&in&element.Parameters)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&//BuiltInParameterGroup.PG_MECHANICAL//机械&&&&&&&&&&&&&&&&//BuiltInParameterGroup.PG_CONSTRAINTS//限制条件&&&&&&&&&&&&&&&&//BuiltInParameterGroup.PG_GEOMETRY//尺寸标注&&&&&&&&&&&&&&&&//BuiltInParameterGroup.PG_PHASING//阶段化&&&&&&&&&&&&&&&&//BuiltInParameterGroup.PG_IDENTITY_DATA//标识数据&&&&&&&&&&&&&&&&//BuiltInParameterGroup.PG_INSULATION//绝缘层&&&&&&&&&&&&&&&&if&(BuiltInParameterGroup.PG_GEOMETRY&==&parameter.Definition.ParameterGroup)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&TaskDialog.Show("g",&parameter.Definition.Name);&&&&&&&&&&&&&&&&&&&&i&+=&1;&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&Definition&definition&=&parameter.D//参数的基类&&&&&&&&&&&&&&&&//过滤参数&&&&&&&&&&&&&&&&if&(definition.ParameterGroup&==&BuiltInParameterGroup.PG_MATERIALS&&&&&&&&&&&&&&&&&&&&&&&&&&&definition.ParameterType&==&ParameterType.Material)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&foundParameter&=&&&&&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&TaskDialog.Show("i",&i&+&"个");&&&&&&&&&&&&return&foundP&&&&&&&&}&&&&}}from:
阅读(...) 评论()404 Not Found!!!}

我要回帖

更多关于 revit api 开发指南 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信