public MyFamilyParameter(FamilyParameter param)
        {
            List_AssociatedParameters = new List <MyParameter>();
            InternalDefinition def = param.Definition as InternalDefinition;

            Name = def.Name;

            if (param.IsShared)
            {
                ParamType = MyParameterType.Shared;
            }
            else
            {
                if (def.BuiltInParameter == BuiltInParameter.INVALID)
                {
                    ParamType = MyParameterType.Family;
                }
                else
                {
                    ParamType = MyParameterType.Builtin;
                }
            }

            IsInstance  = param.IsInstance;
            HaveFormula = param.IsDeterminedByFormula;
            Formula     = param.Formula;
            IsReporting = param.IsReporting;
            foreach (Parameter asparam in param.AssociatedParameters)
            {
                MyParameter myasparam = new MyParameter(asparam, false);
                List_AssociatedParameters.Add(myasparam);
            }

            Units = Enum.GetName(typeof(StorageType), param.StorageType);
        }
Beispiel #2
0
        public MyParameter(Parameter param, bool UseValue)
        {
            InternalDefinition def = param.Definition as InternalDefinition;

            Name = def.Name;

            if (param.IsShared)
            {
                ParamType = MyParameterType.Shared;
            }
            else
            {
                if (def.BuiltInParameter == BuiltInParameter.INVALID)
                {
                    ParamType = MyParameterType.Family;
                }
                else
                {
                    ParamType = MyParameterType.Builtin;
                }
            }

            Units = Enum.GetName(typeof(Autodesk.Revit.DB.UnitType), param.Definition.UnitType);

            if (!UseValue || !param.HasValue)
            {
                Value = "NO VALUE";
            }
            else if (def.ParameterType == ParameterType.YesNo)
            {
                int intval = param.AsInteger();
                Value = "false";
                if (intval == 1)
                {
                    Value = "true";
                }
            }
            else
            {
                switch (param.StorageType)
                {
                case StorageType.None:
                    Value = "NONE STORAGE TYPE";
                    break;

                case StorageType.Integer:
                    Value = param.AsInteger().ToString();
                    break;

                case StorageType.Double:
                    Value = param.AsDouble().ToString("G");
                    break;

                case StorageType.String:
                    Value = param.AsString();
                    break;

                case StorageType.ElementId:
                    Value = param.AsValueString();
                    break;

                default:
                    break;
                }
            }
        }