Add a min width parameter to plot solder mask layers.
This commit is contained in:
parent
31e58d87d4
commit
703293fa30
|
@ -427,6 +427,7 @@ set( BMAPS_MID
|
|||
ortho
|
||||
pad_sketch
|
||||
pad
|
||||
pad_dimensions
|
||||
pads_mask_layers
|
||||
palette
|
||||
part_properties
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
|
||||
/* Do not modify this file, it was automatically generated by the
|
||||
* PNG2cpp CMake script, using a *.png file as input.
|
||||
*/
|
||||
|
||||
#include <bitmaps.h>
|
||||
|
||||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x04, 0x35, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x9d, 0x95, 0x5d, 0x6c, 0x14,
|
||||
0x55, 0x14, 0x80, 0xf7, 0xa7, 0xdd, 0xba, 0x3f, 0x33, 0x73, 0xa7, 0xdb, 0x9d, 0x69, 0xeb, 0x02,
|
||||
0x16, 0x46, 0xda, 0x6d, 0x67, 0xfb, 0x60, 0x25, 0x14, 0xd1, 0x80, 0x82, 0x46, 0x48, 0x94, 0x46,
|
||||
0x20, 0x60, 0x10, 0xf4, 0x41, 0x20, 0xfe, 0xbd, 0xc0, 0x83, 0x21, 0x15, 0x53, 0x51, 0xcc, 0x4a,
|
||||
0xe5, 0xa1, 0x5a, 0x1f, 0xc0, 0x1f, 0x12, 0xb6, 0xc5, 0x62, 0xa4, 0xa0, 0x96, 0x16, 0x52, 0x69,
|
||||
0x35, 0x8d, 0x60, 0x05, 0x62, 0xa2, 0xa6, 0x31, 0xb1, 0xf2, 0x02, 0xc1, 0x52, 0x35, 0xd2, 0x16,
|
||||
0x28, 0xd9, 0x4e, 0xe7, 0x78, 0xee, 0xf6, 0x2e, 0xbd, 0xb3, 0x3b, 0xdb, 0xad, 0x4e, 0xf2, 0x3d,
|
||||
0xec, 0xec, 0xb9, 0xe7, 0xbb, 0xf7, 0xdc, 0x3b, 0xe7, 0x3a, 0x00, 0xc0, 0x41, 0xd1, 0x75, 0xe8,
|
||||
0x43, 0xda, 0x52, 0xbf, 0x53, 0xe0, 0x23, 0x23, 0x65, 0x36, 0xef, 0xe7, 0x23, 0xa5, 0xe9, 0xef,
|
||||
0xa3, 0x51, 0x78, 0x19, 0xf3, 0xfc, 0x5a, 0x5d, 0x0d, 0x96, 0x31, 0x0e, 0x4e, 0x34, 0x84, 0x41,
|
||||
0xdf, 0x73, 0x89, 0x6a, 0x90, 0x8f, 0x91, 0x5b, 0xc8, 0x22, 0x1b, 0x51, 0x05, 0x32, 0x81, 0x7c,
|
||||
0x8e, 0xac, 0x40, 0x9c, 0x2c, 0x4f, 0x03, 0x02, 0x98, 0xab, 0x22, 0xab, 0x48, 0xd7, 0x8d, 0x1f,
|
||||
0x70, 0xc0, 0x2e, 0xe4, 0x37, 0x04, 0x18, 0x63, 0xc8, 0x26, 0x8e, 0x67, 0x18, 0x9b, 0x91, 0x61,
|
||||
0x2e, 0xee, 0x0f, 0x64, 0x7f, 0x24, 0x72, 0x3d, 0x96, 0x53, 0x54, 0x59, 0x39, 0xfa, 0x33, 0x06,
|
||||
0x9f, 0x43, 0x4c, 0x2e, 0xc1, 0x28, 0xd2, 0x8a, 0xb4, 0x30, 0xe2, 0x8c, 0xc3, 0xc8, 0x5f, 0x5c,
|
||||
0xdc, 0x24, 0xd2, 0xa7, 0x69, 0xbf, 0x1c, 0xcc, 0x29, 0x4a, 0x95, 0x0e, 0x9f, 0xbb, 0x91, 0x37,
|
||||
0x90, 0xab, 0x2c, 0xc9, 0x02, 0x9b, 0xd2, 0xa9, 0x6c, 0x42, 0x97, 0x91, 0xd7, 0xe8, 0xef, 0x59,
|
||||
0x97, 0x8e, 0xdf, 0x23, 0x96, 0x2c, 0x1f, 0x59, 0x8f, 0x3c, 0xc4, 0xbd, 0x73, 0x32, 0xee, 0x47,
|
||||
0xd6, 0x21, 0x79, 0xfc, 0x98, 0xff, 0x25, 0xa2, 0xa8, 0xa7, 0x03, 0x8a, 0xd2, 0x43, 0xb6, 0x28,
|
||||
0x3d, 0xf2, 0x07, 0xc8, 0x45, 0xe5, 0x0c, 0xe9, 0x0f, 0x9d, 0x92, 0x9b, 0x43, 0x5f, 0x90, 0x67,
|
||||
0x7d, 0x7b, 0x7d, 0x25, 0x28, 0xf2, 0x20, 0xee, 0xff, 0x74, 0x18, 0xd2, 0x45, 0x6a, 0xaf, 0xbc,
|
||||
0x51, 0xf9, 0x46, 0xfe, 0x5b, 0xe9, 0x95, 0x41, 0xed, 0x91, 0xa1, 0xe6, 0xa8, 0x0c, 0xd5, 0xc7,
|
||||
0x08, 0xd0, 0xdf, 0x49, 0xba, 0xc9, 0xb0, 0xb4, 0x5f, 0xd8, 0x8a, 0x92, 0x62, 0xc4, 0x47, 0x85,
|
||||
0xba, 0x6e, 0xce, 0x5e, 0xe4, 0xf8, 0xcc, 0xe1, 0x0e, 0xf5, 0xca, 0x6d, 0x34, 0xd9, 0xb2, 0x43,
|
||||
0x04, 0x3a, 0x57, 0x0a, 0x70, 0x5d, 0x0d, 0x00, 0x04, 0xa6, 0xb8, 0x36, 0x47, 0x80, 0xd6, 0x3a,
|
||||
0x11, 0xa2, 0x4c, 0x5a, 0x78, 0x48, 0x3c, 0x85, 0xeb, 0x8a, 0xa2, 0x28, 0x58, 0x55, 0x95, 0xd8,
|
||||
0x33, 0x6b, 0x11, 0x96, 0xea, 0x75, 0x9a, 0xa0, 0x7e, 0x87, 0x04, 0x09, 0x32, 0x2d, 0x48, 0xe7,
|
||||
0x9f, 0xe2, 0x00, 0x6c, 0xda, 0x37, 0x25, 0x13, 0x77, 0xfb, 0x3f, 0x45, 0xd1, 0xd2, 0x8a, 0x8a,
|
||||
0xe1, 0x46, 0x2a, 0xd2, 0xf5, 0x44, 0x64, 0x46, 0x91, 0xda, 0x13, 0x5c, 0x8c, 0x03, 0x27, 0x36,
|
||||
0xbf, 0x43, 0xb2, 0x0a, 0x78, 0xe8, 0x44, 0x1e, 0x3c, 0x4c, 0x20, 0xd4, 0x4d, 0x8c, 0x82, 0xa5,
|
||||
0x9e, 0x7d, 0x9a, 0xf6, 0xe3, 0x27, 0x54, 0x14, 0x89, 0xfc, 0x59, 0x95, 0xda, 0x37, 0x5b, 0x11,
|
||||
0x96, 0xac, 0xb7, 0xac, 0x4b, 0x4e, 0x96, 0x87, 0x4f, 0x38, 0xae, 0x14, 0x9a, 0x23, 0x6b, 0xd7,
|
||||
0x4c, 0x8c, 0xae, 0x7a, 0xcc, 0x30, 0x88, 0x64, 0xf9, 0xaf, 0x7f, 0x91, 0x90, 0x5c, 0x15, 0x69,
|
||||
0x12, 0x06, 0xe7, 0xcd, 0x3b, 0xd9, 0x41, 0x45, 0x9a, 0x76, 0xe1, 0xbe, 0xac, 0x22, 0x3d, 0x6a,
|
||||
0xf6, 0xe3, 0x80, 0xb1, 0xad, 0x6f, 0x5a, 0x13, 0x8d, 0x94, 0x97, 0x19, 0x30, 0x34, 0x04, 0x77,
|
||||
0x9e, 0x81, 0x01, 0xb8, 0xad, 0x16, 0x99, 0x7c, 0xcc, 0x03, 0x2d, 0x04, 0x8a, 0x8e, 0x93, 0x5b,
|
||||
0xe1, 0x70, 0xeb, 0x59, 0x2a, 0x0a, 0x87, 0xe3, 0xcb, 0xf8, 0xa3, 0x6f, 0x15, 0xd5, 0xdc, 0xf8,
|
||||
0x89, 0xce, 0xac, 0xe9, 0x39, 0xd1, 0x22, 0x32, 0xbb, 0xba, 0x20, 0xfd, 0x99, 0x8c, 0xc5, 0x2c,
|
||||
0xa2, 0x97, 0x76, 0x4b, 0xc9, 0x55, 0x85, 0xcb, 0x0f, 0x0e, 0x50, 0x91, 0xaa, 0xbe, 0xf5, 0x04,
|
||||
0x8a, 0xee, 0x4a, 0xad, 0x8a, 0x17, 0xf5, 0x45, 0x96, 0x5f, 0xea, 0xa3, 0xc1, 0x47, 0xea, 0xac,
|
||||
0x65, 0x83, 0xc1, 0xc1, 0x0c, 0x11, 0xb4, 0xb7, 0x5b, 0x62, 0xf6, 0xbc, 0x32, 0x25, 0x92, 0x96,
|
||||
0x2c, 0xbf, 0x58, 0x52, 0xd2, 0x78, 0xc2, 0xef, 0xaf, 0x7d, 0x14, 0x25, 0x42, 0x86, 0x88, 0x52,
|
||||
0xda, 0x2d, 0xcf, 0xa5, 0xc1, 0x7b, 0x5f, 0xb4, 0x96, 0x6e, 0xbc, 0xf9, 0xfd, 0xc9, 0x74, 0xcf,
|
||||
0xf8, 0xf6, 0x6d, 0x06, 0x1f, 0xb3, 0x25, 0x96, 0x3c, 0x7d, 0xa6, 0x53, 0x74, 0x7e, 0x85, 0xc9,
|
||||
0x63, 0xc8, 0xc3, 0xec, 0x8a, 0x71, 0x65, 0x88, 0xa8, 0x1d, 0x83, 0xaf, 0x3e, 0xd5, 0x64, 0x3d,
|
||||
0x71, 0x37, 0x54, 0xd9, 0x9c, 0xe8, 0xe8, 0x30, 0x93, 0x06, 0xc3, 0x80, 0x44, 0x73, 0xf3, 0xa4,
|
||||
0x29, 0x4c, 0xaf, 0xda, 0x10, 0x03, 0x50, 0x79, 0x42, 0x86, 0x60, 0x8b, 0x34, 0x82, 0x39, 0xda,
|
||||
0x91, 0xb7, 0x11, 0xba, 0x47, 0x52, 0x76, 0xd1, 0x19, 0x39, 0x4e, 0xbb, 0xc0, 0x85, 0x1a, 0x21,
|
||||
0xe3, 0x28, 0x8f, 0x17, 0x17, 0x99, 0x89, 0x20, 0x31, 0xd3, 0xdf, 0xc7, 0xd7, 0x8a, 0x53, 0xdf,
|
||||
0xd2, 0xab, 0xbe, 0x4b, 0x98, 0xe3, 0x28, 0x52, 0xcf, 0x7a, 0xa1, 0xcf, 0xb6, 0x74, 0xc9, 0x8f,
|
||||
0xf5, 0x43, 0xbf, 0xaa, 0x7c, 0x4d, 0xae, 0x2d, 0x69, 0x25, 0x70, 0x33, 0x98, 0xfb, 0x3b, 0xba,
|
||||
0x52, 0x26, 0x80, 0x76, 0x52, 0x86, 0xa2, 0x63, 0xe4, 0x26, 0x96, 0xad, 0x13, 0x13, 0x7f, 0x84,
|
||||
0x3c, 0x8f, 0xdc, 0xcb, 0xfa, 0xa0, 0xbd, 0x88, 0xfe, 0x11, 0x3c, 0x42, 0xea, 0x68, 0xbd, 0x1f,
|
||||
0x3f, 0x40, 0x60, 0x70, 0xa1, 0x90, 0x55, 0x72, 0x76, 0xb1, 0x90, 0xec, 0x7f, 0xd8, 0x6c, 0x4d,
|
||||
0x4f, 0x6d, 0xfe, 0x77, 0x38, 0x96, 0x76, 0x87, 0x06, 0x76, 0xe3, 0x86, 0x68, 0xef, 0xcb, 0x38,
|
||||
0xde, 0x69, 0xd7, 0x40, 0x5e, 0x30, 0x2e, 0xbd, 0xa0, 0x74, 0xcb, 0x63, 0x73, 0x4e, 0x13, 0xd8,
|
||||
0xb5, 0x53, 0x82, 0xae, 0x15, 0x02, 0x5c, 0x9e, 0x2f, 0xc0, 0xef, 0x0b, 0x03, 0x70, 0x7c, 0xb5,
|
||||
0x08, 0xdb, 0x1b, 0xa4, 0x64, 0xa3, 0x0d, 0x7d, 0x29, 0xdd, 0xf6, 0xae, 0xf2, 0x9c, 0x67, 0x25,
|
||||
0x7b, 0x17, 0xd9, 0x40, 0xef, 0x2f, 0xfe, 0x68, 0xdb, 0x8a, 0x38, 0x99, 0xd7, 0xbb, 0xc1, 0x5b,
|
||||
0x1b, 0x6c, 0x93, 0xce, 0xd3, 0xd5, 0xdd, 0xe9, 0xd8, 0xd3, 0x98, 0xa4, 0x31, 0x70, 0xc5, 0x5d,
|
||||
0xe8, 0xec, 0x60, 0x37, 0x6e, 0x8c, 0x5d, 0xf1, 0x3a, 0x3b, 0xd6, 0x2e, 0xdb, 0x5e, 0x97, 0x45,
|
||||
0x46, 0x37, 0xf3, 0x1e, 0xb7, 0xe6, 0x7e, 0xd2, 0xf7, 0xb4, 0xf7, 0x3d, 0xa9, 0xde, 0xff, 0xad,
|
||||
0xb0, 0xc3, 0x77, 0xae, 0xe0, 0x11, 0x4f, 0xa7, 0x4b, 0x70, 0xd1, 0xe4, 0x07, 0xd8, 0x2a, 0x76,
|
||||
0x22, 0xf4, 0x03, 0x2d, 0x47, 0x44, 0xfe, 0x7e, 0xca, 0x29, 0xe2, 0x64, 0x05, 0xac, 0xde, 0x74,
|
||||
0xa6, 0x2b, 0x91, 0x8d, 0x6c, 0xb3, 0xb7, 0xb1, 0x15, 0xac, 0x46, 0x68, 0x5f, 0x2b, 0x65, 0x13,
|
||||
0x73, 0xd9, 0xe6, 0x9a, 0x49, 0xc4, 0xef, 0x19, 0x2d, 0x25, 0xbd, 0x6f, 0x90, 0x30, 0xdb, 0x03,
|
||||
0x0d, 0x99, 0xcb, 0x26, 0xe1, 0x67, 0x31, 0xce, 0xac, 0x79, 0x72, 0x89, 0xd2, 0x84, 0x2e, 0x96,
|
||||
0x30, 0x9f, 0x91, 0x97, 0x2a, 0xd3, 0x4c, 0x12, 0xca, 0xbf, 0x3d, 0x4e, 0xfc, 0x16, 0xbb, 0x02,
|
||||
0x66, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE pad_dimensions_xpm[1] = {{ png, sizeof( png ), "pad_dimensions_xpm" }};
|
||||
|
||||
//EOF
|
|
@ -0,0 +1,247 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg3054"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="pad.svg">
|
||||
<metadata
|
||||
id="metadata3081">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="879"
|
||||
inkscape:window-height="789"
|
||||
id="namedview3079"
|
||||
showgrid="false"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="25.116"
|
||||
inkscape:cy="26.510998"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="76"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg3054" />
|
||||
<defs
|
||||
id="defs3056">
|
||||
<filter
|
||||
id="a"
|
||||
height="1.2769"
|
||||
width="1.2769"
|
||||
color-interpolation-filters="sRGB"
|
||||
y="-.13847"
|
||||
x="-.13847">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.11539203"
|
||||
id="feGaussianBlur3059" />
|
||||
</filter>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter3879">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.24369333"
|
||||
id="feGaussianBlur3881" />
|
||||
</filter>
|
||||
<marker
|
||||
id="h"
|
||||
refY="0"
|
||||
refX="0"
|
||||
overflow="visible"
|
||||
orient="auto"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
|
||||
transform="scale(0.6,0.6)"
|
||||
id="path10"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
|
||||
</marker>
|
||||
<marker
|
||||
id="g"
|
||||
refY="0"
|
||||
refX="0"
|
||||
overflow="visible"
|
||||
orient="auto"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
|
||||
transform="scale(-0.6,-0.6)"
|
||||
id="path13"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
|
||||
</marker>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter3879-1">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.24369333"
|
||||
id="feGaussianBlur3881-7" />
|
||||
</filter>
|
||||
<marker
|
||||
id="h-4"
|
||||
refY="0"
|
||||
refX="0"
|
||||
overflow="visible"
|
||||
orient="auto"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
|
||||
transform="scale(0.6,0.6)"
|
||||
id="path10-0"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
|
||||
</marker>
|
||||
<marker
|
||||
id="g-9"
|
||||
refY="0"
|
||||
refX="0"
|
||||
overflow="visible"
|
||||
orient="auto"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
|
||||
transform="scale(-0.6,-0.6)"
|
||||
id="path13-4"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
|
||||
</marker>
|
||||
<marker
|
||||
id="marker4760"
|
||||
refY="0"
|
||||
refX="0"
|
||||
overflow="visible"
|
||||
orient="auto"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
|
||||
transform="scale(0.6,0.6)"
|
||||
id="path4762"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
|
||||
</marker>
|
||||
<marker
|
||||
id="marker4764"
|
||||
refY="0"
|
||||
refX="0"
|
||||
overflow="visible"
|
||||
orient="auto"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
|
||||
transform="scale(-0.6,-0.6)"
|
||||
id="path4766"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
transform="matrix(1.286,0,0,1.2826,58.06922,-14.528373)"
|
||||
id="g3061">
|
||||
<g
|
||||
transform="matrix(11.8,0,0,11.536,-260.89,-12.073)"
|
||||
id="g3063"
|
||||
style="opacity:0.71875;filter:url(#a)">
|
||||
<path
|
||||
d="m -15.125,8.9375 a 0.90625,0.9375 0 1 1 -1.8125,0 0.90625,0.9375 0 1 1 1.8125,0 z"
|
||||
transform="matrix(1.1034,0,-2.1667e-7,1.0667,37.69,-5.5333)"
|
||||
id="path3065"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill-rule:evenodd" />
|
||||
</g>
|
||||
<path
|
||||
d="m -15.125,8.9375 a 0.90625,0.9375 0 1 1 -1.8125,0 0.90625,0.9375 0 1 1 1.8125,0 z"
|
||||
transform="matrix(9.1879,0,-1.8041e-6,8.7704,119.31,-46.412)"
|
||||
id="path3067"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#16bf11;stroke-width:0.79392999" />
|
||||
<g
|
||||
transform="matrix(4.6582,0,0,4.6768,-121.15,13.266)"
|
||||
id="g3069"
|
||||
style="fill:#ffffff">
|
||||
<path
|
||||
d="m -15.125,8.9375 a 0.90625,0.9375 0 1 1 -1.8125,0 0.90625,0.9375 0 1 1 1.8125,0 z"
|
||||
transform="matrix(1.1034,0,-2.1667e-7,1.0667,37.69,-5.5333)"
|
||||
id="path3071"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-rule:evenodd" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(3.3534,0,0,2.4765,-1.5227797,14.344627)"
|
||||
id="g3073">
|
||||
<rect
|
||||
height="16"
|
||||
width="16"
|
||||
y="0"
|
||||
x="0"
|
||||
id="rect3075"
|
||||
style="fill-opacity:0" />
|
||||
</g>
|
||||
<path
|
||||
d="m 30.69521,26.522581 a 8.707635,8.658066 0 0 1 -17.41527,0 8.707635,8.658066 0 1 1 17.41527,0 z"
|
||||
id="path3077"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ff0c0c;stroke-width:6.90841627;stroke-linejoin:round" />
|
||||
<g
|
||||
id="g4856"
|
||||
transform="matrix(1,0,0,1.1269296,0,-3.477462)">
|
||||
<path
|
||||
d="M 8.3115104,8.2557245 36.075414,8.1934141"
|
||||
id="path44"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.75850904px;marker-start:url(#h);marker-end:url(#g)"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
height="24.035736"
|
||||
width="3.0803609"
|
||||
y="3.3610315"
|
||||
x="3.8921013"
|
||||
id="rect46"
|
||||
style="fill:#2c2cff;fill-opacity:1" />
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
height="23.291401"
|
||||
width="3.0848782"
|
||||
y="3.3610315"
|
||||
x="-40.90612"
|
||||
id="rect48"
|
||||
style="fill:#2c2cff;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g50"
|
||||
transform="matrix(1.6262979,0,0,1.2104957,-29.057051,-8.38233)">
|
||||
<rect
|
||||
style="fill-opacity:0"
|
||||
id="rect52"
|
||||
x="0"
|
||||
y="0"
|
||||
width="16"
|
||||
height="16" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.4 KiB |
|
@ -119,6 +119,7 @@ pads
|
|||
pad_drill
|
||||
pad_size
|
||||
pad_to_mask_clearance
|
||||
solder_mask_min_width
|
||||
pad_to_paste_clearance
|
||||
pad_to_paste_clearance_ratio
|
||||
page
|
||||
|
|
|
@ -351,6 +351,7 @@ EXTERN_BITMAP( opt_show_polygon_xpm )
|
|||
EXTERN_BITMAP( orient_xpm )
|
||||
EXTERN_BITMAP( pad_sketch_xpm )
|
||||
EXTERN_BITMAP( pad_xpm )
|
||||
EXTERN_BITMAP( pad_dimensions_xpm )
|
||||
EXTERN_BITMAP( pads_mask_layers_xpm )
|
||||
EXTERN_BITMAP( palette_xpm )
|
||||
EXTERN_BITMAP( part_properties_xpm )
|
||||
|
|
|
@ -34,6 +34,9 @@ public:
|
|||
|
||||
// Global mask margins:
|
||||
int m_SolderMaskMargin; ///< Solder mask margin
|
||||
int m_SolderMaskMinWidth; ///< Solder mask min width
|
||||
// 2 areas near than m_SolderMaskMinWidth
|
||||
// are merged
|
||||
int m_SolderPasteMargin; ///< Solder paste margin absolute value
|
||||
double m_SolderPasteMarginRatio; ///< Solder pask margin ratio value of pad size
|
||||
///< The final margin is the sum of these 2 values
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#define DEFAULT_GR_MODULE_THICKNESS Millimeter2iu( 0.15 )
|
||||
|
||||
#define DEFAULT_SOLDERMASK_CLEARANCE Millimeter2iu( 0.1 )
|
||||
#define DEFAULT_SOLDERMASK_MIN_WIDTH Millimeter2iu( 0.0 )
|
||||
|
||||
|
||||
BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS() :
|
||||
|
@ -63,7 +64,8 @@ BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS() :
|
|||
m_MicroViasMinDrill = DMils2iu( 50 ); // micro vias (not vias) min drill diameter
|
||||
|
||||
// Global mask margins:
|
||||
m_SolderMaskMargin = DEFAULT_SOLDERMASK_CLEARANCE; // Solder mask margin
|
||||
m_SolderMaskMargin = DEFAULT_SOLDERMASK_CLEARANCE; // Solder mask margin
|
||||
m_SolderMaskMinWidth = DEFAULT_SOLDERMASK_MIN_WIDTH; // Solder mask min width
|
||||
m_SolderPasteMargin = 0; // Solder paste margin absolute value
|
||||
m_SolderPasteMarginRatio = 0.0; // Solder pask margin ratio value of pad size
|
||||
// The final margin is the sum of these 2 values
|
||||
|
@ -120,6 +122,11 @@ void BOARD_DESIGN_SETTINGS::AppendConfigs( PARAM_CFG_ARRAY* aResult )
|
|||
DEFAULT_SOLDERMASK_CLEARANCE, 0, Millimeter2iu( 1.0 ),
|
||||
NULL, MM_PER_IU ) );
|
||||
|
||||
aResult->push_back( new PARAM_CFG_INT_WITH_SCALE( wxT( "SolderMaskMinWidth" ),
|
||||
&m_SolderMaskMinWidth,
|
||||
DEFAULT_SOLDERMASK_MIN_WIDTH, 0, Millimeter2iu( 0.5 ),
|
||||
NULL, MM_PER_IU ) );
|
||||
|
||||
aResult->push_back( new PARAM_CFG_INT_WITH_SCALE( wxT( "DrawSegmentWidth" ),
|
||||
&m_DrawSegmentWidth,
|
||||
DEFAULT_GRAPHIC_THICKNESS,
|
||||
|
|
|
@ -43,38 +43,40 @@
|
|||
DIALOG_PADS_MASK_CLEARANCE::DIALOG_PADS_MASK_CLEARANCE( PCB_EDIT_FRAME* aParent ) :
|
||||
DIALOG_PADS_MASK_CLEARANCE_BASE( aParent )
|
||||
{
|
||||
m_Parent = aParent;
|
||||
m_BrdSettings = m_Parent->GetBoard()->GetDesignSettings();
|
||||
m_parent = aParent;
|
||||
m_brdSettings = m_parent->GetBoard()->GetDesignSettings();
|
||||
|
||||
MyInit();
|
||||
myInit();
|
||||
m_sdbButtonsSizerOK->SetDefault();
|
||||
GetSizer()->SetSizeHints( this );
|
||||
Centre();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_PADS_MASK_CLEARANCE::MyInit()
|
||||
void DIALOG_PADS_MASK_CLEARANCE::myInit()
|
||||
{
|
||||
SetFocus();
|
||||
|
||||
m_SolderMaskMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||
m_solderMaskMinWidthUnit->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||
m_SolderPasteMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||
|
||||
PutValueInLocalUnits( *m_SolderMaskMarginCtrl, m_BrdSettings.m_SolderMaskMargin );
|
||||
PutValueInLocalUnits( *m_SolderMaskMarginCtrl, m_brdSettings.m_SolderMaskMargin );
|
||||
PutValueInLocalUnits( *m_SolderMaskMinWidthCtrl, m_brdSettings.m_SolderMaskMinWidth );
|
||||
|
||||
// These 2 parameters are usually < 0, so prepare entering a negative
|
||||
// value, if current is 0
|
||||
PutValueInLocalUnits( *m_SolderPasteMarginCtrl, m_BrdSettings.m_SolderPasteMargin );
|
||||
PutValueInLocalUnits( *m_SolderPasteMarginCtrl, m_brdSettings.m_SolderPasteMargin );
|
||||
|
||||
if( m_BrdSettings.m_SolderPasteMargin == 0 )
|
||||
if( m_brdSettings.m_SolderPasteMargin == 0 )
|
||||
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) +
|
||||
m_SolderPasteMarginCtrl->GetValue() );
|
||||
|
||||
wxString msg;
|
||||
msg.Printf( wxT( "%f" ), m_BrdSettings.m_SolderPasteMarginRatio * 100.0 );
|
||||
msg.Printf( wxT( "%f" ), m_brdSettings.m_SolderPasteMarginRatio * 100.0 );
|
||||
|
||||
// Sometimes Printf adds a sign if the value is small
|
||||
if( m_BrdSettings.m_SolderPasteMarginRatio == 0.0 && msg[0] == '0' )
|
||||
if( m_brdSettings.m_SolderPasteMarginRatio == 0.0 && msg[0] == '0' )
|
||||
m_SolderPasteMarginRatioCtrl->SetValue( wxT( "-" ) + msg );
|
||||
else
|
||||
m_SolderPasteMarginRatioCtrl->SetValue( msg );
|
||||
|
@ -83,9 +85,10 @@ void DIALOG_PADS_MASK_CLEARANCE::MyInit()
|
|||
|
||||
void DIALOG_PADS_MASK_CLEARANCE::OnButtonOkClick( wxCommandEvent& event )
|
||||
{
|
||||
m_BrdSettings.m_SolderMaskMargin = ReturnValueFromTextCtrl( *m_SolderMaskMarginCtrl );
|
||||
m_brdSettings.m_SolderMaskMargin = ReturnValueFromTextCtrl( *m_SolderMaskMarginCtrl );
|
||||
m_brdSettings.m_SolderMaskMinWidth = ReturnValueFromTextCtrl( *m_SolderMaskMinWidthCtrl );
|
||||
|
||||
m_BrdSettings.m_SolderPasteMargin = ReturnValueFromTextCtrl( *m_SolderPasteMarginCtrl );
|
||||
m_brdSettings.m_SolderPasteMargin = ReturnValueFromTextCtrl( *m_SolderPasteMarginCtrl );
|
||||
|
||||
double dtmp = 0;
|
||||
wxString msg = m_SolderPasteMarginRatioCtrl->GetValue();
|
||||
|
@ -99,9 +102,11 @@ void DIALOG_PADS_MASK_CLEARANCE::OnButtonOkClick( wxCommandEvent& event )
|
|||
if( dtmp > +100 )
|
||||
dtmp = +100;
|
||||
|
||||
m_BrdSettings.m_SolderPasteMarginRatio = dtmp / 100;
|
||||
m_brdSettings.m_SolderPasteMarginRatio = dtmp / 100;
|
||||
|
||||
m_Parent->GetBoard()->SetDesignSettings( m_BrdSettings );
|
||||
m_parent->OnModify();
|
||||
|
||||
m_parent->GetBoard()->SetDesignSettings( m_brdSettings );
|
||||
|
||||
EndModal( 1 );
|
||||
}
|
||||
|
|
|
@ -19,14 +19,14 @@
|
|||
class DIALOG_PADS_MASK_CLEARANCE : public DIALOG_PADS_MASK_CLEARANCE_BASE
|
||||
{
|
||||
private:
|
||||
PCB_EDIT_FRAME* m_Parent;
|
||||
BOARD_DESIGN_SETTINGS m_BrdSettings;
|
||||
PCB_EDIT_FRAME* m_parent;
|
||||
BOARD_DESIGN_SETTINGS m_brdSettings;
|
||||
|
||||
public:
|
||||
DIALOG_PADS_MASK_CLEARANCE( PCB_EDIT_FRAME* parent );
|
||||
~DIALOG_PADS_MASK_CLEARANCE() {};
|
||||
private:
|
||||
void MyInit();
|
||||
void myInit();
|
||||
virtual void OnButtonOkClick( wxCommandEvent& event );
|
||||
virtual void OnButtonCancelClick( wxCommandEvent& event );
|
||||
};
|
||||
|
|
|
@ -27,7 +27,7 @@ DIALOG_PADS_MASK_CLEARANCE_BASE::DIALOG_PADS_MASK_CLEARANCE_BASE( wxWindow* pare
|
|||
wxStaticBoxSizer* sbMiddleRightSizer;
|
||||
sbMiddleRightSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Dimensions:") ), wxVERTICAL );
|
||||
|
||||
m_staticTextInfo = new wxStaticText( this, wxID_ANY, _("Note:\n- a positive value means a mask bigger than a pad\n- a negative value means a mask smaller than a pad\n"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextInfo = new wxStaticText( this, wxID_ANY, _("Note: For clearance values:\n- a positive value means a mask bigger than a pad\n- a negative value means a mask smaller than a pad\n"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextInfo->Wrap( -1 );
|
||||
sbMiddleRightSizer->Add( m_staticTextInfo, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
@ -35,7 +35,7 @@ DIALOG_PADS_MASK_CLEARANCE_BASE::DIALOG_PADS_MASK_CLEARANCE_BASE( wxWindow* pare
|
|||
sbMiddleRightSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
wxFlexGridSizer* fgGridSolderMaskSizer;
|
||||
fgGridSolderMaskSizer = new wxFlexGridSizer( 2, 3, 0, 0 );
|
||||
fgGridSolderMaskSizer = new wxFlexGridSizer( 4, 3, 0, 0 );
|
||||
fgGridSolderMaskSizer->SetFlexibleDirection( wxBOTH );
|
||||
fgGridSolderMaskSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
|
@ -46,11 +46,11 @@ DIALOG_PADS_MASK_CLEARANCE_BASE::DIALOG_PADS_MASK_CLEARANCE_BASE( wxWindow* pare
|
|||
fgGridSolderMaskSizer->Add( m_MaskClearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_SolderMaskMarginCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderMaskMarginCtrl, 0, wxEXPAND|wxALL, 5 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderMaskMarginCtrl, 0, wxEXPAND|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_SolderMaskMarginUnits = new wxStaticText( this, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SolderMaskMarginUnits->Wrap( -1 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderMaskMarginUnits, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderMaskMarginUnits, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_staticTextSolderPaste = new wxStaticText( this, wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextSolderPaste->Wrap( -1 );
|
||||
|
@ -59,11 +59,11 @@ DIALOG_PADS_MASK_CLEARANCE_BASE::DIALOG_PADS_MASK_CLEARANCE_BASE( wxWindow* pare
|
|||
fgGridSolderMaskSizer->Add( m_staticTextSolderPaste, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_SolderPasteMarginCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteMarginCtrl, 0, wxALL, 5 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteMarginCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_SolderPasteMarginUnits = new wxStaticText( this, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SolderPasteMarginUnits->Wrap( -1 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteMarginUnits, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteMarginUnits, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_staticTextRatio = new wxStaticText( this, wxID_ANY, _("Solder mask ratio clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextRatio->Wrap( -1 );
|
||||
|
@ -72,11 +72,33 @@ DIALOG_PADS_MASK_CLEARANCE_BASE::DIALOG_PADS_MASK_CLEARANCE_BASE( wxWindow* pare
|
|||
fgGridSolderMaskSizer->Add( m_staticTextRatio, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_SolderPasteMarginRatioCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteMarginRatioCtrl, 0, wxALL, 5 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteMarginRatioCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_SolderPasteRatioMarginUnits = new wxStaticText( this, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SolderPasteRatioMarginUnits->Wrap( -1 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteRatioMarginUnits, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderPasteRatioMarginUnits, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_staticline3 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
fgGridSolderMaskSizer->Add( m_staticline3, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
m_staticline4 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
fgGridSolderMaskSizer->Add( m_staticline4, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
m_staticline5 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
fgGridSolderMaskSizer->Add( m_staticline5, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
m_staticTextMinWidth = new wxStaticText( this, wxID_ANY, _("Solder mask min width:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextMinWidth->Wrap( -1 );
|
||||
m_staticTextMinWidth->SetToolTip( _("Min dist between 2 pad areas.\nTwo pad areas nearer than this value will be merged during plotting.\nThis parameter is used only to plot solder mask layers.") );
|
||||
|
||||
fgGridSolderMaskSizer->Add( m_staticTextMinWidth, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_SolderMaskMinWidthCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgGridSolderMaskSizer->Add( m_SolderMaskMinWidthCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_solderMaskMinWidthUnit = new wxStaticText( this, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_solderMaskMinWidthUnit->Wrap( -1 );
|
||||
fgGridSolderMaskSizer->Add( m_solderMaskMinWidthUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
|
||||
sbMiddleRightSizer->Add( fgGridSolderMaskSizer, 1, wxEXPAND, 5 );
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<property name="minimum_size"></property>
|
||||
<property name="name">DIALOG_PADS_MASK_CLEARANCE_BASE</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">361,253</property>
|
||||
<property name="size">361,292</property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
||||
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
|
||||
<property name="title">Pads Mask Clearance</property>
|
||||
|
@ -144,7 +144,7 @@
|
|||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Note:
- a positive value means a mask bigger than a pad
- a negative value means a mask smaller than a pad
</property>
|
||||
<property name="label">Note: For clearance values:
- a positive value means a mask bigger than a pad
- a negative value means a mask smaller than a pad
</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
|
@ -290,7 +290,7 @@
|
|||
<property name="name">fgGridSolderMaskSizer</property>
|
||||
<property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="rows">2</property>
|
||||
<property name="rows">4</property>
|
||||
<property name="vgap">0</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
|
@ -377,7 +377,7 @@
|
|||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="flag">wxEXPAND|wxALL|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -468,7 +468,7 @@
|
|||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP|wxBOTTOM|wxRIGHT</property>
|
||||
<property name="flag">wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -634,7 +634,7 @@
|
|||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -725,7 +725,7 @@
|
|||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP|wxBOTTOM|wxRIGHT</property>
|
||||
<property name="flag">wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -891,7 +891,7 @@
|
|||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -982,7 +982,7 @@
|
|||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP|wxBOTTOM|wxRIGHT</property>
|
||||
<property name="flag">wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -1063,6 +1063,506 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND | wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticLine" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_staticline3</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style">wxLI_HORIZONTAL</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND | wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticLine" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_staticline4</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style">wxLI_HORIZONTAL</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND | wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticLine" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_staticline5</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style">wxLI_HORIZONTAL</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Solder mask min width:</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_staticTextMinWidth</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip">Min dist between 2 pad areas.
Two pad areas nearer than this value will be merged during plotting.
This parameter is used only to plot solder mask layers.</property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_SolderMaskMinWidthCtrl</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="value"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText"></event>
|
||||
<event name="OnTextEnter"></event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Inch</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_solderMaskMinWidthUnit</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
|
|
|
@ -52,6 +52,12 @@ class DIALOG_PADS_MASK_CLEARANCE_BASE : public DIALOG_SHIM
|
|||
wxStaticText* m_staticTextRatio;
|
||||
wxTextCtrl* m_SolderPasteMarginRatioCtrl;
|
||||
wxStaticText* m_SolderPasteRatioMarginUnits;
|
||||
wxStaticLine* m_staticline3;
|
||||
wxStaticLine* m_staticline4;
|
||||
wxStaticLine* m_staticline5;
|
||||
wxStaticText* m_staticTextMinWidth;
|
||||
wxTextCtrl* m_SolderMaskMinWidthCtrl;
|
||||
wxStaticText* m_solderMaskMinWidthUnit;
|
||||
wxStaticLine* m_staticline11;
|
||||
wxStdDialogButtonSizer* m_sdbButtonsSizer;
|
||||
wxButton* m_sdbButtonsSizerOK;
|
||||
|
@ -64,7 +70,7 @@ class DIALOG_PADS_MASK_CLEARANCE_BASE : public DIALOG_SHIM
|
|||
|
||||
public:
|
||||
|
||||
DIALOG_PADS_MASK_CLEARANCE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Pads Mask Clearance"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 361,253 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
DIALOG_PADS_MASK_CLEARANCE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Pads Mask Clearance"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 361,292 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DIALOG_PADS_MASK_CLEARANCE_BASE();
|
||||
|
||||
};
|
||||
|
|
|
@ -46,6 +46,7 @@ DIALOG_PLOT::DIALOG_PLOT( PCB_EDIT_FRAME* aParent ) :
|
|||
m_plotOpts( aParent->GetPlotSettings() )
|
||||
{
|
||||
m_config = wxGetApp().GetSettings();
|
||||
m_brdSettings = m_board->GetDesignSettings();
|
||||
|
||||
Init_Dialog();
|
||||
|
||||
|
@ -96,6 +97,11 @@ void DIALOG_PLOT::Init_Dialog()
|
|||
break;
|
||||
}
|
||||
|
||||
msg = ReturnStringFromValue( g_UserUnit, m_brdSettings.m_SolderMaskMargin, true );
|
||||
m_SolderMaskMarginCurrValue->SetLabel( msg );
|
||||
msg = ReturnStringFromValue( g_UserUnit, m_brdSettings.m_SolderMaskMinWidth, true );
|
||||
m_SolderMaskMinWidthCurrValue->SetLabel( msg );
|
||||
|
||||
|
||||
// Set units and value for HPGL pen size (this param in in mils).
|
||||
AddUnitSymbol( *m_textPenSize, g_UserUnit );
|
||||
|
@ -103,10 +109,6 @@ void DIALOG_PLOT::Init_Dialog()
|
|||
m_plotOpts.GetHPGLPenDiameter() * IU_PER_MILS );
|
||||
m_HPGLPenSizeOpt->AppendText( msg );
|
||||
|
||||
// Units are *always* cm/s for HPGL pen speed, from 1 to 99.
|
||||
msg = ReturnStringFromValue( UNSCALED_UNITS, m_plotOpts.GetHPGLPenSpeed() );
|
||||
m_HPGLPenSpeedOpt->AppendText( msg );
|
||||
|
||||
// Set units and value for HPGL pen overlay (this param in in mils).
|
||||
AddUnitSymbol( *m_textPenOvr, g_UserUnit );
|
||||
msg = ReturnStringFromValue( g_UserUnit,
|
||||
|
@ -308,7 +310,6 @@ void DIALOG_PLOT::SetPlotFormat( wxCommandEvent& event )
|
|||
m_useAuxOriginCheckBox->SetValue( false );
|
||||
m_linesWidth->Enable( true );
|
||||
m_HPGLPenSizeOpt->Enable( false );
|
||||
m_HPGLPenSpeedOpt->Enable( false );
|
||||
m_HPGLPenOverlayOpt->Enable( false );
|
||||
m_excludeEdgeLayerOpt->Enable( true );
|
||||
m_subtractMaskFromSilk->Enable( false );
|
||||
|
@ -337,7 +338,6 @@ void DIALOG_PLOT::SetPlotFormat( wxCommandEvent& event )
|
|||
m_useAuxOriginCheckBox->SetValue( false );
|
||||
m_linesWidth->Enable( true );
|
||||
m_HPGLPenSizeOpt->Enable( false );
|
||||
m_HPGLPenSpeedOpt->Enable( false );
|
||||
m_HPGLPenOverlayOpt->Enable( false );
|
||||
m_excludeEdgeLayerOpt->Enable( true );
|
||||
m_subtractMaskFromSilk->Enable( false );
|
||||
|
@ -366,7 +366,6 @@ void DIALOG_PLOT::SetPlotFormat( wxCommandEvent& event )
|
|||
m_useAuxOriginCheckBox->Enable( true );
|
||||
m_linesWidth->Enable( true );
|
||||
m_HPGLPenSizeOpt->Enable( false );
|
||||
m_HPGLPenSpeedOpt->Enable( false );
|
||||
m_HPGLPenOverlayOpt->Enable( false );
|
||||
m_excludeEdgeLayerOpt->Enable( true );
|
||||
m_subtractMaskFromSilk->Enable( true );
|
||||
|
@ -394,7 +393,6 @@ void DIALOG_PLOT::SetPlotFormat( wxCommandEvent& event )
|
|||
m_useAuxOriginCheckBox->SetValue( false );
|
||||
m_linesWidth->Enable( false );
|
||||
m_HPGLPenSizeOpt->Enable( true );
|
||||
m_HPGLPenSpeedOpt->Enable( true );
|
||||
m_HPGLPenOverlayOpt->Enable( true );
|
||||
m_excludeEdgeLayerOpt->Enable( true );
|
||||
m_subtractMaskFromSilk->Enable( false );
|
||||
|
@ -422,7 +420,6 @@ void DIALOG_PLOT::SetPlotFormat( wxCommandEvent& event )
|
|||
m_useAuxOriginCheckBox->Enable( true );
|
||||
m_linesWidth->Enable( false );
|
||||
m_HPGLPenSizeOpt->Enable( false );
|
||||
m_HPGLPenSpeedOpt->Enable( false );
|
||||
m_HPGLPenOverlayOpt->Enable( false );
|
||||
m_excludeEdgeLayerOpt->Enable( true );
|
||||
m_subtractMaskFromSilk->Enable( false );
|
||||
|
@ -529,18 +526,6 @@ void DIALOG_PLOT::applyPlotSettings()
|
|||
m_messagesBox->AppendText( msg );
|
||||
}
|
||||
|
||||
// read HPGL pen speed (this param is stored in cm/s)
|
||||
msg = m_HPGLPenSpeedOpt->GetValue();
|
||||
tmp = ReturnValueFromString( UNSCALED_UNITS, msg );
|
||||
|
||||
if( !tempOptions.SetHPGLPenSpeed( tmp ) )
|
||||
{
|
||||
msg = ReturnStringFromValue( UNSCALED_UNITS, tempOptions.GetHPGLPenSpeed() );
|
||||
m_HPGLPenSpeedOpt->SetValue( msg );
|
||||
msg.Printf( _( "HPGL pen speed constrained!\n" ) );
|
||||
m_messagesBox->AppendText( msg );
|
||||
}
|
||||
|
||||
// Read HPGL pen overlay (this param is stored in mils)
|
||||
msg = m_HPGLPenOverlayOpt->GetValue();
|
||||
tmp = ReturnValueFromString( g_UserUnit, msg ) / IU_PER_MILS;
|
||||
|
|
|
@ -41,6 +41,7 @@ public:
|
|||
private:
|
||||
PCB_EDIT_FRAME* m_parent;
|
||||
BOARD* m_board;
|
||||
BOARD_DESIGN_SETTINGS m_brdSettings;
|
||||
wxConfig* m_config;
|
||||
std::vector<int> layerList; // List to hold CheckListBox layer numbers
|
||||
double m_XScaleAdjust; // X scale factor adjust to compensate
|
||||
|
|
|
@ -163,7 +163,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
|||
m_plotModeOpt->SetSelection( 0 );
|
||||
bSizer14->Add( m_plotModeOpt, 0, wxEXPAND|wxLEFT, 5 );
|
||||
|
||||
m_textDefaultPenSize = new wxStaticText( this, wxID_ANY, _("Default linewidth"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textDefaultPenSize = new wxStaticText( this, wxID_ANY, _("Default line width"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textDefaultPenSize->Wrap( -1 );
|
||||
m_textDefaultPenSize->SetToolTip( _("Pen size used to draw items that have no pen size specified.\nUsed mainly to draw items in sketch mode.") );
|
||||
|
||||
|
@ -183,6 +183,40 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
|||
|
||||
m_PlotOptionsSizer->Add( sbOptionsSizer, 0, wxALL|wxEXPAND, 3 );
|
||||
|
||||
wxStaticBoxSizer* sbSizerSoldMaskLayerOpt;
|
||||
sbSizerSoldMaskLayerOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Solder mask current settings:") ), wxVERTICAL );
|
||||
|
||||
wxFlexGridSizer* fgSizerSoldMaskOpts;
|
||||
fgSizerSoldMaskOpts = new wxFlexGridSizer( 2, 2, 0, 0 );
|
||||
fgSizerSoldMaskOpts->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerSoldMaskOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_SolderMaskMarginLabel = new wxStaticText( this, wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SolderMaskMarginLabel->Wrap( -1 );
|
||||
m_SolderMaskMarginLabel->SetToolTip( _("Margin between pads and solder mask") );
|
||||
|
||||
fgSizerSoldMaskOpts->Add( m_SolderMaskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
m_SolderMaskMarginCurrValue = new wxStaticText( this, wxID_ANY, _("val"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SolderMaskMarginCurrValue->Wrap( -1 );
|
||||
fgSizerSoldMaskOpts->Add( m_SolderMaskMarginCurrValue, 0, wxALL, 5 );
|
||||
|
||||
m_solderMaskMinWidthLabel = new wxStaticText( this, wxID_ANY, _("Solder mask min width:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_solderMaskMinWidthLabel->Wrap( -1 );
|
||||
m_solderMaskMinWidthLabel->SetToolTip( _("Min dist between 2 pad areas.\nTwo pad areas nearer than this value will be merged during plotting") );
|
||||
|
||||
fgSizerSoldMaskOpts->Add( m_solderMaskMinWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_SolderMaskMinWidthCurrValue = new wxStaticText( this, wxID_ANY, _("val"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SolderMaskMinWidthCurrValue->Wrap( -1 );
|
||||
fgSizerSoldMaskOpts->Add( m_SolderMaskMinWidthCurrValue, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
sbSizerSoldMaskLayerOpt->Add( fgSizerSoldMaskOpts, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_PlotOptionsSizer->Add( sbSizerSoldMaskLayerOpt, 1, wxEXPAND, 5 );
|
||||
|
||||
m_GerberOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Gerber Options") ), wxVERTICAL );
|
||||
|
||||
m_useGerberExtensions = new wxCheckBox( this, wxID_ANY, _("Use proper filename extensions"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
@ -213,34 +247,25 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
|||
|
||||
m_textPenSize = new wxStaticText( this, wxID_ANY, _("Pen size"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textPenSize->Wrap( -1 );
|
||||
bSizer20->Add( m_textPenSize, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
|
||||
bSizer20->Add( m_textPenSize, 0, wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_HPGLPenSizeOpt = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer20->Add( m_HPGLPenSizeOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_textPenOvr = new wxStaticText( this, wxID_ANY, _("Pen overlay"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textPenOvr->Wrap( -1 );
|
||||
bSizer20->Add( m_textPenOvr, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_HPGLPenOverlayOpt = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_HPGLPenOverlayOpt->SetToolTip( _("Set plot overlay for filling") );
|
||||
|
||||
bSizer20->Add( m_HPGLPenOverlayOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer22->Add( bSizer20, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer21;
|
||||
bSizer21 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_textPenSpeed = new wxStaticText( this, wxID_ANY, _("Pen speed (cm/s):"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textPenSpeed->Wrap( -1 );
|
||||
bSizer21->Add( m_textPenSpeed, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
m_textPenOvr = new wxStaticText( this, wxID_ANY, _("Pen overlay"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textPenOvr->Wrap( -1 );
|
||||
bSizer21->Add( m_textPenOvr, 0, wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_HPGLPenSpeedOpt = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_HPGLPenSpeedOpt->SetToolTip( _("Set pen speed in cm/s") );
|
||||
m_HPGLPenOverlayOpt = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_HPGLPenOverlayOpt->SetToolTip( _("Set plot overlay for filling") );
|
||||
|
||||
bSizer21->Add( m_HPGLPenSpeedOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
bSizer21->Add( m_HPGLPenOverlayOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer22->Add( bSizer21, 1, wxEXPAND, 5 );
|
||||
|
@ -261,7 +286,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
|||
|
||||
m_staticText7 = new wxStaticText( this, wxID_ANY, _("X scale:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText7->Wrap( -1 );
|
||||
bSizer18->Add( m_staticText7, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
bSizer18->Add( m_staticText7, 0, wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_fineAdjustXscaleOpt = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_fineAdjustXscaleOpt->SetToolTip( _("Set global X scale adjust for exact scale postscript output.") );
|
||||
|
@ -276,7 +301,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
|||
|
||||
m_staticText8 = new wxStaticText( this, wxID_ANY, _("Y scale:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText8->Wrap( -1 );
|
||||
bSizer19->Add( m_staticText8, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
bSizer19->Add( m_staticText8, 0, wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_fineAdjustYscaleOpt = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_fineAdjustYscaleOpt->SetToolTip( _("Set global Y scale adjust for exact scale postscript output.") );
|
||||
|
@ -291,7 +316,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
|||
|
||||
m_textPSFineAdjustWidth = new wxStaticText( this, wxID_ANY, _("Width correction"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textPSFineAdjustWidth->Wrap( -1 );
|
||||
bSizer191->Add( m_textPSFineAdjustWidth, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
|
||||
bSizer191->Add( m_textPSFineAdjustWidth, 0, wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_PSFineAdjustWidthOpt = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_PSFineAdjustWidthOpt->SetToolTip( _("Set global width correction for exact width postscript output.\nThese width correction is intended to compensate tracks width and also pads and vias size errors.\nThe reasonable width correction value must be in a range of [-(MinTrackWidth-1), +(MinClearanceValue-1)] in decimils.") );
|
||||
|
|
|
@ -2164,7 +2164,7 @@
|
|||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Default linewidth</property>
|
||||
<property name="label">Default line width</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
|
@ -2312,6 +2312,370 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxStaticBoxSizer" expanded="1">
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Solder mask current settings:</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">sbSizerSoldMaskLayerOpt</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxFlexGridSizer" expanded="1">
|
||||
<property name="cols">2</property>
|
||||
<property name="flexible_direction">wxBOTH</property>
|
||||
<property name="growablecols"></property>
|
||||
<property name="growablerows"></property>
|
||||
<property name="hgap">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">fgSizerSoldMaskOpts</property>
|
||||
<property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="rows">2</property>
|
||||
<property name="vgap">0</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Solder mask clearance:</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_SolderMaskMarginLabel</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip">Margin between pads and solder mask</property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">val</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_SolderMaskMarginCurrValue</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Solder mask min width:</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_solderMaskMinWidthLabel</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip">Min dist between 2 pad areas.
Two pad areas nearer than this value will be merged during plotting</property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">val</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_SolderMaskMinWidthCurrValue</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
|
@ -2590,11 +2954,11 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticBoxSizer" expanded="0">
|
||||
<object class="wxStaticBoxSizer" expanded="1">
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">HPGL Options</property>
|
||||
<property name="minimum_size"></property>
|
||||
|
@ -2602,27 +2966,27 @@
|
|||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">protected</property>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer22</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer20</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxLEFT|wxRIGHT|wxTOP</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -2794,9 +3158,20 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer21</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -2970,191 +3345,6 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer21</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Pen speed (cm/s):</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_textPenSpeed</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_HPGLPenSpeedOpt</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip">Set pen speed in cm/s</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="value"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText"></event>
|
||||
<event name="OnTextEnter"></event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
|
|
|
@ -72,6 +72,10 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM
|
|||
wxChoice* m_plotModeOpt;
|
||||
wxStaticText* m_textDefaultPenSize;
|
||||
wxTextCtrl* m_linesWidth;
|
||||
wxStaticText* m_SolderMaskMarginLabel;
|
||||
wxStaticText* m_SolderMaskMarginCurrValue;
|
||||
wxStaticText* m_solderMaskMinWidthLabel;
|
||||
wxStaticText* m_SolderMaskMinWidthCurrValue;
|
||||
wxStaticBoxSizer* m_GerberOptionsSizer;
|
||||
wxCheckBox* m_useGerberExtensions;
|
||||
wxCheckBox* m_subtractMaskFromSilk;
|
||||
|
@ -81,8 +85,6 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM
|
|||
wxTextCtrl* m_HPGLPenSizeOpt;
|
||||
wxStaticText* m_textPenOvr;
|
||||
wxTextCtrl* m_HPGLPenOverlayOpt;
|
||||
wxStaticText* m_textPenSpeed;
|
||||
wxTextCtrl* m_HPGLPenSpeedOpt;
|
||||
wxStaticBoxSizer* m_PSOptionsSizer;
|
||||
wxStaticText* m_staticText7;
|
||||
wxTextCtrl* m_fineAdjustXscaleOpt;
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <class_track.h>
|
||||
#include <class_edge_mod.h>
|
||||
#include <class_pcb_text.h>
|
||||
#include <convert_from_iu.h>
|
||||
|
||||
#include <vector>
|
||||
#include <cmath>
|
||||
|
@ -1272,7 +1273,7 @@ bool PCB_EDIT_FRAME::ExportVRML_File( const wxString & aFullFileName,
|
|||
|
||||
/* scaling factor to convert internal units (decimils) to inches
|
||||
*/
|
||||
double board_scaling_factor = 0.0001;
|
||||
double board_scaling_factor = 0.001*MILS_PER_IU;
|
||||
|
||||
/* auxiliary scale to export to a different scale.
|
||||
*/
|
||||
|
|
|
@ -549,6 +549,10 @@ void PCB_IO::format( BOARD* aBoard, int aNestLevel ) const
|
|||
m_out->Print( aNestLevel+1, "(pad_to_mask_clearance %s)\n",
|
||||
FMTIU( aBoard->GetDesignSettings().m_SolderMaskMargin ).c_str() );
|
||||
|
||||
if( aBoard->GetDesignSettings().m_SolderMaskMinWidth )
|
||||
m_out->Print( aNestLevel+1, "(solder_mask_min_width %s)\n",
|
||||
FMTIU( aBoard->GetDesignSettings().m_SolderMaskMinWidth ).c_str() );
|
||||
|
||||
if( aBoard->GetDesignSettings().m_SolderPasteMargin != 0 )
|
||||
m_out->Print( aNestLevel+1, "(pad_to_paste_clearance %s)\n",
|
||||
FMTIU( aBoard->GetDesignSettings().m_SolderPasteMargin ).c_str() );
|
||||
|
|
|
@ -836,6 +836,12 @@ void LEGACY_PLUGIN::loadSETUP()
|
|||
bds.m_SolderMaskMargin = tmp;
|
||||
}
|
||||
|
||||
else if( TESTLINE( "SolderMaskMinWidth" ) )
|
||||
{
|
||||
BIU tmp = biuParse( line + SZ( "SolderMaskMinWidth" ) );
|
||||
bds.m_SolderMaskMinWidth = tmp;
|
||||
}
|
||||
|
||||
else if( TESTLINE( "Pad2PasteClearance" ) )
|
||||
{
|
||||
BIU tmp = biuParse( line + SZ( "Pad2PasteClearance" ) );
|
||||
|
@ -3022,6 +3028,7 @@ void LEGACY_PLUGIN::saveSETUP( const BOARD* aBoard ) const
|
|||
fprintf( m_fp, "PadDrill %s\n", fmtBIU( bds.m_Pad_Master.GetDrillSize().x ).c_str() );
|
||||
|
||||
fprintf( m_fp, "Pad2MaskClearance %s\n", fmtBIU( bds.m_SolderMaskMargin ).c_str() );
|
||||
fprintf( m_fp, "SolderMaskMinWidth %s\n", fmtBIU( bds.m_SolderMaskMinWidth ).c_str() );
|
||||
|
||||
if( bds.m_SolderPasteMargin != 0 )
|
||||
fprintf( m_fp, "Pad2PasteClearance %s\n", fmtBIU( bds.m_SolderPasteMargin ).c_str() );
|
||||
|
|
|
@ -182,20 +182,13 @@ void FOOTPRINT_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Pad settings
|
||||
AddMenuItem( dimensions_Submenu, ID_MODEDIT_PAD_SETTINGS,
|
||||
_( "&Pad Settings" ), _( "Edit the settings for new pads" ),
|
||||
KiBitmap( options_pad_xpm ) );
|
||||
KiBitmap( pad_dimensions_xpm ) );
|
||||
|
||||
// User grid size
|
||||
AddMenuItem( dimensions_Submenu, ID_PCB_USER_GRID_SETUP,
|
||||
_( "&User Grid Size" ), _( "Adjust user grid" ),
|
||||
KiBitmap( grid_xpm ) );
|
||||
|
||||
// Append dimensions_Submenu to editMenu
|
||||
AddMenuItem( editMenu,
|
||||
dimensions_Submenu, -1,
|
||||
_( "Di&mensions" ),
|
||||
_( "Edit dimensions preferences" ),
|
||||
KiBitmap( add_dimension_xpm ) );
|
||||
|
||||
// View menu
|
||||
wxMenu* viewMenu = new wxMenu;
|
||||
|
||||
|
@ -294,6 +287,8 @@ void FOOTPRINT_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Append menus to the menubar
|
||||
menuBar->Append( fileMenu, _( "&File" ) );
|
||||
menuBar->Append( editMenu, _( "&Edit" ) );
|
||||
menuBar->Append( dimensions_Submenu, _( "Di&mensions" ) );
|
||||
|
||||
menuBar->Append( viewMenu, _( "&View" ) );
|
||||
menuBar->Append( placeMenu, _( "&Place" ) );
|
||||
menuBar->Append( helpMenu, _( "&Help" ) );
|
||||
|
|
|
@ -96,8 +96,6 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
_( "&Append Board" ),
|
||||
_( "Append another Pcbnew board to the current loaded board" ),
|
||||
KiBitmap( import_xpm ) );
|
||||
|
||||
// Separator
|
||||
filesMenu->AppendSeparator();
|
||||
|
||||
// Save
|
||||
|
@ -248,7 +246,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
_( "Archive or add footprints in a library file" ),
|
||||
KiBitmap( library_xpm ) );
|
||||
|
||||
/* Quit */
|
||||
// Quit
|
||||
filesMenu->AppendSeparator();
|
||||
AddMenuItem( filesMenu, wxID_EXIT, _( "&Quit" ), _( "Quit Pcbnew" ),
|
||||
KiBitmap( exit_xpm ) );
|
||||
|
@ -450,7 +448,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
_( "Select how items (pads, tracks texts ... ) are displayed" ),
|
||||
KiBitmap( display_options_xpm ) );
|
||||
|
||||
// Create Dimensions submenu
|
||||
// Create sizes and dimensions submenu
|
||||
wxMenu* dimensionsMenu = new wxMenu;
|
||||
|
||||
// Grid
|
||||
|
@ -467,7 +465,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Pads
|
||||
AddMenuItem( dimensionsMenu, ID_PCB_PAD_SETUP,
|
||||
_( "&Pads" ), _( "Adjust default pad characteristics" ),
|
||||
KiBitmap( pad_xpm ) );
|
||||
KiBitmap( pad_dimensions_xpm ) );
|
||||
|
||||
// Pads Mask Clearance
|
||||
AddMenuItem( dimensionsMenu, ID_PCB_MASK_CLEARANCE,
|
||||
|
@ -481,11 +479,6 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
_( "&Save" ), _( "Save dimension preferences" ),
|
||||
KiBitmap( save_xpm ) );
|
||||
|
||||
// Append dimension menu to config menu
|
||||
AddMenuItem( configmenu, dimensionsMenu,
|
||||
-1, _( "Di&mensions" ),
|
||||
_( "Global dimensions preferences" ),
|
||||
KiBitmap( add_dimension_xpm ) );
|
||||
|
||||
// Language submenu
|
||||
wxGetApp().AddMenuLanguageList( configmenu );
|
||||
|
@ -609,6 +602,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
menuBar->Append( viewMenu, _( "&View" ) );
|
||||
menuBar->Append( placeMenu, _( "&Place" ) );
|
||||
menuBar->Append( configmenu, _( "P&references" ) );
|
||||
menuBar->Append( dimensionsMenu, _( "D&imensions" ) );
|
||||
menuBar->Append( toolsMenu, _( "&Tools" ) );
|
||||
menuBar->Append( designRulesMenu, _( "&Design Rules" ) );
|
||||
menuBar->Append( helpMenu, _( "&Help" ) );
|
||||
|
|
|
@ -926,7 +926,12 @@ void PCB_PARSER::parseSetup() throw( IO_ERROR, PARSE_ERROR )
|
|||
break;
|
||||
|
||||
case T_pad_to_mask_clearance:
|
||||
designSettings.m_SolderMaskMargin = parseBoardUnits( T_pad_to_mask_clearance );
|
||||
designSettings.m_SolderMaskMargin = parseBoardUnits( T_pad_to_mask_clearance );
|
||||
NeedRIGHT();
|
||||
break;
|
||||
|
||||
case T_solder_mask_min_width:
|
||||
designSettings.m_SolderMaskMinWidth = parseBoardUnits( T_solder_mask_min_width );
|
||||
NeedRIGHT();
|
||||
break;
|
||||
|
||||
|
|
|
@ -185,7 +185,8 @@ void PCB_PLOT_PARAMS::Format( OUTPUTFORMATTER* aFormatter,
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLOT_PARAMS::Parse( PCB_PLOT_PARAMS_PARSER* aParser ) throw( IO_ERROR, PARSE_ERROR )
|
||||
void PCB_PLOT_PARAMS::Parse( PCB_PLOT_PARAMS_PARSER* aParser )
|
||||
throw( IO_ERROR, PARSE_ERROR )
|
||||
{
|
||||
aParser->Parse( this );
|
||||
}
|
||||
|
@ -302,13 +303,14 @@ PCB_PLOT_PARAMS_PARSER::PCB_PLOT_PARAMS_PARSER( LINE_READER* aReader ) :
|
|||
}
|
||||
|
||||
|
||||
PCB_PLOT_PARAMS_PARSER::PCB_PLOT_PARAMS_PARSER( char* aLine, wxString aSource ) :
|
||||
PCB_PLOT_PARAMS_PARSER::PCB_PLOT_PARAMS_PARSER( char* aLine, const wxString& aSource ) :
|
||||
PCB_PLOT_PARAMS_LEXER( aLine, aSource )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void PCB_PLOT_PARAMS_PARSER::Parse( PCB_PLOT_PARAMS* aPcbPlotParams ) throw( IO_ERROR, PARSE_ERROR )
|
||||
void PCB_PLOT_PARAMS_PARSER::Parse( PCB_PLOT_PARAMS* aPcbPlotParams )
|
||||
throw( IO_ERROR, PARSE_ERROR )
|
||||
{
|
||||
T token;
|
||||
while( ( token = NextTok() ) != T_RIGHT )
|
||||
|
@ -422,7 +424,7 @@ void PCB_PLOT_PARAMS_PARSER::Parse( PCB_PLOT_PARAMS* aPcbPlotParams ) throw( IO_
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PLOT_PARAMS_PARSER::ParseBool() throw( IO_ERROR )
|
||||
bool PCB_PLOT_PARAMS_PARSER::ParseBool()
|
||||
{
|
||||
T token = NeedSYMBOL();
|
||||
|
||||
|
@ -433,7 +435,7 @@ bool PCB_PLOT_PARAMS_PARSER::ParseBool() throw( IO_ERROR )
|
|||
}
|
||||
|
||||
|
||||
int PCB_PLOT_PARAMS_PARSER::ParseInt( int aMin, int aMax ) throw( IO_ERROR )
|
||||
int PCB_PLOT_PARAMS_PARSER::ParseInt( int aMin, int aMax )
|
||||
{
|
||||
T token = NextTok();
|
||||
|
||||
|
|
|
@ -28,10 +28,33 @@
|
|||
#include <eda_text.h> // EDA_DRAW_MODE_T
|
||||
#include <plot_common.h>
|
||||
|
||||
class PCB_PLOT_PARAMS_PARSER;
|
||||
class PCB_PLOT_PARAMS;
|
||||
class LINE_READER;
|
||||
|
||||
|
||||
/**
|
||||
* Class PCB_PLOT_PARAMS_PARSER
|
||||
* is the parser class for PCB_PLOT_PARAMS.
|
||||
*/
|
||||
class PCB_PLOT_PARAMS_PARSER : public PCB_PLOT_PARAMS_LEXER
|
||||
{
|
||||
public:
|
||||
PCB_PLOT_PARAMS_PARSER( LINE_READER* aReader );
|
||||
PCB_PLOT_PARAMS_PARSER( char* aLine, const wxString& aSource );
|
||||
LINE_READER* GetReader() { return reader; };
|
||||
void Parse( PCB_PLOT_PARAMS* aPcbPlotParams ) throw( IO_ERROR, PARSE_ERROR );
|
||||
bool ParseBool();
|
||||
|
||||
/**
|
||||
* Function ParseInt
|
||||
* parses an integer and constrains it between two values.
|
||||
* @param aMin is the smallest return value.
|
||||
* @param aMax is the largest return value.
|
||||
* @return int - the parsed integer.
|
||||
*/
|
||||
int ParseInt( int aMin, int aMax );
|
||||
};
|
||||
|
||||
/**
|
||||
* Class PCB_PLOT_PARAMS
|
||||
* handles plot parameters and options when plotting/printing a board.
|
||||
|
@ -259,30 +282,6 @@ public:
|
|||
};
|
||||
|
||||
|
||||
/**
|
||||
* Class PCB_PLOT_PARAMS_PARSER
|
||||
* is the parser class for PCB_PLOT_PARAMS.
|
||||
*/
|
||||
class PCB_PLOT_PARAMS_PARSER : public PCB_PLOT_PARAMS_LEXER
|
||||
{
|
||||
public:
|
||||
PCB_PLOT_PARAMS_PARSER( LINE_READER* aReader );
|
||||
PCB_PLOT_PARAMS_PARSER( char* aLine, wxString aSource );
|
||||
LINE_READER* GetReader() { return reader; };
|
||||
void Parse( PCB_PLOT_PARAMS* aPcbPlotParams ) throw( IO_ERROR, PARSE_ERROR );
|
||||
bool ParseBool() throw( IO_ERROR );
|
||||
|
||||
/**
|
||||
* Function ParseInt
|
||||
* parses an integer and constrains it between two values.
|
||||
* @param aMin is the smallest return value.
|
||||
* @param aMax is the largest return value.
|
||||
* @return int - the parsed integer.
|
||||
*/
|
||||
int ParseInt( int aMin, int aMax ) throw( IO_ERROR );
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Default line thickness in PCnew units used to draw or plot items having a
|
||||
* default thickness line value (Frame references) (i.e. = 0 ).
|
||||
|
|
|
@ -51,6 +51,18 @@
|
|||
#include <pcbnew.h>
|
||||
#include <pcbplot.h>
|
||||
|
||||
// Imported function
|
||||
extern void AddPolygonCornersToKiPolygonList( std::vector <CPolyPt>& aCornersBuffer,
|
||||
KI_POLYGON_SET& aKiPolyList );
|
||||
// Local
|
||||
/* Plot a solder mask layer.
|
||||
* Solder mask layers have a minimum thickness value and cannot be drawn like standard layers,
|
||||
* unless the minimum thickness is 0.
|
||||
*/
|
||||
static void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter,
|
||||
long aLayerMask, const PCB_PLOT_PARAMS& aPlotOpt,
|
||||
int aMinThickness );
|
||||
|
||||
/* Creates the plot for silkscreen layers
|
||||
* Silkscreen layers have specific requirement for pads (not filled) and texts
|
||||
* (with option to remove them from some copper areas (pads...)
|
||||
|
@ -134,6 +146,8 @@ void PlotOneBoardLayer( BOARD *aBoard, PLOTTER* aPlotter, int aLayer,
|
|||
const PCB_PLOT_PARAMS& aPlotOpt )
|
||||
{
|
||||
PCB_PLOT_PARAMS plotOpt = aPlotOpt;
|
||||
int soldermask_min_thickness = aBoard->GetDesignSettings().m_SolderMaskMinWidth;
|
||||
|
||||
// Set a default color and the text mode for this layer
|
||||
aPlotter->SetColor( aPlotOpt.GetColor() );
|
||||
aPlotter->SetTextMode( aPlotOpt.GetTextMode() );
|
||||
|
@ -175,7 +189,14 @@ void PlotOneBoardLayer( BOARD *aBoard, PLOTTER* aPlotter, int aLayer,
|
|||
plotOpt.SetSkipPlotNPTH_Pads( false );
|
||||
// Disable plot pad holes
|
||||
plotOpt.SetDrillMarksType( PCB_PLOT_PARAMS::NO_DRILL_SHAPE );
|
||||
PlotStandardLayer( aBoard, aPlotter, layer_mask, plotOpt );
|
||||
|
||||
// Plot solder mask:
|
||||
if( soldermask_min_thickness == 0 )
|
||||
PlotStandardLayer( aBoard, aPlotter, layer_mask, plotOpt );
|
||||
else
|
||||
PlotSolderMaskLayer( aBoard, aPlotter, layer_mask, plotOpt,
|
||||
soldermask_min_thickness );
|
||||
|
||||
break;
|
||||
|
||||
case SOLDERPASTE_N_BACK:
|
||||
|
@ -425,6 +446,152 @@ void PlotStandardLayer( BOARD *aBoard, PLOTTER* aPlotter,
|
|||
itemplotter.PlotDrillMarks();
|
||||
}
|
||||
|
||||
/* Plot a solder mask layer.
|
||||
* Solder mask layers have a minimum thickness value and cannot be drawn like standard layers,
|
||||
* unless the minimum thickness is 0.
|
||||
*/
|
||||
void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter,
|
||||
long aLayerMask, const PCB_PLOT_PARAMS& aPlotOpt,
|
||||
int aMinThickness )
|
||||
{
|
||||
int layer = ( aLayerMask & SOLDERMASK_LAYER_BACK ) ?
|
||||
SOLDERMASK_N_BACK : SOLDERMASK_N_FRONT;
|
||||
int inflate = aMinThickness/2;
|
||||
|
||||
BRDITEMS_PLOTTER itemplotter( aPlotter, aBoard, aPlotOpt );
|
||||
itemplotter.SetLayerMask( aLayerMask );
|
||||
|
||||
// EDA_DRAW_MODE_T plotMode = aPlotOpt.GetMode();
|
||||
// EDA_COLOR_T color = BLACK;
|
||||
|
||||
// Plot edge layer and graphic items
|
||||
itemplotter.PlotBoardGraphicItems();
|
||||
|
||||
for( MODULE* module = aBoard->m_Modules; module; module = module->Next() )
|
||||
{
|
||||
for( BOARD_ITEM* item = module->m_Drawings; item; item = item->Next() )
|
||||
{
|
||||
if( aLayerMask != item->GetLayer() )
|
||||
continue;
|
||||
|
||||
switch( item->Type() )
|
||||
{
|
||||
case PCB_MODULE_EDGE_T:
|
||||
itemplotter.Plot_1_EdgeModule( (EDGE_MODULE*) item );
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Build polygons for each pad shape.
|
||||
// the size of the shape on solder mask should be:
|
||||
// size of pad + clearance around the pad.
|
||||
// clearance = solder mask clearance + extra margin
|
||||
// extra margin is half the min width for solder mask
|
||||
// This extra margin is used to merge too close shapes
|
||||
// (distance < aMinThickness), and will be removed when creating
|
||||
// the actual shapes
|
||||
std::vector <CPolyPt> bufferPolys; // Contains shapes to plot
|
||||
|
||||
/* calculates the coeff to compensate radius reduction of holes clearance
|
||||
* due to the segment approx ( 1 /cos( PI/circleToSegmentsCount )
|
||||
*/
|
||||
int circleToSegmentsCount = 32;
|
||||
double correction = 1.0 / cos( M_PI / circleToSegmentsCount );
|
||||
|
||||
// Plot pads
|
||||
for( MODULE* module = aBoard->m_Modules; module; module = module->Next() )
|
||||
{
|
||||
for( D_PAD* pad = module->m_Pads; pad; pad = pad->Next() )
|
||||
{
|
||||
if( (pad->GetLayerMask() & aLayerMask) == 0 )
|
||||
continue;
|
||||
|
||||
int margin = pad->GetSolderMaskMargin() + inflate;
|
||||
pad->TransformShapeWithClearanceToPolygon( bufferPolys, margin,
|
||||
circleToSegmentsCount,
|
||||
correction );
|
||||
}
|
||||
}
|
||||
|
||||
// Plot vias on solder masks, if aPlotOpt.GetPlotViaOnMaskLayer() is true,
|
||||
if( aPlotOpt.GetPlotViaOnMaskLayer() )
|
||||
{
|
||||
for( TRACK* track = aBoard->m_Track; track; track = track->Next() )
|
||||
{
|
||||
if( track->Type() != PCB_VIA_T )
|
||||
continue;
|
||||
|
||||
SEGVIA* via = (SEGVIA*) track;
|
||||
|
||||
// vias are plotted only if they are on the corresponding
|
||||
// external copper layer
|
||||
int via_mask_layer = via->ReturnMaskLayer();
|
||||
|
||||
if( via_mask_layer & LAYER_BACK )
|
||||
via_mask_layer |= SOLDERMASK_LAYER_BACK;
|
||||
|
||||
if( via_mask_layer & LAYER_FRONT )
|
||||
via_mask_layer |= SOLDERMASK_LAYER_FRONT;
|
||||
|
||||
if( ( via_mask_layer & aLayerMask ) == 0 )
|
||||
continue;
|
||||
|
||||
// The current layer is a solder mask,
|
||||
// use the global mask clearance for vias
|
||||
int via_margin = aBoard->GetDesignSettings().m_SolderMaskMargin + inflate;
|
||||
|
||||
via->TransformShapeWithClearanceToPolygon( bufferPolys, via_margin,
|
||||
circleToSegmentsCount,
|
||||
correction );
|
||||
}
|
||||
}
|
||||
|
||||
// Add filled zone areas
|
||||
for( int ii = 0; ii < aBoard->GetAreaCount(); ii++ )
|
||||
{
|
||||
ZONE_CONTAINER* zone = aBoard->GetArea( ii );
|
||||
|
||||
if( zone->GetLayer() != layer )
|
||||
continue;
|
||||
|
||||
zone->TransformShapeWithClearanceToPolygon( bufferPolys,
|
||||
inflate, circleToSegmentsCount,
|
||||
correction, true );
|
||||
}
|
||||
|
||||
// Now:
|
||||
// 1 - merge areas which are intersecting, i.e. remove gaps
|
||||
// having a thickness < aMinThickness
|
||||
// 2 - deflate resulting areas by aMinThickness/2
|
||||
KI_POLYGON_SET areasToMerge;
|
||||
AddPolygonCornersToKiPolygonList( bufferPolys, areasToMerge );
|
||||
|
||||
// Merge polygons: because each shape was created with an extra margin
|
||||
// = aMinThickness/2, shapes too close ( dist < aMinThickness )
|
||||
// will be merged, because they are overlapping
|
||||
KI_POLYGON_SET areas;
|
||||
areas |= areasToMerge;
|
||||
|
||||
// Deflate: remove the extra margin, to create the actual shapes
|
||||
areas -= inflate;
|
||||
|
||||
// To avoid a lot of code, use a ZONE_CONTAINER
|
||||
// to plot polygons, because they are exactly like
|
||||
// filled areas in zones
|
||||
ZONE_CONTAINER zone( aBoard );
|
||||
zone.SetArcSegCount( 32 );
|
||||
zone.SetMinThickness( 0 ); // trace polygons only
|
||||
zone.SetLayer ( layer );
|
||||
|
||||
zone.CopyPolygonsFromKiPolygonListToFilledPolysList( areas );
|
||||
itemplotter.PlotFilledAreas( &zone );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** Set up most plot options for plotting a board (especially the viewport)
|
||||
* Important thing:
|
||||
|
|
|
@ -79,8 +79,10 @@ extern void CreateThermalReliefPadPolygon( std::vector<CPolyPt>& aCornerBuffer,
|
|||
int aCircleToSegmentsCount,
|
||||
double aCorrectionFactor,
|
||||
int aThermalRot );
|
||||
static void AddPolygonCornersToKiPolygonList( std::vector <CPolyPt>& aCornersBuffer,
|
||||
KI_POLYGON_SET& aKiPolyList );
|
||||
|
||||
// Exported function
|
||||
void AddPolygonCornersToKiPolygonList( std::vector <CPolyPt>& aCornersBuffer,
|
||||
KI_POLYGON_SET& aKiPolyList );
|
||||
|
||||
// Local Variables:
|
||||
static int s_thermalRot = 450; // angle of stubs in thermal reliefs for round pads
|
||||
|
|
Loading…
Reference in New Issue