示例#1
0
        /// <summary>
        /// 初始化零部件,构造出上下部件的对称性,只考虑法向与Y轴平行的板的对称性;
        /// </summary>
        /// <param name="mrPart"></param>
        private void InitMrPart(CMrPart mrPart)
        {
            Vector normal = mrPart.mNormal;

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

            Point ptLeftBottom  = mrPart.mLeftBottomPoint;
            Point ptRightBottom = mrPart.mRightBottomPoint;
            Point ptLeftTop     = mrPart.mLeftTopPoint;
            Point ptRightTop    = mrPart.mRightTopPoint;

            normal.X = Math.Abs(normal.X);
            normal.Y = Math.Abs(normal.Y);
            normal.Z = Math.Abs(normal.Z);

            String strAttribute1 = ((int)ptLeftBottom.X).ToString() + "_" + ((int)ptRightBottom.X).ToString() + "_" + normal.ToString();

            if (mDicAttributePart.ContainsKey(strAttribute1))
            {
                CMrPart symPart = mDicAttributePart[strAttribute1];
                mrPart.GetBeamTopViewInfo().mSymPart  = symPart;
                symPart.GetBeamTopViewInfo().mSymPart = mrPart;
            }
            else
            {
                mDicAttributePart.Add(strAttribute1, mrPart);
            }
        }