Roberto Fernandez Bautista
ad2043eda6
CADSTAR PCB: DrillXoffset and DrillYoffset are zero when not specified
...
Fixes an issue that resulted in pads being loaded 100nm off from the
original CADSTAR position.
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
Roberto Fernandez Bautista
9ed4780fec
CADSTAR Archive Importer: Change architecture to Parse CADSTAR fields and store them in a static map
...
Architecture of the parser changed to have a shared PARSER_CONTEXT between all the individual parsers.
Parses CADSTAR fields such as <@DESIGN_TITLE@> or <@SHEET_NUMBER@> and replaces with an equivalent KiCad Text Variable.
2020-12-30 18:53:42 +00:00
Wayne Stambaugh
06aa1506ee
Add optional project parameter to PCB plugin load method.
...
The optional PROJECT parameter is primarily used for third party plugins
that need to store project information loaded by the plugin.
2020-12-18 10:40:51 -05: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
7a1777e9b9
CADSTAR PCB Archive Importer: Parse EXITS node in PADEXCEPTION
2020-10-27 11:33:35 +00:00
Marek Roszko
e928b2d8fd
Split EDA_UNITS out from common.
2020-10-25 00:02:52 -04: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
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
...
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Mikolaj Wielgus
d14761bee6
Fix inches being sometimes used instead of mils
2020-10-03 20:06:56 +00:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Jon Evans
716598ac24
Layout tweaks to CADSTAR layer mapping dialog
2020-10-02 22:17:08 -04:00
Roberto Fernandez Bautista
72d9a36fd6
ADDED: Dialog to handle import of unmatched layers from CADSTAR
2020-10-03 01:21:57 +00:00
Seth Hillbrand
bf3cb0b1d0
Standardize pad type enums
2020-09-30 08:38:35 -07:00
Roberto Fernandez Bautista
39995341d9
Compile fixes
...
Fix compile error
Fix string format to use %ld instead to work on clang in CADSTAR Archive importers
Add virtual destructor to CONNECTION in CADSTAR_ARCHIVE_PARSER
2020-09-27 22:05:07 +00:00
Roberto Fernandez Bautista
6f5f6a0fba
CADSTAR Schematic / PCB Archive Importers: Fix string formatting asserts
2020-09-27 18:14:02 +01:00
Roberto Fernandez Bautista
93242eb3ad
CADSTAR Schematic / PCB Archive Importers: Add missing import warnings and fix code formatting
2020-09-27 18:14:01 +01:00
Roberto Fernandez Bautista
2d99703e28
CADSTAR Schematic Archive Importer: Load all Sheets and Hierarchical Blocks
2020-09-27 18:13:58 +01:00
Roberto Fernandez Bautista
646a733556
CADSTAR Schematic Archive Importer: Parse all elements
2020-09-27 18:13:57 +01:00
Roberto Fernandez Bautista
1b20a2910a
Move all common CADSTAR Importer Parser code
...
Move all common code from CADSTAR_PCB_ARCHIVE_PARSER (pcbnew) to CADSTAR_ARCHIVE_PARSER (common)
2020-09-27 18:13:56 +01:00
Jon Evans
18e17abd6a
Rename "Keepout" to "Rule Area"
...
These objects can now be used in advanced DRC rules and
not just for keeping things out. Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
2020-09-21 23:55:02 -04:00
Ian McInerney
f82ad61c90
More warning cleanup
2020-09-20 01:43:27 +01:00
Jeff Young
f340636f70
When knocking out higher-priority zone use fill, not outline.
...
Also fixes a bunch of naming issues, primarily with lowercase for
protected variables, but also some for consistency with other parts
of the code.
Also changes the zone fill radio buttons in Board Setup to be more
generic referring to legacy vs. current, and to have tooltips.
Fixes https://gitlab.com/kicad/code/kicad/issues/5583
2020-09-18 16:45:41 +01:00
Ian McInerney
aa0b0ca7e7
Fix some warnings in the cadstar importer
2020-09-18 11:17:37 +01:00
Roberto Fernandez Bautista
5467729611
Fix incorrect comparison in CADSTAR PCB Archive Importer
...
Also avoid use of magic numbers in case KiCad internal units ever change
2020-09-15 17:16:01 +00:00
jean-pierre charras
ff0a728753
Fix a few I18N issues.
2020-09-14 10:02:07 +02:00
Jon Evans
b11e315d10
Refactor DIMENSION to hide internal details; add some new properties
...
This is a board file format change to account for the new properties.
Also, we now only store the critical information about the dimension's
geometry in the board, rather than storing every drawn line.
The DIMENSION object is now an abstract base, and ALIGNED_DIMENSION
is the implementation that exists today (we will add more dimension
types in the future)
2020-09-11 21:12:36 -04:00
Jeff Young
e31705d4b3
More source reporting for clearance rules.
2020-09-10 20:58:38 +01:00
Roberto Fernandez Bautista
6a82f23981
CADSTAR PCB Archive Importer: Load Component Copper and Component Areas
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
c1dec964be
CADSTAR PCB Archive Importer: Fix Parsing errors
...
Change error displayed when a Library .cpa file is opened (instead of a Layout file)
Add warning if variants exist in original design.
Parse LAYERHEIGHT in LAYER (same thing a MAKE but without the MATERIAL_ID)
Parse PADEXCEPTION in COMPONENT
Add DESIGN as one of the valid UNITS
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
05e5740504
CADSTAR PCB Archive Importer: Parse VARIANT data + add missing "REFPLANE" flag to layers
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
349ac06ee2
CADSTAR PCB Archive Importer: Fix compile error + BULLET pad is now correct
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
112da7828e
CADSTAR PCB Archive Importer: Load Dimensions
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
8296b1d669
CADSTAR PCB Archive Importer: Load GROUPs
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
7ca4f0b375
CADSTAR PCB Archive Importer: Formatting fixes
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
94568e8699
CADSTAR PCB Archive Importer: Load Net Classes (Routing Widths in CADSTAR)
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
a3531b02e7
CADSTAR PCB Archive Importer: Load documentation symbols and fix some import errors
...
Fix unnamed net import
Fix missing tokens
Fix zero-sized pads (make them really small instead)
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
7e65d443e8
CADSTAR PCB Archive Importer: Load TEXTS and fix loading speed
...
Loading speed fixed by changing the way CADSTAR_ARCHIVE_PARSER::InsertAttributeAtEnd works (we now have a new attribute in each node to keep track of how many attributes there are). Now loads a 30,000 line file in 10seconds instead of 25 minutes!
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
fe3e20ddc7
CADSTAR PCB Archive Importer: Load design rules
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
866c069873
CADSTAR PCB Archive Importer: Load TEMPLATEs, COPPERs and NETs (including Tracks and Vias)
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
05de678f4e
CADSTAR PCB Archive Importer: Rename CADSTAR_PCB class to CADSTAR_PCB_ARCHIVE_LOADER
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
08a77e0af8
CADSTAR PCB Archive Importer: Add import warnings for CADSTAR layers with no KiCad equivalent
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
3b3af5327f
CADSTAR PCB Archive Importer: Move code into common/plugins and pcbnew/plugins folders
2020-09-08 21:21:20 +00:00