详谈用API读取Revit对象的参数值

问题:

要取某个FamilySymbol的所有属性的值,现在已经把属性对象取到了(parameter类的一个实例),发现其中有AsDouble(),AsString(),AsInteger()等方法,通过什么方法能知道我应该调用哪一个函数呢


答:

Revit的读取参数值的方法都是Parameter类下面的函数中,包括如下这些:

AsDouble ()
AsElementId()
AsInteger()
AsString()
AsValueString()

如何使用它们可能有点困扰。这里简单说一下它们的用法。

前面四个函数的用法类型,我们只需要从Parameter.StorageType 获取其值存储的类型,安然调用相应的方法读取参数值即可。 很多时候我们的目标参数类型我们已经知道(因为我们知道我们在读取那个参数值)。

     AsDouble ()
AsElementId()
AsInteger()
AsString()

下面是实例代码

   public static string ParameterToString(Parameter param)
    {
      string val = "none";

      if (param == null)
      {
        return val;
      }

      // To get to the parameter value, we need to pause it depending on its storage type 

      switch (param.StorageType)
      {
        case StorageType.Double:
          double dVal = param.AsDouble();
          val = dVal.ToString();
          break;
        case StorageType.Integer:
          int iVal = param.AsInteger();
          val = iVal.ToString();
          break;
        case StorageType.String:
          string sVal = param.AsString();
          val = sVal;
          break;
        case StorageType.ElementId:
          ElementId idVal = param.AsElementId();
          val = idVal.IntegerValue.ToString();
          break;
        case StorageType.None:
          break;
      }
      return val;
    }


还有一个函数 AsValueString(), 它会返回一个带单位的参数值。 获取的值可能用AsDouble,AsInteger一样,但是它的后面带有该参数在当前单位设置下的单位字符串。


转载请复制以下信息:

原文链接: http://blog.csdn.net/joexiongjin/article/details/17220183

作者:  叶雄进




  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值