diff --git a/diylc/catalog_full.json b/diylc/catalog_full.json index 4fd7d6473..b55f97ce8 100644 --- a/diylc/catalog_full.json +++ b/diylc/catalog_full.json @@ -1011,17 +1011,12 @@ "namePrefix" : "Trace", "description" : "Straight copper trace", "creationMethod" : "POINT_BY_POINT", - "notes" : [ "Use for copper on PCB layouts; for a wire link use Jumper or Hookup Wire", "A single straight segment on the copper side chosen by 'Board Side'; chain segments end to end for bends, or use Curved Trace", "The whole length is copper: any terminal or copper on the same layer that it touches or crosses is connected, not just its ends, so traces of different nets must not cross" ], + "notes" : [ "Use for copper on PCB layouts; for a wire link use Jumper or Hookup Wire", "A single straight segment on the copper side chosen by 'Layer'; chain segments end to end for bends, or use Curved Trace", "The whole length is copper: any terminal or copper on the same layer that it touches or crosses is connected, not just its ends, so traces of different nets must not cross" ], "properties" : [ { "name" : "Alpha", "type" : "Percentage", "format" : "number without the % sign, e.g. 100", "defaultValue" : "100" - }, { - "name" : "Board Side", - "type" : "PCBLayer", - "possibleValues" : [ "_1", "_2" ], - "defaultValue" : "_1" }, { "name" : "Color", "type" : "Color", @@ -1037,6 +1032,11 @@ "type" : "LineEndingStyle", "possibleValues" : [ "Round", "Flat" ], "defaultValue" : "Round" + }, { + "name" : "Layer", + "type" : "PCBLayer", + "possibleValues" : [ "_1", "_2" ], + "defaultValue" : "_1" }, { "name" : "Name", "type" : "String" @@ -1064,11 +1064,6 @@ "type" : "Percentage", "format" : "number without the % sign, e.g. 100", "defaultValue" : "100" - }, { - "name" : "Board Side", - "type" : "PCBLayer", - "possibleValues" : [ "_1", "_2" ], - "defaultValue" : "_1" }, { "name" : "Color", "type" : "Color", @@ -1079,6 +1074,11 @@ "type" : "LineEndingStyle", "possibleValues" : [ "Round", "Flat" ], "defaultValue" : "Round" + }, { + "name" : "Layer", + "type" : "PCBLayer", + "possibleValues" : [ "_1", "_2" ], + "defaultValue" : "_1" }, { "name" : "Name", "type" : "String" @@ -1269,11 +1269,6 @@ "type" : "Percentage", "format" : "number without the % sign, e.g. 100", "defaultValue" : "100" - }, { - "name" : "Board Side", - "type" : "PCBLayer", - "possibleValues" : [ "_1", "_2" ], - "defaultValue" : "_1" }, { "name" : "Color", "type" : "Color", @@ -1284,6 +1279,11 @@ "type" : "PointCount", "possibleValues" : [ "_3", "_4", "_5", "_6", "_7", "_8" ], "defaultValue" : "_4" + }, { + "name" : "Layer", + "type" : "PCBLayer", + "possibleValues" : [ "_1", "_2" ], + "defaultValue" : "_1" }, { "name" : "Name", "type" : "String" @@ -1697,11 +1697,6 @@ "type" : "Percentage", "format" : "number without the % sign, e.g. 100", "defaultValue" : "100" - }, { - "name" : "Board Side", - "type" : "PCBLayer", - "possibleValues" : [ "_1", "_2" ], - "defaultValue" : "_1" }, { "name" : "Color", "type" : "Color", @@ -1718,6 +1713,11 @@ "type" : "HoleType", "possibleValues" : [ "NONE", "PTH", "NTPH" ], "defaultValue" : "NTPH" + }, { + "name" : "Layer", + "type" : "PCBLayer", + "possibleValues" : [ "_1", "_2" ], + "defaultValue" : "_1" }, { "name" : "Node Name", "type" : "String" @@ -12013,11 +12013,6 @@ "description" : "Mirrored text for PCB artwork", "creationMethod" : "SINGLE_CLICK", "properties" : [ { - "name" : "Board Side", - "type" : "PCBLayer", - "possibleValues" : [ "_1", "_2" ], - "defaultValue" : "_1" - }, { "name" : "Color", "type" : "Color", "format" : "hex", @@ -12042,6 +12037,11 @@ "type" : "HorizontalAlignment", "possibleValues" : [ "LEFT", "CENTER", "RIGHT" ], "defaultValue" : "CENTER" + }, { + "name" : "Layer", + "type" : "PCBLayer", + "possibleValues" : [ "_1", "_2" ], + "defaultValue" : "_1" }, { "name" : "Orientation", "type" : "Orientation", diff --git a/diylc/diylc-core/src/main/java/org/diylc/core/IPCBLayerComponent.java b/diylc/diylc-core/src/main/java/org/diylc/core/IPCBLayerComponent.java index 6ab1bf735..d048dabe2 100644 --- a/diylc/diylc-core/src/main/java/org/diylc/core/IPCBLayerComponent.java +++ b/diylc/diylc-core/src/main/java/org/diylc/core/IPCBLayerComponent.java @@ -25,8 +25,9 @@ import org.diylc.common.PCBLayer; /** * Interface for copper drawn on a layer of a PCB, such as a trace, pad, ground fill or PCB text. - * The layer is the copper's board side, shown to the user as 'Board Side', but unlike the side of a - * mounted part it also decides which other copper the copper connects to. + * The layer is the copper's board side, but unlike the side of a mounted part it also decides + * which other copper the copper connects to. It keeps the name 'Layer' in the editor, which is + * what PCB tools call it for copper. * * @author Branislav Stojkovic */ diff --git a/diylc/diylc-core/src/main/resources/update.xml b/diylc/diylc-core/src/main/resources/update.xml index 42696fa19..87e200598 100644 --- a/diylc/diylc-core/src/main/resources/update.xml +++ b/diylc/diylc-core/src/main/resources/update.xml @@ -657,10 +657,6 @@ IMPROVEMENT Inner layers 1 to 6 are no longer offered for traces, pads and other copper, since boards are two-sided; projects that use them still open unchanged - - IMPROVEMENT - The 'Layer' property of traces, curved traces, ground fills, solder pads and PCB text is now called 'Board Side', the same as on resistors, ICs and other parts - IMPROVEMENT PCB text on the bottom layer is now printed on the bottom page of the silkscreen print-out, not the top one diff --git a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CopperTrace.java b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CopperTrace.java index 3b85b312a..5ae46797b 100644 --- a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CopperTrace.java +++ b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CopperTrace.java @@ -52,7 +52,7 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; @AiNote(value = "Use for copper on PCB layouts; for a wire link use Jumper or Hookup Wire", scope = Scope.SELECTION) -@AiNote("A single straight segment on the copper side chosen by 'Board Side'; chain segments end to end for bends, or use Curved Trace") +@AiNote("A single straight segment on the copper side chosen by 'Layer'; chain segments end to end for bends, or use Curved Trace") @AiNote("The whole length is copper: any terminal or copper on the same layer that it touches or crosses is connected, not just its ends, so traces of different nets must not cross") @ComponentDescriptor(name = "Copper Trace", author = "Branislav Stojkovic", category = "Connectivity", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "Trace", @@ -117,7 +117,7 @@ public class CopperTrace extends AbstractLeadedComponent this.thickness = thickness; } - @EditableProperty(name = "Board Side") + @EditableProperty @Override public PCBLayer getLayer() { if (layer == null) { diff --git a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CurvedTrace.java b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CurvedTrace.java index 84aeab040..11eda202e 100644 --- a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CurvedTrace.java +++ b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/CurvedTrace.java @@ -105,7 +105,7 @@ public class CurvedTrace extends AbstractCurvedComponent this.size = size; } - @EditableProperty(name = "Board Side") + @EditableProperty @Override public PCBLayer getLayer() { if (layer == null) { diff --git a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/GroundFill.java b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/GroundFill.java index 6a2f11544..edbb56fe7 100644 --- a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/GroundFill.java +++ b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/GroundFill.java @@ -152,7 +152,7 @@ public class GroundFill extends AbstractTransparentComponent this.pointCount = pointCount; } - @EditableProperty(name = "Board Side") + @EditableProperty @Override public PCBLayer getLayer() { if (layer == null) { diff --git a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/SolderPad.java b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/SolderPad.java index 4532f468b..179a8a95a 100644 --- a/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/SolderPad.java +++ b/diylc/diylc-library/src/main/java/org/diylc/components/connectivity/SolderPad.java @@ -190,7 +190,7 @@ public class SolderPad extends AbstractTransparentComponent this.holeSize = holeSize; } - @EditableProperty(name = "Board Side") + @EditableProperty @Override public PCBLayer getLayer() { if (layer == null) { diff --git a/diylc/diylc-library/src/main/java/org/diylc/components/misc/PCBText.java b/diylc/diylc-library/src/main/java/org/diylc/components/misc/PCBText.java index b406fbca5..b525381e3 100644 --- a/diylc/diylc-library/src/main/java/org/diylc/components/misc/PCBText.java +++ b/diylc/diylc-library/src/main/java/org/diylc/components/misc/PCBText.java @@ -325,7 +325,7 @@ public class PCBText extends AbstractComponent this.horizontalAlignment = alignment; } - @EditableProperty(name = "Board Side") + @EditableProperty @Override public PCBLayer getLayer() { if (layer == null) { diff --git a/diylc/diylc-library/src/test/java/org/diylc/plugins/chatbot/service/ComponentCatalogGeneratorTest.java b/diylc/diylc-library/src/test/java/org/diylc/plugins/chatbot/service/ComponentCatalogGeneratorTest.java index 75d5ad9ed..77df436f3 100644 --- a/diylc/diylc-library/src/test/java/org/diylc/plugins/chatbot/service/ComponentCatalogGeneratorTest.java +++ b/diylc/diylc-library/src/test/java/org/diylc/plugins/chatbot/service/ComponentCatalogGeneratorTest.java @@ -98,7 +98,7 @@ public class ComponentCatalogGeneratorTest { assertTrue("a switch carries its switching table", variants.get(0).containsKey("switching")); // the deprecated inner layers are kept only so that old files load - Map layer = findProperty(find(components, "connectivity.CopperTrace"), "Board Side"); + Map layer = findProperty(find(components, "connectivity.CopperTrace"), "Layer"); assertEquals(List.of("_1", "_2"), layer.get("possibleValues")); } diff --git a/diylc/docs/plans/bottom-side-components.md b/diylc/docs/plans/bottom-side-components.md index 9f896cf9b..d7e338cff 100644 --- a/diylc/docs/plans/bottom-side-components.md +++ b/diylc/docs/plans/bottom-side-components.md @@ -30,9 +30,9 @@ projects; the open questions below remain. `PCBText` - implements `IPCBLayerComponent` (`getLayer`/`setLayer`), which `PCBLayerFilter` and the trace-mask print-out use to tell copper from parts. `IPCBLayerComponent` extends `IBoardSideComponent`, reading and writing the side through the layer, with the deprecated inner - layers counted as the bottom, so copper has one side like any part. The copper's layer property - is shown as **Board Side**, the same as on parts; its field is still `layer`, so files are - unaffected. + layers counted as the bottom, so copper has one side like any part. In the editor the copper + keeps its **Layer** property, the term PCB tools use for copper, while parts show **Board Side**, + the term they use for where a part is mounted. - A simple component's Gerber layer follows its side: the default `IGerberComponentSimple.getGerberLayer()` returns `SilkscreenBot` for an `IBoardSideComponent` on `_1` (Bottom) and `SilkscreenTop` otherwise. `GerberExporter.drawComponent`, package-private so