//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Use: Projects input point onto input plane and returns projected point // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static Point ProjectOnPlane(Point point, Plane plane) { try { MeasureTools measureTools = InvApplication.MeasureTools; double minDist; object contextObj = null; minDist = measureTools.GetMinimumDistance((object)point, plane, InferredTypeEnum.kNoInference, InferredTypeEnum.kNoInference, ref contextObj); NameValueMap context = contextObj as NameValueMap; Point projectedPoint = context.get_Item(context.Count < 3 ? 2 : 3) as Point; return(projectedPoint); } catch { return(null); } }