/// <summary>
        /// Create from string
        /// </summary>
        /// <param name="ps"></param>
        /// <param name="s"></param>
        /// <since>6.0</since>
        public static ScaleValue Create(string s, StringParserSettings ps)
        {
            IntPtr const_ptr_settings = ps.ConstPointer();
            IntPtr ptr = UnsafeNativeMethods.ON_ScaleValue_CreateFromString(const_ptr_settings, s);

            return(FromIntPtr(ptr));
        }
        /// <summary> Create from string </summary>
        /// <param name="s">string to parse</param>
        /// <param name="ps"></param>
        /// <param name="parsedAll">true if the whole string was parsed</param>
        /// <since>6.0</since>
        public static LengthValue Create(string s, StringParserSettings ps, out bool parsedAll)
        {
            IntPtr const_ptr_parse_settings = ps.ConstPointer();
            int    scnt = s.Length;
            IntPtr ptr  = UnsafeNativeMethods.ON_LengthValue_CreateFromSubString(const_ptr_parse_settings, s, scnt, ref scnt);

            parsedAll = (IntPtr.Zero != ptr && scnt == s.Length);
            return(FromIntPtr(ptr));
        }