用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

查找一个族实例的参数

2013-12-21 作者: asp举报

[c#]代码库

public string FindParameter(string parameterName, FamilyInstance familyInstanceName)
{
    ParameterSetIterator i = familyInstanceName.Parameters.ForwardIterator();
    i.Reset(); 
    string valueOfParameter = null;
    bool iMoreAttribute = i.MoveNext();
    while (iMoreAttribute)
    {
        bool isFound = false;
        object o = i.Current;
        Parameter familyAttribute = o as Parameter;
        if (familyAttribute.Definition.Name == parameterName)
        {
            //find the parameter whose name is same to the given parameter name
            Autodesk.Revit.DB.StorageType st = familyAttribute.StorageType;
            switch (st)
            {
                //get the storage type
                case (Autodesk.Revit.DB.StorageType.Double):
                {
                    if (parameterName == "Angle" )
                    {
                        //make conversion between degrees and radians
                        Double temp = familyAttribute.AsDouble();                      
                        valueOfParameter = Math.Round(temp * 180/(Math.PI),3).ToString();//+ "'";
                    }
                    else
                    {
                        valueOfParameter = familyAttribute.AsDouble().ToString();
                    }
                    break;
                }
                case (Autodesk.Revit.DB.StorageType.ElementId):
                {
                    //get elementId as string
                    valueOfParameter = familyAttribute.AsElementId().ToString();
                    break;
                }
                case (Autodesk.Revit.DB.StorageType.Integer):
                {
                    //get Integer as string
                    valueOfParameter = familyAttribute.AsInteger().ToString();
                    break;
                }
                case (Autodesk.Revit.DB.StorageType.String):
                {
                    //get string
                    valueOfParameter = familyAttribute.AsString();
                    break;
                }
                default:
                {
                    break;
                }
            }
        isFound = true;
        }
        if(isFound)
        {
            break;
        }
        iMoreAttribute = i.MoveNext();
    }
    //return the value.
    return valueOfParameter;
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...