当前位置: 首页>>代码示例>>C#>>正文


C# FamilyInstance.get_Parameter方法代码示例

本文整理汇总了C#中FamilyInstance.get_Parameter方法的典型用法代码示例。如果您正苦于以下问题:C# FamilyInstance.get_Parameter方法的具体用法?C# FamilyInstance.get_Parameter怎么用?C# FamilyInstance.get_Parameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FamilyInstance的用法示例。


在下文中一共展示了FamilyInstance.get_Parameter方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetFamilyParameter

        /// <summary>
        /// Returns a reference to the FAMILY parameter (as a simple Parameter data type) on the given instance
        /// for the parameter with the given name.  Will return the parameter
        /// whether it is an instance or type parameter.
        /// Returns null if no parameter on the instance was found.
        /// </summary>
        /// <param name="nestedFamilyInstance">An instance of a nested family file</param>
        /// <param name="parameterName">The name of the desired parameter to get a reference to</param>
        /// <remarks>
        /// Even though the data type returned is the more generic Parameter type, it will
        /// actually be for the data of the internal FamilyParameter object.
        /// </remarks>
        /// <returns></returns>
        public static Parameter GetFamilyParameter(
            FamilyInstance nestedFamilyInstance,
            string parameterName)
        {
            // Following good SOA practices, verify the
              // incoming parameters before attempting to proceed.

              if( nestedFamilyInstance == null )
              {
            throw new ArgumentNullException(
              "nestedFamilyInstance" );
              }

              if( string.IsNullOrEmpty( parameterName ) )
              {
            throw new ArgumentNullException(
              "parameterName" );
              }

              Parameter oResult = null;

              //See if the parameter is an Instance parameter
              oResult = nestedFamilyInstance.get_Parameter(
            parameterName );

              // No?  See if it's a Type parameter
              if( oResult == null )
              {
            oResult = nestedFamilyInstance.Symbol.get_Parameter(
              parameterName );
              }
              return oResult;
        }
开发者ID:JesseMom,项目名称:the_building_coder_samples,代码行数:46,代码来源:CmdNestedFamilies.cs

示例2: LightFixture

        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="e">Accepts generic element (after processing) as input</param>
        public LightFixture(Element e, FamilyInstance fi)
        {
            // Set properties initially based on passed FamilyInstance
            CandlePower = e.get_Parameter(BuiltInParameter.FBX_LIGHT_LIMUNOUS_INTENSITY).AsDouble();
            Lumens = e.get_Parameter(BuiltInParameter.FBX_LIGHT_LIMUNOUS_FLUX).AsDouble();
            Efficacy = e.get_Parameter(BuiltInParameter.FBX_LIGHT_EFFICACY).AsDouble();
            LightLossFactor = e.get_Parameter(BuiltInParameter.FBX_LIGHT_TOTAL_LIGHT_LOSS).AsDouble();
            CoefficientOfUtilization = e.get_Parameter(BuiltInParameter.RBS_ELEC_CALC_COEFFICIENT_UTILIZATION).AsDouble();

            Elevation = fi.get_Parameter(BuiltInParameter.INSTANCE_ELEVATION_PARAM).AsDouble();

            LocationPoint = fi.Location as LocationPoint;

            // Future
            // TODO: Get photometric file and parse IES to provide correct
        }
开发者ID:kmorin,项目名称:LightingAnalysis,代码行数:20,代码来源:LightFixture.cs

示例3: setParam

 private static Expression setParam(FamilyInstance fi, Definition paramDef, Expression valueExpr)
 {
     var p = fi.get_Parameter(paramDef);
     if (p != null)
     {
         return _setParam(fi, p, valueExpr);
     }
     throw new Exception("Parameter \"" + paramDef.Name + "\" was not found!");
 }
开发者ID:Dewb,项目名称:Dynamo,代码行数:9,代码来源:dynFamilies.cs

示例4: getParam

 private static Expression getParam(FamilyInstance fi, string paramName)
 {
     var p = fi.get_Parameter(paramName);
     if (p != null)
     {
         return _getParam(fi, p);
     }
     throw new Exception("Parameter \"" + paramName + "\" was not found!");
 }
开发者ID:Dewb,项目名称:Dynamo,代码行数:9,代码来源:dynFamilies.cs

示例5: SetParameters

 private void SetParameters(FamilyInstance fi, IEnumerable<RevitParameter> parameters, Document doc)
 {
     foreach (RevitParameter rp in parameters)
     {
         try
         {
             Parameter p = fi.get_Parameter(rp.ParameterName);
             switch (rp.StorageType)
             {
                 case "Double":
                     if (p.Definition.ParameterType == ParameterType.Area)
                         p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), areaDUT));
                     else if (p.Definition.ParameterType == ParameterType.Volume)
                         p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), volumeDUT));
                     else if (p.Definition.ParameterType == ParameterType.Length)
                         p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), lengthDUT));
                     else
                         p.Set(Convert.ToDouble(rp.Value));
                     break;
                 case "Integer":
                     p.Set(Convert.ToInt32(rp.Value));
                     break;
                 case "String":
                     p.Set(rp.Value);
                     break;
                 case "ElementId":
                     p.Set(p.Definition.ParameterType == ParameterType.Material
                         ? GetMaterial(rp.Value, doc)
                         : new ElementId(Convert.ToInt32(rp.Value)));
                 break;
                 default:
                     p.Set(rp.Value);
                     break;
             }
         }
         catch
         {
             try
             {
                 Parameter p = fi.Symbol.get_Parameter(rp.ParameterName);
                 switch (rp.StorageType)
                 {
                     case "Double":
                         if (p.Definition.ParameterType == ParameterType.Area)
                             p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), areaDUT));
                         else if (p.Definition.ParameterType == ParameterType.Volume)
                             p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), volumeDUT));
                         else if (p.Definition.ParameterType == ParameterType.Length)
                             p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), lengthDUT));
                         else
                             p.Set(Convert.ToDouble(rp.Value));
                         break;
                     case "Integer":
                         p.Set(Convert.ToInt32(rp.Value));
                         break;
                     case "String":
                         p.Set(rp.Value);
                         break;
                     case "ElementId":
                         if (p.Definition.ParameterType == ParameterType.Material)
                             p.Set(GetMaterial(rp.Value, doc));
                         else
                             p.Set(new ElementId(Convert.ToInt32(rp.Value)));
                         break;
                     default:
                         p.Set(rp.Value);
                         break;
                 }
             }
             catch (Exception ex)
             {
                 TaskDialog.Show("Error", ex.Message);
             }
         }
     }
 }
开发者ID:ramonvanderheijden,项目名称:Lyrebird,代码行数:76,代码来源:LyrebirdService.cs

示例6: SetParameters

 private void SetParameters(FamilyInstance fi, IEnumerable<RevitParameter> parameters, Document doc)
 {
     foreach (RevitParameter rp in parameters)
     {
         try
         {
             Parameter p = fi.get_Parameter(rp.ParameterName);
             switch (rp.StorageType)
             {
                 case "Double":
                     if (p.Definition.ParameterType == ParameterType.Area)
                         p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), areaDUT));
                     else if (p.Definition.ParameterType == ParameterType.Volume)
                         p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), volumeDUT));
                     else if (p.Definition.ParameterType == ParameterType.Length)
                         p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), lengthDUT));
                     else
                         p.Set(Convert.ToDouble(rp.Value));
                     break;
                 case "Integer":
                     p.Set(Convert.ToInt32(rp.Value));
                     break;
                 case "String":
                     p.Set(rp.Value);
                     break;
                 case "ElementId":
                     try
                     {
                         int idInt = Convert.ToInt32(rp.Value);
                         ElementId elemId = new ElementId(idInt);
                         Element elem = doc.GetElement(elemId);
                         if (elem != null)
                         {
                             //TaskDialog.Show("Test:", "Param: " + p.Definition.Name + "\nID: " + elemId.IntegerValue.ToString());
                             p.Set(elemId);
                         }
                     }
                     catch
                     {
                         try
                         {
                             p.Set(p.Definition.ParameterType == ParameterType.Material
                                 ? GetMaterial(rp.Value, doc)
                                 : new ElementId(Convert.ToInt32(rp.Value)));
                         }
                         catch (Exception ex)
                         {
                             //TaskDialog.Show(p.Definition.Name, ex.Message);
                         }
                     }
                     break;
                 default:
                     p.Set(rp.Value);
                     break;
             }
         }
         catch
         {
             try
             {
                 Parameter p = fi.Symbol.get_Parameter(rp.ParameterName);
                 switch (rp.StorageType)
                 {
                     case "Double":
                         if (p.Definition.ParameterType == ParameterType.Area)
                             p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), areaDUT));
                         else if (p.Definition.ParameterType == ParameterType.Volume)
                             p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), volumeDUT));
                         else if (p.Definition.ParameterType == ParameterType.Length)
                             p.Set(UnitUtils.ConvertToInternalUnits(Convert.ToDouble(rp.Value), lengthDUT));
                         else
                             p.Set(Convert.ToDouble(rp.Value));
                         break;
                     case "Integer":
                         p.Set(Convert.ToInt32(rp.Value));
                         break;
                     case "String":
                         p.Set(rp.Value);
                         break;
                     case "ElementId":
                         try
                         {
                             int idInt = Convert.ToInt32(rp.Value);
                             ElementId elemId = new ElementId(idInt);
                             Element elem = doc.GetElement(elemId);
                             if (elem != null)
                             {
                                 //TaskDialog.Show("Test:", "Param: " + p.Definition.Name + "\nID: " + elemId.IntegerValue.ToString());
                                 p.Set(elemId);
                             }
                         }
                         catch
                         {
                             try
                             {
                                 p.Set(p.Definition.ParameterType == ParameterType.Material
                                     ? GetMaterial(rp.Value, doc)
                                     : new ElementId(Convert.ToInt32(rp.Value)));
                             }
                             catch (Exception ex)
//.........这里部分代码省略.........
开发者ID:samuto,项目名称:Lyrebird,代码行数:101,代码来源:LyrebirdService.cs


注:本文中的FamilyInstance.get_Parameter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。