Jeff Young
8b08c9e53f
Shorter names before things get out of hand.
...
Also, remove comments indicating CURVE is a Bezier. Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
Roberto Fernandez Bautista
43e59b0ea7
CADSTAR PCB: Correctly handle associated pad ids and PCB Only pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9372
2021-10-11 18:30:20 +01:00
Roberto Fernandez Bautista
7a71ebf9ac
CADSTAR PCB: Load all three net properties into a single Netclass
...
The final netclass name will be a bit long but it will allow for custom
DRC rules to individually target each of the three properties available
in CADSTAR:
- Route Code (which specifies width of the track in min, max, opt)
- Net class (only used in signal integrity analysis)
- Spacing class (for specifying clearance requirements between classes)
2021-10-10 22:16:08 +01:00
Roberto Fernandez Bautista
ac3ade874e
CADSTAR PCB: Set Copper-to-Hole clearance as 0
...
Testing suggests that CADSTAR doesn't actually have any clearance to the
hole (other than electrical clearance to the barrel of the padstack/
viastack).
This removes a large amount of DRC violations on imported designs.
2021-10-10 00:20:13 +01:00
Roberto Fernandez Bautista
eb7d0fdf8a
CADSTAR PCB: Use board clearance + additional isolation as zone clearance
...
Copper-to-copper clearance is too onerous and results in large amount
of DRC errors for the majority of imported designs.
2021-10-10 00:18:36 +01:00
Roberto Fernandez Bautista
f4ff01a5ab
CADSTAR PCB: Copy default netclass settings when creating new ones
...
Ensures that the global clearance is preserved in the newly created
netclass.
2021-10-09 23:10:55 +01:00
Roberto Fernandez Bautista
8f74085ca4
CADSTAR PCB: Handle older boards without construction layers
...
Use KiCad default stackup for older CADSTAR boards that do not
define any dielectric layers between the electrical layers.
Also fix default stackup calculation to ensure finished board thickness
is 1.6mm
2021-10-09 21:26:16 +01:00
Roberto Fernandez Bautista
33a3cfc87b
CADSTAR PCB: Update Board Design Settings to notify that a stackup exists
...
Also update thickness of the PCB
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9307
2021-10-09 20:33:14 +01:00
Roberto Fernandez Bautista
e80a1c2679
CADSTAR PCB: Don't load items on invalid layers
...
This was happening in two cases:
- Loading documentation symbols (CADSTAR on purpose defines these in an
invalid layer)
- When an item was in a "layer set" such as ALLELEC or ALLLAYER - need to
make sure we remove the copper layers that are not active in the design
2021-10-09 20:07:23 +01:00
Roberto Fernandez Bautista
677166f0b8
CADSTAR PCB: Rule Areas have zero width
...
Cadstar areas have a line width but this is only for display purposes.
Instead CADSTAR uses the center line when determining whether a DRC
violation occurred.
2021-10-08 21:27:32 +01:00
Roberto Fernandez Bautista
2dfbd42be6
CADSTAR PCB: Legacy netclass and design settings loading is required
2021-10-08 20:48:10 +01:00
Roberto Fernandez Bautista
ae0229b7c9
CADSTAR PCB: Add imported nets to the imported netclass.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
58fc4f512d
CADSTAR PCB: Don't create zero width tracks
...
Fixes a bug in the route offsetting part of the import
that was resulting in zero-width tracks being imported.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
16b61e47cd
CADSTAR PCB: Clear arcs from polys before boolean ops (e.g. zone fills)
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
fb588da875
CADSTAR PCB: Fix loading of thermal relief gap in zones
...
We were loading as solid fill when the relief gap was exactly the
same as the minimum width.
Also we can do better than just load as solid fill when it is smaller:
we can instead just use the minimum width and at least it still will
have thermal reliefs.
2021-10-08 17:39:08 +01:00
Roberto Fernandez Bautista
cb47bf25c0
CADSTAR PCB: Actually load the original route code as a KiCad NETCLASS
...
We weren't actually loading it into the design settings even though
everything else was already being correctly loaded.
2021-10-07 22:13:06 +01:00
Roberto Fernandez Bautista
625e56676a
Add progress reporting to CADSTAR Schematic & PCB importers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
Jeff Young
e61822c9e0
Naming conventions and a bug fix on arc points.
2021-07-19 13:17:12 +01:00
Jeff Young
062c4fda62
More error message regularization (and translatability improvements).
2021-06-28 00:45:24 +01:00
Jeff Young
0dfb5fcaf9
Error message cleanup.
...
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young
81fc710a5d
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Jeff Young
16b0147af8
Prefix DIMENSION types.
2021-06-11 17:59:44 +01:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Marek Roszko
581ba21865
Remove wx includes out of cadstar_archive_loader.h
2021-06-06 09:28:02 -04:00
Ian McInerney
23f8851409
Remove pcb_group include from board header
2021-06-03 20:03:31 +01:00
Marek Roszko
03cf2b517f
Enum class PAD_ATTR_T
...
Renamed such that python stays the same
2021-05-01 10:51:54 -04:00
Marek Roszko
b243c2280d
enum class PAD_SHAPE_T
2021-05-01 08:22:35 -04:00
Marek Roszko
21fde9b629
enum class PCB_SHAPE_TYPE_T
2021-04-30 22:36:12 -04:00
jean-pierre charras
e27733587d
Fix 2 minor Coverity warnings.
2021-04-23 19:57:36 +02:00
Roberto Fernandez Bautista
edb2136a0d
CADSTAR PCB: KiCad's minimum permitted Through Drill is 0.0508mm(2mils)
2021-04-12 20:25:05 +01:00
Roberto Fernandez Bautista
a3196a11a7
CADSTAR PCB: Be more specific with "allow thermal pads" DRC hack
...
Only tag the footprint as such when we know it has overlaping copper
over the pads with different pad numbers
2021-04-12 20:25:05 +01:00
Roberto Fernandez Bautista
b5edd5f6a5
CADSTAR PCB: Fix loading of thermal pads
...
- Create a pad if a component copper is associated with any other pads
in the footprint.
- Rename/renumber 'PCB Only' pads that are associated with a component
copper and make them all use the same pad name/number.
2021-04-12 20:25:05 +01:00
Jeff Young
2cde76a191
Don't do any hole clearance testing within a single footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8141
2021-04-11 16:03:16 +01:00
Jeff Young
3450610977
Add ability to allow thermal vias to be implemented as pads.
...
This is mostly just for CADSTAR. Since we don't (yet) have general
purpose footprint attributes, this reuses the "net tie" hack.
Fixes https://gitlab.com/kicad/code/kicad/issues/8141
2021-04-09 14:02:13 +01:00
Roberto Fernandez Bautista
85efdb85b0
CADSTAR PCB: Ensure continuous track routes
...
When route offsetting, add an additional thin track to ensure
end point of one track and start point of the next are at the same
location.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8131
2021-04-07 11:28:02 +00:00
Roberto Fernandez Bautista
9a764126ce
CADSTAR PCB: Keep all tracks as a single chain where possible
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8119
2021-04-05 20:15:09 +01:00
Roberto Fernandez Bautista
b151dd02b9
CADSTAR PCB: Fix incorrect solder mask/paste clearance
...
Need to divide by two as this is a clearance, not diameter.
2021-03-30 13:03:56 +00:00
Roberto Fernandez Bautista
34a435cd56
CADSTAR PCB: Handle import of pads with different paste and mask sizes
...
KiCad doesn't yet support full padstacks, but at least we can use the
solder mask / solder paste expansion to import a better result. Also
we can disable the specific layer if the shape has a size of zero.
2021-03-25 17:54:56 +00:00
Roberto Fernandez Bautista
107a1990c9
CADSTAR PCB: Handle route offset
...
The CADSTAR post processor has a peculiar feature called "route offset"
which effectively shortens tracks when the pad, track or via that it
connects to has a smaller width. This operation is not saved in the
design itself, but applied as a post processing operation meaning that
the importer has to apply it when loading on the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6648
2021-03-25 17:50:33 +00:00
Roberto Fernandez Bautista
1468764f83
CADSTAR PCB: Lock footprint pads after import
2021-03-25 17:50:33 +00:00
jean-pierre charras
9a0f9575b6
Fix minor Coverity warnings
2021-03-25 09:12:24 +01:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jonathan Haas
f90164f7cf
Fix some typos and improve wording
2021-03-02 19:13:49 +01:00
Roberto Fernandez Bautista
09ebfcd650
CADSTAR Importer: Fix Code Style
...
- Rename member variable names to use the 'm_' prefix
- Rename a few object types that clashed with KiCad object names, such
as BOARD and SCHEMATIC, to avoid the use of '::' to access the KiCad
objects.
- Remove some unused code.
2021-02-22 13:24:00 +00:00
Roberto Fernandez Bautista
19d786852a
CADSTAR PCB Archive Loader: Fix loading of zero sized pads
...
Some CADSTAR designs use zero sized pads because CADSTAR did not allow
arbitrarily assigning pad numbers: they had to be sequential. The
workaround to this was to use zero sized pads. However this causes DRC
errors in KiCad, so we load them just in a mask layer.
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
aabe9c063f
CADSTAR PCB Archive Loader: Some fixes to design rules
...
1. Make sure to convert to KiCad units
2. There are some KiCad rules that have no CADSTAR equivalent.
Make a guess as to what an appropriate rule could be.
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
2d66abdc89
CADSTAR PCB Archive Importer: More improvements to loading of zones
...
Adds a new function Area() to SHAPE_POLY_SET
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
06c420a2a3
CADSTAR PCB Archive Importer: Improve loading of zones
...
Load fill state and guess zone priorities from fill state
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
80d8974f87
CADSTAR Archive Importer: Fix loading of non-cadstar font text sizes
...
Non-cadstar fonts use a width of 0.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
f559e94b00
Non-Kicad Project Importers: Fix the creation of project fp libraries
...
Adds a new function to PLUGIN GetImportedCachedLibraryFootprints() that
loads the library footprints of the board design that was imported
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7449
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
297ff282f1
CADSTAR Importer: Update copyright years and remove white spaces
2021-02-10 18:49:20 +00:00
Jeff Young
0bce280424
Make sure design rules get recompiled after netclass changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7082
2021-01-13 12:37:20 +00:00
Allan Nordhøy
8d81abb57a
Consistent use of spaces in strings.
2020-12-30 22:57:50 +00:00
Roberto Fernandez Bautista
b168b74919
CADSTAR Archive Importer: Fix position of multiline text with NO_ALIGNMENT in CADSTAR
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
ffee24be63
CADSTAR PCB Archive Importer: Rewrite loadBoardStackup routine
...
Uses BOARD_STACKUP::BuildDefaultStackupList instead of trying to build the stackup from scratch
Fixes several asserts / incorrect stackups in some older boards
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
a2cbbb963e
CADSTAR PCB Archive Loader: Correctly handle Dimension text
...
Do not parse fields in dimension text to allow splitting it into prefix and suffix
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
45b621a3d1
CADSTAR PCB Archive Importer: Fix Import of Linear Dimensions (Angular dimensions not supported)
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
fbac766254
CADSTAR PCB Archive Importer: Refactor layer mapping and fix assert
...
An assert was being fired to due to incorrect BOARD_STACKUP_ITEM_TYPE on some boards
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
0a1045300b
CADSTAR PCB Archive Importer: Fix loading of net class settings
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
cde433c82e
CADSTAR PCB Archive Importer: Transfer Project to allow importing of Text Variables
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
03a23db4f7
CADSTAR PCB Archive Importer: Load PCB Text Variables to KiCad project
2020-12-30 18:53:42 +00:00
Jeff Young
bb232e6ac6
Unify LIB_IDs now that both are stored in sexpr files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6764
2020-12-18 00:30:26 +00:00
Roberto Fernandez Bautista
260219b0e6
CADSTAR PCB Archive Importer: Fix arc and filled shapes in footprints
...
- Need to call the PCB_SHAPE version of SetAngle in order to set the global coordinates for m_ThirdPoint
- Fill shapes also if in a footprint
2020-12-10 14:35:37 +00:00
Jeff Young
b1f0bf7334
More consistent naming.
2020-12-08 13:05:39 +00:00
Roberto Fernandez Bautista
0691e942f4
CADSTAR Archive Importer: Fix duplicate KIID for loaded elements
...
Don't use clone to copy an EDA_ITEM. Use Duplicate().
Even if you give the clone a new KIID, all its children will still be clones.
Create Duplicate() in LIB_PART
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista
71f9847601
CADSTAR Archive Importer: Only load the Master variant
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista
78e3f917d9
CADSTAR PCB Archive Importer: Fix loading of old CADSTAR designs and Do Not Keep Upright
...
Older CADSTAR versions used 1/10 degree whereas newer versions use 1/1000 degree.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6437
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista
f2ba9f7ac3
CADSTAR PCB Archive Importer: Correctly load the pad numbers as per the original design
...
To load the pad numbers correctly we need to also check the PART DEFINITION for each component
2020-11-28 17:18:17 +00:00
jean-pierre charras
976c6262f4
French translation update (fix also trailing spaces in a few sentences)
2020-11-23 11:42:25 +01:00
Jeff Young
ec020dd19f
First-class support for filled shapes.
2020-11-14 01:40:32 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
63a54d003e
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
8c947b69b0
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
f5443de7f9
D_PAD -> PAD.
2020-11-13 15:16:24 +00:00
Jeff Young
2bc004eb0b
Prepare for D_PAD -> PAD.
2020-11-13 15:16:23 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jan Mrázek
fc8bf6f0fe
Allow a user to remap layers in Eagle import
...
ADDED Allow for user mapping of layers in Eagle import
ADDED Support required and optional layers in the layer mapping dialog
ADDED Add base class for plugins supporting remappable layers
2020-11-12 11:37:04 +01:00
Jeff Young
f7333ad64a
Update some classnames including archaic zone names.
2020-11-12 10:31:25 +00:00
jean-pierre charras
89e21d28f0
French translation update, and minor I18n fixes
2020-11-02 20:23:01 +01:00
Roberto Fernandez Bautista
3d49f6d6f8
CADSTAR PCB Archive Importer: Import missing layer subtypes LAYERSUBTYPE_CLEARANCE and LAYERSUBTYPE_ROUT
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista
7532428c46
CADSTAR PCB Archive Importer: Fix loading of angled slotted holes
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista
5e7d4ca6e8
CADSTAR PCB Archive Importer: Fix Position and orientation of non-symmetrical pads
...
Previously they were not loaded at the correct positions
There is still a problem with angled slotted holes, but now we display a warning to the user.
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista
0dc153fe58
CADSTAR PCB Archive Importer: Load correct pad information for pads with PADEXCEPTION
...
Overwrites pad definitions for pads that have PADEXCEPTION
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista
e7ab924a86
CADSTAR PCB Archive Importer: Resolve comments in MR
...
- Change wxASSERT(false) to wxFAIL_MSG
- Fix double negative
- Add small comment to TXT_HEIGHT_RATIO
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
6fb338d136
CADSTAR PCB Archive Importer: Fix imported Text Angle when mirrored
...
Angle needs to be negated in KiCad
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
7839a508b3
CADSTAR PCB Archive Importer: Fix imported text height
...
Apply a scaling factor derived from CADSTAR's default font
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
a514817c57
CADSTAR PCB Archive Importer: Fix component mirroring
...
Need to invert mirror angle before calling MODULE::Flip
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
dcf69d53f0
CADSTAR PCB Archive Importer: Fix unhandled case statements
...
Note: UNITS::DESIGN refer to the units defined in Assignments.Technology.Units
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5725
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
d780cb7e7c
CADSTAR PCB Archive Importer: Load CADSTAR routing areas as a KiCad rule area
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
5273c77fbf
CADSTAR PCB Archive Importer: Parse TRUNK and TRUNKREF, display error if present (no KiCad equivalent)
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
7a624d8d44
CADSTAR PCB Archive Importer: Fix warning.
...
Need to std::erase after std::remove!
2020-10-20 00:00:05 +00:00
Ian McInerney
5f4b0eb0fb
Fix formatting and overzealous renaming for FILL_TYPE
2020-10-15 11:24:49 +01:00
Marek Roszko
1538d737e7
Split out FILL_T to its own header to avoid spreading eda_item everywhere
2020-10-14 21:51:23 -04:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00