jean-pierre charras
55757039fa
Custom pads: fix a bug when plotting the custom shape. This bug was seen only with some shapes, not all, and only for layers having a negative margin.
...
Fixes: lp:1831941
https://bugs.launchpad.net/kicad/+bug/
2019-06-07 10:51:43 +02:00
jean-pierre charras
c489659a20
Custom pads: fix incorrect shape of masks when the shape is a polygon with holes and the mask margin is < 0. This is mainly the solder paste layer that shows this issue. This is due to the fact SHAPE_POLY_SET::Inflate does not work fine with polygons with linked holes. SHAPE_POLY_SET::InflateWithLinkedHoles it added to fix this issue.
...
Fixes: lp:1828287
https://bugs.launchpad.net/kicad/+bug/1828287
2019-05-09 16:24:39 +02:00
Seth Hillbrand
6421b15b83
pcbnew: Allow an epsilon in the inflate before join
...
Plotting mask layers, we expand by a minimum width before performing a
boolean add of the separate regions. The boolean add has a separation
condition that includes equality. Since we are looking for the
complement of the mask, we would like the equality applied to the other
side. Removing a unit value provides the separation.
Fixes: lp:1698457
* https://bugs.launchpad.net/kicad/+bug/1698457
2019-01-22 19:54:03 -08:00
Seth Hillbrand
1e5ba6f1b1
Replace DIM() macro
...
The standard DIM() macro was not typesafe as it happily deferred errors
to runtime that can be caught at compile time. Replacing it with a
generic C++11 constexpr allows for typecasting, comparison and compile
time error checking.
2019-01-06 08:43:12 -08:00
Seth Hillbrand
c92424898c
pcbnew: Replace magic number segment counts
...
Where we set 32 segments per circle, the magic number is replaced by the
same value as the common define ARC_APPROX_SEGMENTS_COUNT_HIGH_DEF
2019-01-03 17:21:10 -08:00
jean-pierre charras
f6aed7c99a
Gerber plotter: rename UseX2Attributes() to UseX2format, and fix incorrect/outdated comments.
2018-12-09 10:23:07 +01:00
jean-pierre charras
7f20c55ed6
Pcbnew, Plot dialog, Gerber format: Enable or disable adding net metadata both in X1 and X2 format. Previously, this option was existing only in X2 format. Should be existing in both formats.
...
A bit of cleaning code related to this option.
2018-12-09 08:38:23 +01:00
jean-pierre charras
619e13dc2d
Fix D_PAD::BuildPadShapePolygon() incorrect calculation for custom pad shapes.
...
Fixes: lp:1784340
https://bugs.launchpad.net/kicad/+bug/1784340
2018-07-30 16:56:59 +02:00
jean-pierre charras
ce9cc4ea38
plot board: fix a stupid bug created by commit dfa91752
2018-05-29 19:51:50 +02:00
jean-pierre charras
dfa9175209
Fix incorrect mask size for rectangular and trapezoid pads.
...
Fixes: lp:1773926
https://bugs.launchpad.net/kicad/+bug/1773926
Fixes: lp:1773961
https://bugs.launchpad.net/kicad/+bug/1773961
2018-05-29 13:45:45 +02:00
jean-pierre charras
93e75af388
Rename plot_auxiliary_data.h file to gbr_metadata.h, according to the class names defined by this file
2018-05-17 08:07:29 +02:00
jean-pierre charras
144549ebca
Pcbnew, plot: Fix: masks derived from custom pad shape have incorrect margin.
...
Fixes: lp:1771526
https://bugs.launchpad.net/kicad/+bug/1771526
2018-05-16 18:26:43 +02:00
jean-pierre charras
e57cd291ff
class BOARD: rename m_Zone to m_SegZoneDeprecated to avoid mistakes in code.
...
m_Zone is a fully deprecated list of SEG_ZONE items (similar to TRACK), used to fill copper zones in *very old* boards.
it is even unlikely there are still boards that use them.
So it should be removed one day.
2018-05-13 08:39:36 +02:00
Seth Hillbrand
bd5eee50f4
Unify correction factor calculations
2018-04-23 16:43:13 -07:00
Carsten Schoenert
a11714b1a4
fix misspelled 'an other' -> 'another'
2018-04-08 13:24:37 -04:00
jean-pierre charras
602d9e1972
Fix a missing init in gerber plot script demo.
...
Fixes: lp:1759071
https://bugs.launchpad.net/kicad/+bug/1759071
2018-03-27 13:42:51 +02:00
jean-pierre charras
5d72aebd22
Fix code after renaming files
2018-01-29 16:40:22 +01:00
jean-pierre charras
4c5bd01887
Rename a few files
2018-01-28 22:02:31 +01:00
jean-pierre charras
e499d337d8
rename files: update filenames in sources
2018-01-28 19:12:26 +01:00
Jeff Young
45386ccbf3
Honor SMALL_DRILL_SHAPE option when plotting DXF.
...
Fixes: lp:1566744
* https://bugs.launchpad.net/kicad/+bug/1566744
2018-01-27 17:33:37 +01:00
Tomasz Włostowski
f34b86d39e
pcbnew: made zone filling algorithm thread-safe.
...
- moved zone filling algo outside ZONE_CONTAINER class
- const'ified methods that don't need to modify zone's properties
- cleanup: m_FillMode -> enum
2017-12-05 14:54:57 +01:00
jean-pierre charras
bdc6a5950b
rename plot_common.h to class_plotter.h, a better name, consistent with other class definitions.
2017-11-16 15:53:30 +01:00
Tomasz Włostowski
b945d2a708
cleanup: replace CLASS_MIRE with CLASS_PCB_TARGET for naming clarity
2017-11-03 20:02:06 +01:00
Tomasz Włostowski
32185ddcd3
Multiple improvements concerning colors, configuration handling and legacy features in pcbnew:
...
- support for background color setting
- removed several global config settings (such as g_Drc_On)
- wrapped most of global config settings in PCB_GENERAL_SETTINGS class
- reorganized PCB general options dialog to clearly mark which options concern only the legacy canvas
- new GAL feature for legacy users: double-click (or E) to change track width available as an option.
Fixes: lp:1530543
* https://bugs.launchpad.net/kicad/+bug/1530543
Fixes: lp:1707145
* https://bugs.launchpad.net/kicad/+bug/1707145
2017-08-04 16:06:57 +02:00
jean-pierre charras
557e69f72a
Fix many minor issues in dialog plot and plot DXF options.
2017-07-31 20:05:32 +02:00
jean-pierre charras
2d5607a11d
Fix issues in plot functions, when used from python scripts.
2017-07-25 11:49:16 +02:00
Maciej Suminski
f3fbce9560
Code formatting and clean-up
2017-06-23 15:43:13 +02:00
Tomasz Włostowski
3b16d3cffe
further DLIST/Iterators cleanup, some code formatting
2017-06-23 11:12:37 +02:00
Eldar Khayrullin
0af5695e51
Pcbnew: add option to plot DXF lines in outline mode.
...
Add option to plot dialog to plot DXF layers *.Cu, *.Adhes, *.Paste, and
*.Mask in outline mode or line mode.
Fixes lp:1643330
https://bugs.launchpad.net/kicad/+bug/1643330
2017-04-25 08:24:55 -04:00
Jon Evans
3ec28e2acf
Refactor layer enumerations to all live in the same place
2017-03-30 16:01:48 -04:00
Maciej Suminski
0dc88bb4cf
Changed COLOR4D defines to static consts
2017-02-22 17:35:00 +01:00
Jon Evans
a52250a91e
Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
...
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas. When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
jean-pierre charras
3ffa37c8b9
Fixes: lp:1650524 (Trapezoidal pad solder mask is incorrect when the minimal solder mask width is 0)
...
https://bugs.launchpad.net/kicad/+bug/1650524
2016-12-18 13:03:15 +01:00
jean-pierre charras
6d6542e133
Gerber file generation: in X1 format, in header, use structured comments instead of basic comments.
...
(a structured comment starts by "G04 #@! " followed by a X2 attribute, and is a comment for old Gerber readers)
2016-11-30 17:48:31 +01:00
jean-pierre charras
4ee344e150
Gerber files: Enable net attributes options in plot Gerber dlg and fix net attribute for "no net" tracks and vias (netcode <= 0).
2016-10-23 19:43:31 +02:00
jean-pierre charras
6edee2ae1d
Prepare Plot Gerber file to include advanced aperture and net attributes.
...
This option is not yet activated because the net attributes are not yet fully fixed by Ucamco, in Gerber file format specifications.
(To activate it, see dialog_plot.cpp, line 43)
2016-09-19 13:01:36 +02:00
jean-pierre charras
6d1e904334
Code cleanup: Remove outdated decimils to/from iu defines and conversion functions (decimils are no more in use since a long time).
...
Remove convert_from_iu.h file, only used for one define, and containing brokenand duplicate defines. Only convert_to_biu.h is now used.
2016-06-05 13:49:25 +02:00
jean-pierre charras
4a838fb8c3
Pcbnew: Add rounded rect pad shape.
2016-04-06 20:15:49 +02:00
jean-pierre charras
2284228c35
HPGL plot dialog: remove no more in use Pen Overlap parameter. Fix incorrect polygon fill by setting the hpgl pen thickness in hpgl file. Add filled circle (previously, a circle was never filled)
2016-02-11 13:14:46 +01:00
jean-pierre charras
178cf0dc25
Polygon calculation (zones filling): use fast mode when possible (in fact most of time) and strictly simple polygon option only in critical cases (in fact in plot Gerber functions mainly).
...
In polygon calculations (combining polygons, fracture) the mode of calculation (fast or strictly simple polygon option) as no more a default value, because choosing the best mode is better to optimize the calculation time.
2015-12-15 21:21:25 +01:00
jean-pierre charras
21d700facc
Replace "module" by "footprint" in a few messages.
2015-11-17 17:18:00 +01:00
Tomasz Wlostowski
2088b5296e
Fix bug when plotting DXF board outline.
2015-09-09 11:51:02 -04:00
jean-pierre charras
4fc230b773
Rework on Enum PAD_SHAPE_T, PAD_DRILL_SHAPE_T and PAD_ATTR_T (see rev 6008) : the new and better names are now used in Kicad code and existing python scripts.
...
PAD_SHAPE_T and PAD_ATTR_T still have a double definition (new names and old names) to be sure python scripts are nor broken by the change.
PAD_DRILL_SHAPE_T does not have a double definition, because it is unlikely oblong holes are used in python scripts.
Double definitions will be removed in the (next) future.
2015-08-23 21:40:33 +02:00
jean-pierre charras
4b4d9d9770
Plot solder mask layer: fix incorrect margin of zones drawn on this layer (zone areas were slighly larger than the actual areas)
...
Fix a few minor and very minor other issues: coverity warnings and compil warning.
2015-08-01 12:20:23 +02:00
Tomasz Wlostowski
63b35f40a7
Removed all dependencies on boost::polygon except for bitmap2component. Replaced almost all instances of CPOLYGONS_LIST with SHAPE_POLY_SET.
2015-07-27 21:45:57 +02:00
Maciej Suminski
d2ebf688f9
Reverted commits that remove boost::polygon dependency (need more testing).
2015-07-14 22:23:13 +02:00
Tomasz Wlostowski
41c753b05d
Removed all dependencies on boost::polygon except for bitmap2component. Replaced almost all instances of CPOLYGONS_LIST with SHAPE_POLY_SET.
2015-07-14 13:36:24 +02:00
jean-pierre charras
85bc2ae015
Rework on Gerber plot functions: add X2 attributes in J5 version. Minor code cleaning.
2015-03-25 14:07:05 +01:00
jean-pierre charras
b1cd42cf08
Pcbnew: simplify draw code in default canvas and plot functions by removing the plot LINE option, which is not existing in all plotters, not existing in opengl/cairo canvas, and not usefull in default canvas.
2015-02-02 09:06:39 +01:00
jean-pierre charras
479af2a7a8
Pcbnew, export Solder masks in Gerber Format: fix not working export when the solder mask minimal width is not 0 (the exported shapes were the same as if the vule = 0) with boost version >= 1.56
...
This is due to the fact the boost::pylygon function resize ( a inflate/deflate function) used for calculations does not work with boost version >= 1.56.
Use Clipper inflate/deflate function instead. It is faster and works fine.
2014-12-01 15:54:33 +01:00