示例#1
0
        private bool ParseYoungsModulus(string s, Qualities q)
        {
            const string   UNIT = "GPa", EST = "est.";
            ValueQualifier vq = ValueQualifier.None;
            int            n  = s.IndexOf(EST);

            if (n > 0)
            {
                vq = ValueQualifier.Estimated;
                s  = s.Substring(n + EST.Length).Trim();
            }
            n = s.IndexOf(UNIT);
            if (n > 0)
            {
                s = s.Substring(0, n - 1).Trim();
                double d, d1;
                if (DoubleValue.TryParseRange(s, out d, out d1))
                {
                    d = (d + d1) / 2;
                }
                else
                {
                    UnitValue.TryParse(s, out d);
                }
                if (!Double.IsNaN(d))
                {
                    q.YoungsModulus = new UnitValue(d, UNIT, vq);
                    return(true);
                }
            }
            return(false);
        }
示例#2
0
        private bool ParseShearModulus(string s, Qualities q)
        {
            const string UNIT = "GPa";

            s = StringEx.RemoveReferences(s);
            double d;

            if (s.IndexOf("–") > 0)
            {
                double d1, d2;
                if (DoubleValue.TryParseRange(s, out d1, out d2))
                {
                    d = (d1 + d2) / 2;
                    q.ShearModulus = new UnitValue(d, UNIT);
                }
            }
            return(ParseDU(s, UNIT, q));
        }
示例#3
0
        private bool ParseVickersHardness(string s, Qualities q)
        {
            string UNIT = "MPa";
            int    n    = s.IndexOf(UNIT);

            if (n > 0)
            {
                s = s.Substring(0, n - 1).Trim();
                double d1, d2;
                if (DoubleValue.TryParseRange(s, out d1, out d2))
                {
                    q.VickersHardness = new UnitValueRange(d1, d2, UNIT);
                }
                else
                if (UnitValue.TryParse(s, out d1))
                {
                    q.VickersHardness = new UnitValueRange(d1, d1, UNIT);
                }
            }
            return(q.VickersHardness != null);
        }