Jeff Young
393bb0fd83
Fix assert where geometry routine wasn't ready to handle layers.
...
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
2020-08-12 22:20:08 +01:00
Jeff Young
00e77d1ba4
Implement pad & via aprons for hatched zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2519
2020-08-07 15:15:43 +01:00
Ian McInerney
50b2271f84
Fix missing variable initialization
2020-07-18 23:56:39 +01:00
Jon Evans
c0aa6965de
Migrate PcbNew project settings to new framework
...
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.
ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Jeff Young
7b042f4a75
Add rectangle tool to PCBNew toolbar in favour of Aux Origin.
...
ADDED new rectangle graphics tool for PCBNew and Footprint Editor.
Also adds rectangle tool to both Footprint Editor and PCBNew Place
menus.
The Aux Origin tool can come back once we have multi-select toobar
buttons.
Also collapses an unnecessary level out of the auxOrigin and gridOrigin
settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/2246
2020-07-01 13:31:30 +01:00
Seth Hillbrand
461d0e9a49
Unify rounding in altium to KiCad converter
...
This fixes an issue in the integer conversion that caused truncation
errors. Handling the conversion from micromil to nanometer using
doubles keeps intermediate values correctly rounded. There remain some
conversions that are lost where Altium rounded its metric
representation.
2020-06-14 07:53:15 -07:00
Ian McInerney
4357c1d3b3
Coverity and compiler warning fixes
...
* Initialize variables
* Test dynamic casts
Fixes https://gitlab.com/kicad/code/kicad/issues/4620
2020-06-05 12:50:56 +01:00
Thomas Pointhuber
5c7ebb4f2b
altium: map Altium KEEP_OUT_LAYER -> KiCad Margin
2020-05-10 20:19:05 +00:00
Thomas Pointhuber
110cefc86f
altium: promote wxLogInfo -> wxLogWarning, otherwise it could be ommited
2020-05-10 20:19:05 +00:00
Thomas Pointhuber
31fd3763d2
altium: detect barcode objects, improve binary documentation for text objects
2020-05-10 20:19:05 +00:00
Thomas Pointhuber
5c02c951a9
altium: parse text properties (bold, italic, inverted)
2020-05-10 20:19:05 +00:00
Thomas Pointhuber
96da60d119
altium: use correct text rotation, improve truetype text size
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4349
2020-05-10 20:19:05 +00:00
Thomas Pointhuber
0d3c1a23ad
altium: add comment for future readers
2020-05-10 20:19:05 +00:00
Jon Evans
a073ae5712
Properly interpret Altium pour index and pad connect style
2020-05-10 13:31:07 -04:00
Thomas Pointhuber
0a38ebcc41
altium: Improve Keepout zone parsing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4378
2020-05-10 17:30:49 +00:00
Thomas Pointhuber
ba409c95b9
altium: Correctly parse advanced pad shapes. Don't rely on magic number to much
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4385
2020-05-10 17:30:49 +00:00
Jon Evans
4165ec3384
Don't set hatch mode for unknown hatch style
...
Fixes #4383
2020-05-09 17:14:05 -04:00
Jon Evans
b5dffa8229
Altium: fix multiline text with Windows line endings
2020-05-09 17:14:05 -04:00
Thomas Pointhuber
acfa15c3d3
altium: inner Cu layers are now supported, workaround can be removed now
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
568b348a5e
altium: parse holeoffset
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
005e3ff2fe
altium: store extracted step models in the directory ALTIUM_EMBEDDED_MODELS
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
7d67be5b5f
altium: use correct position and rotation when importing step models
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
1065bb65c8
altium: fix 3d-model alignment. At least the top layer look correct now. Thx Mario for this hint
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
41a6791928
altium: initial code to import STEP models
...
For now, they are extracted into the same directory as the project file.
Furthermore, there seems to be a problem with rotation / positioning of some models.
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
76a100984a
altium: set layer type for planes and "virtual" copper layers
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
a4fd993a4b
altium: it is always a good idea to test rotation with non 90° angles
2020-05-08 23:00:35 +00:00
Thomas Pointhuber
aaa3f9eb74
altium: improve text rotation in modules, make variable comparison case insensitive
2020-05-08 23:00:34 +00:00
Thomas Pointhuber
0542ce2ae2
altium: add support for non-copper pads, draw them instead using drawsegments
...
OTHER CHANGES:
* Simplify handling of Drawsegments
* Add missing SetWidth( 0 )
TODO:
* SMD pads on inner layers are not supported yet by KiCad
2020-05-08 23:00:34 +00:00
Jeff Young
0f8c7ffd11
Add pad keepout and footprint keepout areas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2365
2020-05-07 17:51:27 +01:00
Stefan
8abe07f6e7
altium importer: Fix size of record
...
Previous size led to incorrect import of some boards.
From https://gitlab.com/kicad/code/kicad/-/merge_requests/172
2020-04-18 01:00:11 +00:00
Thomas Pointhuber
2703bd6b81
alitum: set layer name, fix handling of odd layercount
2020-04-17 11:06:55 +00:00
Thomas Pointhuber
ff5a0f61b2
altium: trim property string to avoid things like spurious newline characters
2020-04-17 11:06:55 +00:00
Thomas Pointhuber
a29e55fe7e
altium: Fix handling of odd layercount (otherwise, saved *.kicad_pcb file would no longer load)
2020-04-17 11:06:55 +00:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
Jeff Young
6e800bddae
Rationalize penWidth processing as first step in removing some globals.
2020-04-13 20:58:13 +01:00
jean-pierre charras
096564ec0c
Fix some typos and I18n issues
2020-04-11 08:57:46 +02:00
jean-pierre charras
dac78d2562
fix a few minor Coverity warnings.
2020-04-10 18:28:12 +02:00
Thomas Pointhuber
05d070a0c9
altium: update to new string replacement variables
2020-04-07 14:52:55 +00:00
Thomas Pointhuber
13eb4d73da
altium: fix segfault due to incorrect check
2020-04-07 14:52:54 +00:00
Thomas Pointhuber
a433d9ea55
altium: improve property reading code, do not rely on exceptions
2020-04-07 14:52:54 +00:00
Jeff Young
322ab60cc5
Fix some Coverity issues.
2020-04-06 12:31:59 +01:00
Simon Richter
710e93bc53
Drop <zconf.h> include
...
It doesn't seem to be required, and it makes the directory depend on
zlib.
2020-04-05 23:34:13 +00:00
Thomas Pointhuber
78159c6744
Altium importer bug fixes
...
altium: add missing "layer name" -> "layer" mapping
altium: some coverty fixes towards file reading
altium: improve zone handling, fix coverty issues
2020-04-05 22:26:29 +00:00
jean-pierre charras
5097d14875
More about do not mark translatable strings used in debug messages.
2020-04-05 14:10:06 +02:00
jean-pierre charras
34651693c1
Altium importer: more about do not mark translatable strings used in debug messages.
2020-04-05 13:45:55 +02:00
jean-pierre charras
70afd12524
Altium importer: do not mark translatable some strings used in debug messages.
2020-04-05 11:22:52 +02:00
Ian McInerney
0dac0c9a47
Cleanup some dynamic casts
...
From Coverity scan
2020-04-04 12:41:45 +01:00
Thomas Pointhuber
b707c84b62
Use Record handling for parsing
...
Now, we know how big a record is, and should be able to parse all boards without missing bytes?
2020-04-03 23:22:24 +00:00