Jeff Young
d40664d171
Handle double-click in dimension drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11815
2022-06-15 18:07:50 +01:00
Jeff Young
5e80e2a421
58f553a9ca
requires that cache be layer-sensitive.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11814
2022-06-15 00:30:11 +01:00
Fabien Corona
bf62d6e9ee
Ibis: Coverity issues
2022-06-13 19:31:57 +00:00
jean-pierre charras
9fd5ee5a2f
paper min size set to 1 inch (previously 0.1 inch, very small indeed)
...
Avoid using magic numbers in file pcb_parser.cpp.
Fixes #11807
https://gitlab.com/kicad/code/kicad/issues/11807
2022-06-13 17:51:29 +02:00
Jeff Young
52bc2511cd
Add a radioButton mode to IMAGE_BUTTON.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11797
2022-06-12 20:09:46 +01:00
Marek Roszko
87f10ea206
Split off the netlist export content helper but it's advancedcfg
2022-06-11 23:09:47 -04:00
Marek Roszko
cb44d97ed4
Update pcbnew to the new filedlg customize
2022-06-11 22:10:49 -04:00
Jon Evans
e5ece4e460
ibis_parser: fixes to build on MSVC
...
Use stringstream instead of C arrays for formatting std::string
std::isnan(int) is invalid
Also fix a few report severities that seemed inconsistent
2022-06-11 18:09:17 -04:00
Jeff Young
9b70308f5c
Nullptr defensive code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11690
2022-06-11 22:32:12 +01:00
Jeff Young
4f3cfdc92e
Clang says nan and isnan aren't in std namespace....
2022-06-11 22:14:14 +01:00
Jeff Young
f22cf1cc3a
Fill in missing bits of LAYER variable for printing/plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11788
2022-06-10 22:38:01 +01:00
Seth Hillbrand
20f4e62176
Rename signalIntegrity to ibis
...
We do not use camelCase in KiCad
2022-06-10 13:35:48 -07:00
Tomasz Wlostowski
f5fe1d5462
router: another attempt at improving 'kink' robustness of the hull generator
2022-06-09 20:51:21 +02:00
Fabien Corona
0d35d69f70
ADDED: Read IBIS files
2022-06-09 18:30:51 +00:00
Seth Hillbrand
ac0f95683f
Sort PCAD layers
...
Better fix for 11750. Instead of figeting with layer values, we sort
our map based on the layer numbers in the PCAD file. F_Cu is always
layer 1 and B_Cu is always layer 2.
Fixes https://gitlab.com/kicad/code/kicad/issues/11750
2022-06-09 11:10:34 -07:00
Seth Hillbrand
e857622dd4
Handle B_Cu ordering
...
Stopgap until we introduce multi-layer mapping widget
Fixes https://gitlab.com/kicad/code/kicad/issues/11750
(cherry picked from commit 32aabaf010
)
2022-06-08 17:19:37 -07:00
Seth Hillbrand
124bdb6673
Check for older tags in pcad import
...
The pourOutline/planeOutline do not include support for fillets
Fixes https://gitlab.com/kicad/code/kicad/issues/11749
(cherry picked from commit 72b7f9fe10
)
2022-06-08 16:27:17 -07:00
Jeff Young
f2c26ae528
Formatting.
2022-06-08 23:53:18 +01:00
Tomasz Wlostowski
56df462474
router: fix SegmentHull() corner case when it 'chamfers' more than the clearance permits (corner case for 0-length segments, which we use
...
for representing holes)
2022-06-09 00:33:08 +02:00
Tomasz Wlostowski
990281a897
router: use either copper or hole clearance, whichever is larger, when checking track -> hole collisions
2022-06-09 00:31:47 +02:00
Tomasz Wlostowski
4192c0a709
router: move IsFlashedOnLayer to the IFACE_BASE class so that it can be used in the debugger tool
2022-06-09 00:30:57 +02:00
Tomasz Wlostowski
bcfe12ce47
router: improvements in robustness of SegmentHull()
...
- ensure the 'chamfer' radius and clearance is rounded before computing the actual hull vertices
- for small, non-45 degree line segments (present in many boards), generate a slightly larger but still axis-aligned 45 degree hull instead of following exactly the segment direction
2022-06-08 14:28:31 +02:00
Tomasz Wlostowski
e90ab055b9
router: remove unused LINE::Is45Degree()
2022-06-08 14:28:31 +02:00
Jon Evans
dc6c27b686
Don't wipe out visibility state when changing layer count
...
(cherry picked from commit 7053981835
)
2022-06-08 03:01:02 +00:00
Jon Evans
30fb298ed3
PNS: Re-enable hole clearance for non-flashed pads/vias
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11098
2022-06-07 19:49:38 -04:00
Jon Evans
23596812b6
PNS: Implement HoleHull for VIA
2022-06-07 19:49:38 -04:00
Jeff Young
bf71cada4e
ADDED: User viewports for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5724
2022-06-06 22:24:02 +01:00
Jeff Young
244042ce51
Keep footprint selection in Symbol Chooser history list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1841
2022-06-06 22:24:02 +01:00
jean-pierre charras
9f38fa43cd
Fix some minor compil and Coverity warnings.
2022-06-05 11:44:49 +02:00
Jeff Young
d14fd5a9da
Fix logic error with silk overlap test.
2022-06-04 19:34:24 +01:00
Jon Evans
3747369aaa
PNS: Remove offsets from hull generation
...
This is likely an old workaround to numerical precision issues
in the DRC system that no longer exist. Removing this is necessary
for "exact" hull generation to produce walkaround results that
look nice (paths falling exactly on the grid lines)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
(cherry picked from commit 5d4e2aa595
)
2022-06-04 00:04:03 -04:00
Jon Evans
9a2950cca1
PNS: Use exact hulls for walkaround path generation
...
When we generate hulls, by default we subtract the clearance epsilon
to prevent false collisions in the router that wouldn't be flagged
by DRC. However, we need to use the actual hull with no epsilon
when generating hulls for pathfinding in the walkaround system.
Without this change, it is possible for the walkaround to generate
a valid-seeming path that results in a DRC violation, for example
when dragging a drag against a board edge.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10536
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11365
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
(cherry picked from commit 2a91ba35c1
)
2022-06-04 00:04:03 -04:00
Jeff Young
8b75a32cfa
We only want "actual" shapes, not anything derived from SHAPE.
...
Also fixes a bug where GetParentFootprint would get confused by
groups.
Fixes https://gitlab.com/kicad/code/kicad/issues/11741
2022-06-04 00:24:27 +01:00
Jeff Young
d2a9cbe6e8
Use effective width for DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11740
2022-06-03 23:27:10 +01:00
Tomasz Wlostowski
c8b93c39b6
router: remove some old cruft from the WALKAROUND class
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
0bd7f603a3
router: consider mouse drag event a valid route start/end event
...
L-clicks during routing operation while the mouse is moving (even slightly) were ignored, which was annoying to some users (myself included). Now the router
always fixes the track upon mouse click.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
eaee610fd9
router: save project settings together with the debug log
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
f73acbb206
router: derive VIA class from LINKED_ITEM interface
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
cab08f859a
router: cluster extraction should only consider objects that are touching (instead of checking clearance)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
297c60923e
router: return routing status from ROUTER::Move()
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
54f4f765b9
router: NODE|ITEM::QueryColliding() now can override clearance
...
Needed for clustering algorithm (to be committed later... ;-)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
aca9cce5d5
router: more verbose debug messages for the debugger tool
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
2a0accd184
router: shove algorithm now considers cases where a small via sits 'inside' a fanout of wide (width > via diameter) segments.
...
The shove algorithm can't move the loose track ends. It always needs a via. In case of wide segments stitched with
a small via, the collision search finds only colliding segments and does not consider the via. This leads to frequent shove falilures
or 'choppy' behaviour when the head line only slightly overlaps with an end of a thick trace. This patch attempts at improving this behaviour
by considering the 'tiny via in wide segment' case explicitly.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
08647bf035
router: temporarily disable via hole clearance check in the shove algorithm.
...
- needs refinements and additional checks for corner cases.
- disabled also to facilitate debugging of other shove bugs
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
8cb65a8a13
router: default values for LOGGER::Log()
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
752ba2ed76
router: log via toggle events
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
a4ad47cd08
router: use SHAPEs and PNS::ITEMs only in the ROUTER_PREVIEW_ITEM
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
b08280d00c
router: enable Hole Clearance rule only in Mark Obstacles mode
...
(it will be brought back to Walk/Shove modes as soon as all the underlying issues are fixed)
2022-06-03 23:28:40 +02:00
Jeff Young
d31bd4ea3e
Use default text properties for textboxes.
...
Also make sure text is mirrored when placed on back of board.
Fixes https://gitlab.com/kicad/code/kicad/issues/11739
2022-06-03 18:48:09 +01:00
qu1ck
13bece06cf
Fix swig wrapper for footprint 3d models
2022-06-03 17:35:40 +00:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Jeff Young
bd51b33f65
Clear point editor before recombining pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11731
2022-06-02 15:55:35 +01:00
Jeff Young
de12c63de6
Repair point editing of rotated text boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11432
2022-06-02 10:42:57 +01:00
Jeff Young
f8829de5ea
Formatting.
2022-06-02 10:42:57 +01:00
Jon Evans
40593930d0
PNS: Fix off-by-one in dragCornerInternal
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10919
(cherry picked from commit 8d8f96b094
)
2022-06-01 21:13:05 +00:00
Jeff Young
dee22a31d9
Expose footprint ID, description and keywords to property system.
2022-06-01 12:47:37 +01:00
Jeff Young
38bc653ce9
Add arc support to HyperLynx export.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10782
2022-06-01 12:47:37 +01:00
Jon Evans
6fd14ac945
[PNS] Fix invalid assumption in IsLineCorner
...
(cherry picked from commit a4aa447b95
)
2022-05-31 20:24:54 -04:00
Jon Evans
9470bd15a1
PNS: Fix skew calculation with pad-to-die specified
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11710
(cherry picked from commit 53dbd3bb02
)
2022-05-31 20:24:54 -04:00
Seth Hillbrand
6c0856c384
Fix PCAD silk layer for solder-side fp
...
The layer should be flipped based on the footprint mirror value rather
than the text mirror value (which is independent)
Fixes https://gitlab.com/kicad/code/kicad/issues/11652
2022-05-31 13:03:32 -07:00
Jeff Young
155620cc9a
Move H/V/45 mode from zone properties to toolbar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8587
2022-05-29 21:30:15 +01:00
Jeff Young
1fb7532859
Prepare for a more uniform implementation of H/V/45 mode.
2022-05-29 21:30:14 +01:00
Jeff Young
b056bbd9b9
Initialize enabled state of dimension text orientation combobox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11674
2022-05-28 19:42:06 +01:00
Jeff Young
80124d2463
Write out partial pad-stacks for blind/buried/microvias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11692
2022-05-28 00:19:13 +01:00
Jeff Young
2a525cf986
Coding standards.
2022-05-28 00:09:47 +01:00
Seth Hillbrand
35b79c2ec9
Make PCAD import case-insensitive
...
According to the PCAD specification, all tags are case insensitive.
Most exporters honor the defaults but there is always an outlier or two
Fixes https://gitlab.com/kicad/code/kicad/issues/11652
2022-05-27 10:09:40 -07:00
Mike Williams
21a7e050ab
REMOVED: PCB Editor Layer Alignment Target
...
No longer used by modern PCB processes.
Only the code to add the target to the board has been removed. Parsing
code for existing designs with targets is left in place.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10006
2022-05-26 08:47:02 -04:00
Jeff Young
ae1ece7a78
Fix duplicate spaces before units.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11675
2022-05-26 10:54:08 +01:00
Jeff Young
4afca58ce7
Eagle octagonal pads are regular (~29% chamfered).
...
Also cleans up setting of KeepTopBottom (which is ignored unless
we're doing optional flahing -- which we're not for Eagle imports).
Fixes https://gitlab.com/kicad/code/kicad/issues/11664
2022-05-23 10:43:34 +01:00
Jeff Young
24ddf1ad20
Don't use zone connections to control optional via flashing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-05-23 10:26:52 +01:00
Jeff Young
3f502b313d
Don't return false when a particular item doesn't connect.
...
We still have to search all the other items, as they might connect.
2022-05-23 10:26:18 +01:00
Jeff Young
a33e5c53be
Replace missing setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11453
2022-05-20 22:41:48 +01:00
Jeff Young
f7fcc310f8
Select next/prev copper layer whether we start on copper or not.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11600
2022-05-20 15:59:29 +01:00
jean-pierre charras
a09bd4ae12
Fix a bug in commit 57e59a49
2022-05-20 15:08:50 +02:00
Jeff Young
fa11e1c097
Take text height into account as well as thickness for knockout margin.
...
Also centralizes calculation so all clients will get the same answer.
Fixes https://gitlab.com/kicad/code/kicad/issues/11636
2022-05-20 12:29:01 +01:00
jean-pierre charras
e54ba87895
fix FootprintWizardBase.py compatibility with recent code.
2022-05-20 12:58:07 +02:00
jean-pierre charras
57e59a4959
Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards
2022-05-20 12:58:05 +02:00
Jeff Young
deeb7d4d6d
Make use of board stackup data when exporting VRML.
...
Specifically layer colors and board thickness.
Fixes https://gitlab.com/kicad/code/kicad/issues/11627
2022-05-19 23:58:33 +01:00
Jeff Young
294b8e9051
Treat a textbox as filled when knocking out (whether it is or not).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11628
2022-05-18 17:14:57 +01:00
Jeff Young
cc86d3da2a
Give up trying to find a one-size-fits-all boudningBox for text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11636
2022-05-18 17:14:57 +01:00
Jeff Young
23fb4c7433
Uniformly use a single facility for location-less prime events.
...
Also implements a uniform mechanism for avoiding auto-scroll after
a prime event or dialog which results in a mouse position at the
edge of the canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
2022-05-16 23:43:00 +01:00
Seth Hillbrand
b00bf2bc6b
Make sure that we have a visible layer
...
Before setting the active layer to our visible sequence, make sure that
the sequence is not empty (leads to invalid layer id->crash)
Fixes https://gitlab.com/kicad/code/kicad/issues/11629
(cherry picked from commit 0d93be0af2
)
2022-05-16 15:26:05 -07:00
Jeff Young
4b668269b7
Don't try and use zone fill before it's been calculated.
2022-05-16 15:20:01 +01:00
Jeff Young
f2fc78f380
Don't copy modifiers to prime events.
...
The modifiers go with the hotkey, not with the action.
Fixes https://gitlab.com/kicad/code/kicad/issues/11618
2022-05-16 13:51:40 +01:00
jean-pierre charras
1f088984ce
gerber_placefile_writer: fix angle rotation for flipped footprints.
...
According to latest Gerber documents (rev 2022.02), the previous angle was
missing a +180 rotation
Fixes #11621
https://gitlab.com/kicad/code/kicad/issues/11621
2022-05-16 10:24:13 +02:00
jean-pierre charras
97a8bfc27d
Pcbnew DIALOG_PLOT: fix incorrect association of LAYER_ID in Plot on All Layers list
...
The order of items in wxRearrangeList and the order of LAYER_ID values was incorrect,
at least on W10/msys2
The order of items in wxRearrangeList is no longer used to avoid issues.
2022-05-15 10:52:08 +02:00
Marek Roszko
88c7322a0d
EDA_TEXT Get/SetTextSize should use VECTOR2I
2022-05-14 08:16:15 -04:00
jean-pierre charras
5c7a79e287
(WIP) Teardrop: use a specific attribute in .kicad_pcb file to identify teardrops
...
the new attribute is:
"(attr (teardrop type padvia)))" or "(attr (teardrop (type track_end)))"
However (Work in Progress) writing this attribute in file is temporarily disabled.
2022-05-14 09:50:00 +02:00
Jeff Young
37838dffb9
Make sure physical_clearance rules are run against courtyard layers.
2022-05-10 23:02:53 +01:00
dsa-t
ad066ef09a
Fix cross-probing in complex hierarchies, remove unused code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11493
2022-05-09 23:22:03 +03:00
Mike Williams
b7a77a9498
Schematic: Add CSV export to Symbol Fields Table
2022-05-09 12:02:12 -04:00
Jeff Young
8f937b17a2
Remove wxWidgets 3.0.x hack.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11540
2022-05-07 23:24:55 +01:00
Jeff Young
ecf6773f74
Remove dead code.
2022-05-07 21:10:04 +01:00
Jeff Young
492259a1d4
Outline font bug fixes for PCBNew dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11583
2022-05-06 18:14:25 +01:00
Jeff Young
30ecca464d
Rename mechanical_clearance -> physical_clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11554
2022-05-06 15:54:46 +01:00
Jeff Young
dfdedfa605
Fix some issue with NPTH pads with holes same size as pad.
2022-05-06 00:06:00 +01:00
Jeff Young
f590dcf513
Fix a couple of typos.
2022-05-06 00:06:00 +01:00
Jeff Young
371091a09b
Make zone filler respect mechanical clearances.
2022-05-06 00:06:00 +01:00
Jeff Young
5d0d2201f3
Improve clearance report messages.
...
Removes some duplicated terms; puts in some more headers to make
visual parsing easier, and makes non-connected-pads report the correct
data.
Also fixes a bug where zone-connection overrides of none weren't getting
handled correctly.
Fixes https://gitlab.com/kicad/code/kicad/issues/11544
2022-05-03 16:30:04 +01:00
Jeff Young
bf2566a44f
Post-process board min clearance rather than building it in to netclasses.
...
The later makes the diagnostic messages harder to decipher.
2022-05-03 13:39:14 +01:00