diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index fa11494d..2801de6a 100644 Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java index 590be5e1..ddbfc5ba 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java @@ -86,6 +86,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { private static Size BR3_LENGTH = new Size(0.6d, SizeUnit.in); private static Size BR3_SPACING = new Size(0.425d, SizeUnit.in); + private static Size BR3_HOLE_SIZE = new Size(3d, SizeUnit.mm); private static int[] BR3_LABEL_SPACING_Y = new int[] { 1, 1, -1, -1 }; public static Color BODY_COLOR = Color.gray; @@ -295,6 +296,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { case SquareBR3: Path2D path = new Path2D.Double(); double margin = (BR3_LENGTH.convertToPixels() - BR3_SPACING.convertToPixels()) / 2; + double holeSize = BR3_HOLE_SIZE.convertToPixels(); path.moveTo(centerX - width / 2 + margin, centerY - width / 2); path.lineTo(centerX + width / 2, centerY - width / 2); path.lineTo(centerX + width / 2, centerY + width / 2); @@ -302,6 +304,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { path.lineTo(centerX - width / 2, centerY - width / 2 + margin); path.closePath(); body[0] = new Area(path); + body[0].subtract(new Area(new Ellipse2D.Double(centerX - holeSize / 2, centerY - holeSize / 2, holeSize, holeSize))); if (orientation != Orientation.DEFAULT) { double theta = 0; @@ -441,7 +444,10 @@ public class BridgeRectifier extends AbstractTransparentComponent { g2d.translate(0, -textHeight / 2); else if (i == 1) g2d.translate(0, textHeight / 2); - } + } + + if (rectifierType == RectifierType.SquareBR3) + y -= BR3_HOLE_SIZE.convertToPixels(); g2d.drawString(l, x, y); diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 75b92db4..2801de6a 100644 Binary files a/diylc/diylc-swing/lib/diylc-core.jar and b/diylc/diylc-swing/lib/diylc-core.jar differ diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index d6c21b0e..48f2b3bd 100644 Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ