/// <summary> /// 绘制砂轮图 /// </summary> public override void Draw(Graphics g, Point p0) { Console.WriteLine("调用CW3型砂轮绘图。"); Pen p = new Pen(Color.Black, 1f); p.DashStyle = DashStyle.DashDot; //CDraw.SetCoordinate(g, p0); // 设置坐标 p.Color = Color.Blue; p.DashStyle = DashStyle.Solid; Point p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14; p1 = new Point(base.StartPos, (int)radiusS); p2 = new Point(base.StartPos, -(int)radiusS); p3 = new Point(base.StartPos + (int)mainThickness, (int)(mainThickness * CFunc.Tan(ang) + radiusS)); p4 = new Point(base.StartPos + (int)mainThickness, -(int)(mainThickness * CFunc.Tan(ang) + radiusS)); p5 = new Point(p3.X, (int)base.Radius); p6 = new Point(p3.X, -(int)base.Radius); p7 = new Point(base.StartPos + (int)base.Thickness, (int)base.Radius); p8 = new Point(base.StartPos + (int)base.Thickness, -(int)base.Radius); p9 = new Point(base.StartPos + (int)edgeThickness, (int)radiusI); p10 = new Point(base.StartPos + (int)edgeThickness, -(int)radiusI); p11 = new Point(p3.X, (int)((mainThickness - edgeThickness) * CFunc.Tan(ang) + radiusI)); p12 = new Point(p3.X, -(int)((mainThickness - edgeThickness) * CFunc.Tan(ang) + radiusI)); p13 = new Point(base.StartPos + (int)base.Thickness, p11.Y); p14 = new Point(base.StartPos + (int)base.Thickness, p12.Y); EndPos = p13.X; g.DrawLine(p, p1, p3); g.DrawLine(p, p3, p5); g.DrawLine(p, p5, p7); //g.DrawLine(p, p5, p11); g.DrawLine(p, p7, p13); g.DrawLine(p, p11, p13); g.DrawLine(p, p2, p4); g.DrawLine(p, p4, p6); g.DrawLine(p, p6, p8); //g.DrawLine(p, p6, p12); g.DrawLine(p, p8, p14); g.DrawLine(p, p12, p14); g.DrawLine(p, p1, p2); g.DrawLine(p, p9, p10); g.DrawLine(p, p9, p11); g.DrawLine(p, p10, p12); }