打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Revit API获得材质参数值
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;



using WinForm = System.Windows.Forms;



using Autodesk.Revit.UI;

using Autodesk.Revit.DB;

using Autodesk.Revit.Attributes;



using Autodesk.Revit.DB.Mechanical;

using Autodesk.Revit.UI.Selection;

using Autodesk.Revit.ApplicationServices;



using Autodesk.Revit.DB.Structure;

using Autodesk.Revit.DB.ExtensibleStorage;



using System.Xml;



namespace RevitCodes

{

    [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]

    
public class cmdMaterial : IExternalCommand

    {

        
public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)

        {

            UIApplication uiApp 
= commandData.Application;

            Document doc 
= uiApp.ActiveUIDocument.Document;

            Selection sel 
= uiApp.ActiveUIDocument.Selection;



            Transaction ts 
= new Transaction(doc, "http://revit.5d6d.com");

            ts.Start();



            
//选中一个窗户

            Element element = doc.GetElement(sel.PickObject(ObjectType.Element, "请选择个对象"));

            FamilyInstance fi 
= element as FamilyInstance;



            GetMaterial(doc, fi);



            ts.Commit();



            
return Result.Succeeded;

        }

        
public void GetMaterial(Document document, FamilyInstance familyInstance)

        {

            Materials materials 
= document.Settings.Materials;

            
string str = "";

            
foreach (Parameter pa in familyInstance.Symbol.Parameters)//通过族符号

            {

                Definition definition 
= pa.Definition;//参数的基类

                
//过滤参数

                if (definition.ParameterGroup == BuiltInParameterGroup.PG_MATERIALS &&

                        definition.ParameterType 
== ParameterType.Material)

                {

                    Material ma 
= materials.get_Item(pa.AsElementId());//得到材料参数值的方法

                    str += definition.Name + ":" + ma.Name + "\n";

                }

            }

            TaskDialog.Show(
"材质信息", str);

        }

    }



}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C# Revit二次开发关于元素Element
RevitAPI之判断一个族实例是否基于面创建
Revit API改变风管及管件尺寸
【BIM技能】Revit软件的应用
关于Revit如何巧用明细表
【新提醒】Revit二次开发 RevitLookUp安装说明
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服