首页 > 其他分享 >Revit二次开发-获取族类型以及族参数值

Revit二次开发-获取族类型以及族参数值

时间:2023-07-30 15:13:06浏览次数:31  
标签:StorageType value 参数值 strBuilder var familyType 二次开发 parameter Revit

  在族环境中获取当前族的所有族类型以及族类型对应的所有参数和参数值。直接上代码~

public override Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            var doc = commandData.Application.ActiveUIDocument.Document;
            if (!doc.IsFamilyDocument)
            {
                return Result.Cancelled;
            }
            var familyManager = doc.FamilyManager;
            var familyTypesItor = familyManager.Types.ForwardIterator();
            familyTypesItor.Reset();
            var parameters = familyManager.GetParameters();
            var strBuilder = new StringBuilder();
            while (familyTypesItor.MoveNext())
            {
                var familyType = familyTypesItor.Current as FamilyType;
                strBuilder.AppendLine($"Type name:{familyType.Name}");
                foreach (var parameter in parameters)
                {
                    object value = null;
                    switch (parameter.StorageType)
                    {
                        case StorageType.Integer:
                            value = familyType.AsInteger(parameter);
                            break;
                        case StorageType.Double:
                            value = familyType.AsDouble(parameter) * 304.8;
                            break;
                        case StorageType.String:
                            value = familyType.AsString(parameter);
                            break;
                        case StorageType.ElementId:
                            value = familyType.AsElementId(parameter);
                            break;

                    }
                    strBuilder.AppendLine($"Parameter name :{parameter.Definition.Name},StorageType:{parameter.StorageType},Parameter Value:{value}");
                }
                strBuilder.AppendLine();
            }
            TaskDialog.Show("Revit", strBuilder.ToString());
            return Result.Succeeded;
        }

 

标签:StorageType,value,参数值,strBuilder,var,familyType,二次开发,parameter,Revit
From: https://www.cnblogs.com/youngala/p/17591457.html

相关文章

  • Revit二次开发之 Material 分析
    对于revit来说,任何Element都可以包含一个或者多个Material,其通过方法:publicICollection<ElementId>GetMaterialIds(boolreturnPaintMaterials)获取指定元素的材质集合,如果为true,则返回“绘制”工具指定给元素面的材质ID。如果为false,则返回通过材质的几何体或复合结......
  • CAD二次开发之 会旋转的彩色风车
      ///<summary>///会旋转的风车///</summary>[CommandMethod("RotatingFan")]publicvoidRotatingFan(){vardoc=Application.DocumentManager.MdiActiveDocument;vardb......
  • Revit二次开发之 PolymeshTopology
    PolymeshTopology 表示多边形网格拓扑的类,用于描述多边形的的图形信息。多边形网格的拓扑结构由多个点和由这些点形成的三角形面组成。每个方面由点阵列的三个索引来确定。多边形网格可以指定UV坐标,并且始终至少关联一个法线。非平面多边形网格可能有一个以上的法线可用;多边形网......
  • Revit二次开发-创建用户只读的共享参数
      在族环境里面绑定共享参数,并且用户在属性面板不可修改参数值[Transaction(TransactionMode.Manual)]publicclassSharedParameters:IExternalCommand{privatereadonlystring_desktop=Environment.GetFolderPath(Environment.SpecialFolder.Desk......
  • 微信个人号机器人,E云API二次开发
    **个人微信开发API****简要描述:**-登录E云平台**请求URL:**-http://域名地址/member/login-域名地址+开发者账号密码:后台系统自助开通**请求方式:**-POST**请求头Headers:**-Content-Type:application/json  **请求参数示例**```clike{"account":"18611......
  • 关于 Observable 对象调用 subscribe 方法时不传递任何参数值的用法讨论
    在RxJS中,subscribe方法是用于订阅Observable对象并接收数据的关键方法。通过subscribe方法,我们可以注册观察者(Observer)来处理Observable发出的数据、错误和完成信号。该方法接收三个可选的回调函数作为参数:next、error和complete。下面是subscribe方法的作用和示例......
  • 洞察漏洞管理平台二次开发
    之前搭建过由宜信安全部开源的漏洞管理平台-洞察(GitHub项目地址:https://github.com/creditease-sec)。但在实际的使用中发现存在不少需要优化的地方。后续宜信安全部也推出了洞察2.0版本,有很大的调整。然而不同企业的业务场景和需求都不同,很难做到面面俱到,对于定制开发的需求是......
  • C#获取存储过程的Return返回值和Output输出参数值
    1、获取Return返回值1createproceduremySql2@aint,3@bint4as5return@a+@b6go1SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectioniString["localServer"].ToString());2conn.Open();3SqlCommandcmd=newSqlCommand(&quo......
  • Revit开发之 IExportContext接口详细
    如果要将Revit模型输出为特定的格式,则需要利用revit的数据导出接口,在revit的二次开发中,给我们提供IExportContext接口。当前接口可用户模型轻量化导出、自定义格式导出等。编号 函数名称函数功能1Finish在导出过程的最后,处理完所有的实体后调用此防范2IsCanceled......
  • C#基于海康视觉VM4.1的二次开发框架源码,有多流程框架 运动控制卡 服务框架 需要有海康
    C#基于海康视觉VM4.1的二次开发框架源码,有多流程框架运动控制卡服务框架需要有海康VM的基础并且有海康威视VM开发狗原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/668913688222.html......