/// <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); }
/// <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); }
/// <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); }