PCBmodE update: copper pours and stuff
I've pushed an updated to PCBmodE's development branch, merged it with the production branch and bumped the version number to 2.0! Before talking about the update, I want to mention that 'production' may be misleading -- several of the added features have not been confirmed to work correctly through actual manufacturing. So take care that everything is as it should be on your Gerbers before shipping the board out to manufacture. (I'd be very happy to have a look at the board before it's shipped!)
'Copper pours' were the last of a list of features I wanted to add to PCBmodE before manufacturing another board. I thought that if anyone would venture to use PCBmodE, they would want to make a dual sided board with vias and pours. Now it's possible. Here's the 'both' design with two random pour shapes on the top layer and a pour spanning the entire bottom layer (the pour colours are muted copper colours so they don't obstruct the view):
The shapes can be seen better in the 'gerbv' view:
You can download the SVG here.
Here are the definitions that generated those pours:
"pours":
{
"top":
[
{
"type": "path",
"value": "m -19.889502,-15.149225 c ... -10.7235686,0.339089 z",
"location": [0, 0]
},
{
"type": "path",
"value": "m 10.306124,-22.82666 c ... -2.842938,-2.520133 z",
"location": [0, 0]
}
],
"bottom":
[
{
"type": "board_outline"
}
]
}
Notice that the bottom pour is auto-generated from a single "instruction"; there's no need to draw anything. The distances from the pour to the other features can be defined as follows in the board configuration file:
"distances":
{
"buffer_from_pour_to":
{
"pad": 0.5,
"drill": 0.5,
"route": 0.5,
"board_outline": 0.5
}
}
Although if those are missing, hard-coded defaults kick in.
Here's what 'pieceof' looks like with a copper pour on the top layer (using default distance values):
Recall that PCBmodE does not currently have a netlist, so there's no way to connect the pour to a copper feature automatically. To make a connection or 'flash', use manual routing.
Finally, another major change is that PCBmodE has its own styles directory to fall back onto if not overridden by a style file local to the project. This allows the designer to have a single style for all boards instead of copying a style sheet to all projects when there's a change.
'Copper pours' were the last of a list of features I wanted to add to PCBmodE before manufacturing another board. I thought that if anyone would venture to use PCBmodE, they would want to make a dual sided board with vias and pours. Now it's possible. Here's the 'both' design with two random pour shapes on the top layer and a pour spanning the entire bottom layer (the pour colours are muted copper colours so they don't obstruct the view):
The shapes can be seen better in the 'gerbv' view:
You can download the SVG here.
Here are the definitions that generated those pours:
"pours":
{
"top":
[
{
"type": "path",
"value": "m -19.889502,-15.149225 c ... -10.7235686,0.339089 z",
"location": [0, 0]
},
{
"type": "path",
"value": "m 10.306124,-22.82666 c ... -2.842938,-2.520133 z",
"location": [0, 0]
}
],
"bottom":
[
{
"type": "board_outline"
}
]
}
Notice that the bottom pour is auto-generated from a single "instruction"; there's no need to draw anything. The distances from the pour to the other features can be defined as follows in the board configuration file:
"distances":
{
"buffer_from_pour_to":
{
"pad": 0.5,
"drill": 0.5,
"route": 0.5,
"board_outline": 0.5
}
}
Although if those are missing, hard-coded defaults kick in.
Here's what 'pieceof' looks like with a copper pour on the top layer (using default distance values):
Recall that PCBmodE does not currently have a netlist, so there's no way to connect the pour to a copper feature automatically. To make a connection or 'flash', use manual routing.
Finally, another major change is that PCBmodE has its own styles directory to fall back onto if not overridden by a style file local to the project. This allows the designer to have a single style for all boards instead of copying a style sheet to all projects when there's a change.