Esempio n. 1
0
        /// <summary>
        ///     Gets the family symbol's raw location, it's for moving zero point.
        /// </summary>
        /// <param name="profile"></param>
        /// <returns></returns>
        private static XYZ GetLocationPoint(CurveArrArray profile)
        {
            if (profile == null)
            {
                throw new ArgumentNullException(nameof(profile));
            }

            var curves = profile.Cast <CurveArray>().SelectMany(s => s.Cast <Curve>()).ToList();
            var pts    = curves.GetDistinctPointList()
                         .OrderBy(o => o.Z).ThenBy(o => o.Y).ThenBy(o => o.X).ToList();

            return(pts.FirstOrDefault());
        }