Ejemplo n.º 1
0
        /// <summary>
        /// 判断是否需要向下标注;
        /// </summary>
        /// <returns></returns>
        private bool IsNeedDownDim(CMrPart mrPart)
        {
            Vector normal  = mrPart.mNormal;
            Vector zVector = new Vector(0, 0, 1);

            if (!CDimTools.GetInstance().IsTwoVectorParallel(normal, zVector) || !mrPart.IsHaveBolt())
            {
                return(false);
            }

            double minY = mrPart.GetMinYPoint().Y;
            double maxY = mrPart.GetMaxYPoint().Y;
            double minX = mrPart.GetMinXPoint().X;
            double maxX = mrPart.GetMaxXPoint().X;

//             if (minY < 0 && maxY > 0 && minX < 0 && maxX > 0)
//             {
//                 return true;
//             }
            if (maxY < 0)
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 判断是否是中间的板状零件;
        /// </summary>
        /// <param name="mrPart"></param>
        /// <returns></returns>
        private bool IsMidPlate(CMrPart mrPart)
        {
            Vector normal = mrPart.mNormal;

            if (!CDimTools.GetInstance().IsTwoVectorParallel(normal, new Vector(0, 0, 1)))
            {
                return(false);
            }
            if (!mrPart.IsHaveBolt())
            {
                return(false);
            }

            double minX = mrPart.GetMinXPoint().X;
            double maxX = mrPart.GetMaxXPoint().X;
            double minY = mrPart.GetMinYPoint().Y;
            double maxY = mrPart.GetMaxYPoint().Y;

            if (minX < 0 && maxX > 0 && minY < 0 && maxY > 0)
            {
                return(true);
            }

            return(false);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 判断一个零件是否需要在顶部进行标注;
        /// </summary>
        /// <param name="mrPart"></param>
        /// <returns></returns>
        private bool IsNeedTopDim(CMrPart mrPart)
        {
            Vector normal  = mrPart.mNormal;
            Vector zVector = new Vector(0, 0, 1);

            if (!CDimTools.GetInstance().IsTwoVectorParallel(normal, zVector) || !mrPart.IsHaveBolt())
            {
                return(false);
            }

            double minY = mrPart.GetMinYPoint().Y;
            double maxY = mrPart.GetMaxYPoint().Y;

            //如果该板是与主梁交叉;
            if (minY < 0 && maxY > 0)
            {
                return(true);
            }
            //如果在主梁上方;
            if (minY > 0)
            {
                return(true);
            }

            return(false);
        }