Commit Graph

13627 Commits

Author SHA1 Message Date
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
Jeff Young 6b557d8631 Remove special-case processing of ${REFERENCE} and ${VALUE}.
Fixes https://gitlab.com/kicad/code/kicad/issues/11476
2022-04-30 23:02:04 +01:00
Jeff Young 4f63611ee5 SetWidth as well as SetMinWidth for MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/11467
2022-04-30 14:09:30 +01:00
Jeff Young d72b9861f7 Translate net inspector column names on the fly.
Fixes https://gitlab.com/kicad/code/kicad/issues/11467
2022-04-30 00:22:27 +01:00
Jeff Young 5f10c15a87 Fix zone merge intersection algorithm.
Fixes https://gitlab.com/kicad/code/kicad/issues/11492
2022-04-29 22:17:53 +01:00
Jeff Young 37aa42d1e3 Don't allow Edge_Cuts or Margin in footprint private layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/11431
2022-04-27 17:14:33 +01:00
jean-pierre charras 0177613ad3 footprint wizard touch_slider_wizard.py: fix compatibility with current code. 2022-04-27 10:03:38 +02:00
Jeff Young 8a97a46e6b Release file before re-loading it for Revert.
Fixes https://gitlab.com/kicad/code/kicad/issues/11481
2022-04-26 22:28:35 +01:00
Jeff Young e7f5deedb8 All via pad layers need checking for copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/11429
2022-04-26 20:54:31 +01:00
Jeff Young 47e002a33d Add font to status bar for text objects. 2022-04-26 18:52:53 +01:00
Jeff Young e6f11c5c39 Reset outline font if bold or italic changed.
Fixes https://gitlab.com/kicad/code/kicad/issues/11462
2022-04-26 12:52:29 +01:00
Jeff Young f5d612eaed Switch <insert> replacement on OSX to <f1>.
Fixes https://gitlab.com/kicad/code/kicad/issues/11413
2022-04-25 10:01:33 +01:00
Jeff Young d192d3c31d Better violation title for disabled layers check.
Fixes https://gitlab.com/kicad/code/kicad/issues/11451
2022-04-25 09:39:49 +01:00
Jeff Young 3a47d50df4 Fix capitalization error. 2022-04-24 23:51:54 +01:00
Jeff Young 3bdae40881 Remove extra layer of parens. 2022-04-24 23:44:02 +01:00
Jeff Young 90bfe2d94b Remove Save Copy As from fp editor, and rename to Save a Copy elsewhere.
It's still used by Eeschema and PCBNew when not in stand-alone mode.

Fixes https://gitlab.com/kicad/code/kicad/issues/9185
2022-04-24 19:46:57 +01:00
Jeff Young 3304ad75ca Add on-the-fly i18n update for m_inactiveLayersLabel.
Fixes https://gitlab.com/kicad/code/kicad/issues/11435
2022-04-24 19:46:57 +01:00
Jeff Young b04f1b2d93 Change pad-type-matches-hole-presence from warning to error.
Fixes https://gitlab.com/kicad/code/kicad/issues/11452
2022-04-24 14:14:35 +01:00
Jeff Young 4cd48cd5c9 Fix some test issues. 2022-04-23 22:15:39 +01:00
Jeff Young f0dab2e07b Fix some layer handling issues. 2022-04-23 21:29:46 +01:00
Jeff Young dd561f1e4d Improve Cleanup Tracks and Vias messages. 2022-04-23 21:04:43 +01:00
Jeff Young e6684bf7c7 Add footprint checks to board-level DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/11437
2022-04-23 11:34:18 +01:00
Jeff Young 4525b1f085 More consistency in DRC error messages. 2022-04-23 09:39:34 +01:00
Jeff Young c6f83b6dec ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
Mike Williams b42365190e Schematic/PCB: deleting fields sets them to invisible 2022-04-21 16:20:23 +00:00
jean-pierre charras 1e80f3a65a pcad importer: fix a truncation when converting mils to IU. The value in mils is a double, but the function to convert in IU uses int. Fixes #11380 https://gitlab.com/kicad/code/kicad/issues/11380 2022-04-21 10:01:59 +02:00
jean-pierre charras 4afe4c0aa0 Fp editor: Add automatic zoom when loading a fp from library.
When loading from a board, the automatic zoom was already in play.
2022-04-21 09:00:04 +02:00
Jeff Young 7cb7a68b0e Make sure Type regex doesn't match before Pad_Type or Pin_Type.
Fixes https://gitlab.com/kicad/code/kicad/issues/11423
2022-04-20 17:32:07 +01:00
Marcus A. Romer df3e02d9b9 Fix initialisation of default line width settings 2022-04-20 15:57:55 +00:00
Jeff Young 4ab2c93070 Update Selection Filter title bar with language changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/11421
2022-04-19 21:12:13 +01:00
Jeff Young 08f15fe587 ADDED New Library functionality to Footprint/Symbol Save As.
Fixes https://gitlab.com/kicad/code/kicad/issues/2343
2022-04-19 19:55:30 +01:00
Jeff Young c619a63c06 Fix backwards layer order and minor layout issue. 2022-04-19 19:55:30 +01:00
jean-pierre charras c38ec9344f DIALOG_NET_INSPECTOR_BASE: fix a truncation text in a wxComboBox.
Probably Windows only: the size was fixed, and can create issues in non English languages
2022-04-19 09:43:24 +02:00
Jeff Young c3bed8f6ee Resolve textvars before opening file browser.
Fixes https://gitlab.com/kicad/code/kicad/issues/6436
2022-04-18 22:45:02 +01:00
Jeff Young ab131859f6 Bring footprint textvars in line with symbol textvars.
ADDED ${FOOTPRINT_LIBRARY} and ${FOOTPRINT_NAME} resolution.
2022-04-18 22:45:02 +01:00
jean-pierre charras 26370583fa French translation update and fix a typo. 2022-04-18 11:25:51 +02:00
jean-pierre charras 0211d07060 Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint
Fixes #11402
https://gitlab.com/kicad/code/kicad/issues/11402
2022-04-18 11:15:14 +02:00
Jeff Young 71c2cb3180 ADDED revert for pcbnew and eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/6802
2022-04-17 20:02:58 +01:00
Jeff Young 9b087a3c25 Add automatic precision choices for dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/6690
2022-04-17 20:02:58 +01:00
Jeff Young e09147db30 Cross-probing for ERC dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/11411
2022-04-17 00:33:56 +01:00
Jeff Young 9ff1ae5bdc Better inspection reporting for netclasses, custom rules and DRC. 2022-04-17 00:33:56 +01:00
Seth Hillbrand 2f2e956921 Sync via/pad flashing for null boards
Pads return true by default and so should vias

(cherry picked from commit bfa1661edf)
2022-04-15 15:15:07 -07:00
Jeff Young 7f3a75bccd Add a bunch more inspections for rule resolution. 2022-04-15 22:10:13 +01:00
Seth Hillbrand be7e9d300e Handle updated document description format
parentheses are rarely if ever used independently, so trim the unmatched
ones regardless of whether we find the starting parenthesis in the
description

Fixes https://gitlab.com/kicad/code/kicad/issues/11403
2022-04-15 11:17:01 -07:00
Jeff Young 18ac4ed842 Fix crash when selecting DRC marker (as opposed to one of its children). 2022-04-15 13:57:19 +01:00
jean-pierre charras e9da8c3a00 Ensure net_code is not used by non copper zones when saving the board file.
For some obscure reason, non copper zones inside footprints can have non 0 netcode.
Fixes #11395
https://gitlab.com/kicad/code/kicad/issues/11395
2022-04-15 13:19:35 +02:00
Jeff Young dbee441328 We've probably smoked out enough of the GetLayer() issues.
... and GetProperty() can query GetLayer() in user scripts.
2022-04-14 17:09:27 +01:00
Jeff Young c78a47c3fb Remove extra test.
Fixes https://gitlab.com/kicad/code/kicad/issues/10364

Fixes https://gitlab.com/kicad/code/kicad/issues/10364
2022-04-14 17:09:27 +01:00
Jeff Young 378a2de37c Formatting. 2022-04-14 17:09:27 +01:00
Jeff Young 604a148f40 Don't apply electrical clearance to shapes on Edge.Cuts.
Also don't apply them to NPTH holes.
2022-04-13 23:38:45 +01:00
Jeff Young a33e23e25a Import radial dimensions from Eagle.
Fixes https://gitlab.com/kicad/code/kicad/issues/10763
2022-04-12 15:47:39 +01:00
Jeff Young 739f4d0a1e Improvements to Eagle dimension importing.
1) Import leaders
2) Drop radius and angle dimensions
3) Import dimension text sizes
4) Correctly interpret which side dimension offset is on
5) Correclty handle offsets for non-cardinal dimensions

Fixes https://gitlab.com/kicad/code/kicad/issues/10763
2022-04-12 15:47:39 +01:00
jean-pierre charras 74c3ad0b3a Shadow on locked fp: do not show if LAYER_MOD_FR or LAYER_MOD_BK is not shown 2022-04-12 11:17:04 +02:00
Seth Hillbrand 819276bd98 DP tolerance needs to be 1IU on each axis
ApproximatelyParallel will only check for parallel within 1 IU, so a 1x1
SEG will always be parallel and the projection is invalid

(cherry picked from commit d0796399a2)
2022-04-11 16:58:10 -07:00
Marek Roszko f88e0481c8 Change the behavior of ACTION_MENU::Add to require clones if required outside the function
This reverts commit 2a5769607f.
2022-04-11 19:03:01 -04:00
Jeff Young 830f1891c2 Don't forget Pos0 when updating position.
Fixes https://gitlab.com/kicad/code/kicad/issues/11373
2022-04-11 20:01:32 +01:00
Seth Hillbrand 2a5769607f Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
This reverts commit 403992a6f4.
2022-04-11 11:39:03 -07:00
jean-pierre charras f0f10a43a2 Ensure "Clear Recent Files" menuitem titles are updated after language change.
(missing fixes in commit ac8e2d076)
2022-04-11 18:11:17 +02:00
Jeff Young a49bb792bd Insert chevrons when placing vias near tracks.
Fixes https://gitlab.com/kicad/code/kicad/issues/10898
2022-04-11 16:26:36 +01:00
jean-pierre charras ac8e2d0768 Ensure "Open Recent" and "Clear files" menu titles are updated after language change. 2022-04-11 11:09:05 +02:00
Marek Roszko 403992a6f4 Change the behavior of ACTION_MENU::Add to require clones if required outside the function
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:38:13 -04:00
Marek Roszko 5bb2cdf73d Revert "Stop leaking submenu items"
This reverts commit 34c70a51ea.
2022-04-10 22:33:43 -04:00
Marek Roszko 34c70a51ea Stop leaking submenu items
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
2022-04-10 22:04:48 -04:00
Jeff Young 29eb5931c2 Be more careful with forced cursor positions.
Fixes https://gitlab.com/kicad/code/kicad/issues/9977
2022-04-10 23:14:57 +01:00
Jeff Young 32a2490677 Prefer -90 to 270 for text rotation in dialog boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/9868
2022-04-10 22:43:44 +01:00
Jeff Young 1dae5eb7c4 A better blob vs web detector.
Since we're in a deflated state, a long web *could* still have a very
small area.  So check max extents instead.
2022-04-10 19:48:45 +01:00
Jeff Young 1a2e0d8226 Apply the min-width-by-min-width test to islands after pruning.
We're looking for minimum *web* width.  A blob does not a web make.

Fixes https://gitlab.com/kicad/code/kicad/issues/6907
2022-04-10 18:21:31 +01:00
Jeff Young 2663ad5340 Implement Eagle text variables.
Also fixes two bugs:
1) subsequent text items that are marked >NAME or >VALUE will now get
imported as text items with ${REFERENCE} or ${VALUE} (instead of overwriting
the previous text item)

2) we no longer (accidentally) capitalize all text items.

Fixes https://gitlab.com/kicad/code/kicad/issues/11321
2022-04-10 17:29:47 +01:00
Jeff Young a23399a1af Formatting. 2022-04-10 17:29:47 +01:00
Jeff Young 82820d4b1c Cleanup. 2022-04-09 20:39:35 +01:00
Jeff Young 18fb2ddff6 Coverity fixes. 2022-04-09 20:12:29 +01:00
Jeff Young 8fc652270e Cleanup. 2022-04-09 20:12:29 +01:00
Roberto Fernandez Bautista 0015574a60 ${SHEETNAME} represents the sheet name + introduce ${SHEETPATH}
CHANGED: The text variable ${SHEETNAME} now always represents the name of the
sheet when used anywhere in the schematic editor, including the title block

ADDED: A new text variable ${SHEETPATH} which is replaced with the path to the
current sheet - e.g. "/Sheet 1/Sheet 2".

To ensure backward compatibility, the default drawing sheet now uses
${SHEETPATH}. Custom drawing sheets will need to be manually edited.
2022-04-09 15:45:58 +01:00
jean-pierre charras 5e52539939 eagle importer: fix incorrect conversion UTF8/wxString.
When importing a eagle board file using wxXmlDocument, the strings in eagle BOARD
(UTF8 encoded) are correctly converted to wxString (using unicode wide chars)
So trying to reconvert these strings using FROM_UTF8( <wxString>.c_str() )
is incorrect and can break initial string if non ASCII7 chars are found
2022-04-09 15:33:01 +02:00
jean-pierre charras 1d5be1adeb Cairo GAL: fix incorrect size and thickness of text drawn by GAL::BitmapText() 2022-04-08 18:40:26 +02:00
Jeff Young 722b2588f4 Better error reporting for DP uncoupled length.
Fixes https://gitlab.com/kicad/code/kicad/issues/10087
2022-04-08 11:40:53 +01:00
Jeff Young c17b90c8dc Run pinning on sides as well as corners.
Also fixes a bug in LIB_SHAPE's Normalize() which wasn't handling the
upside-down coordinate system.

Fixes https://gitlab.com/kicad/code/kicad/issues/11339
2022-04-07 11:51:58 +01:00
Seth Hillbrand 9fcc641808 Don't set the dirty bit when running DRC
Dirty bit is set in the zone filler separately, there is no action in
the DRC that needs to be saved

Fixes https://gitlab.com/kicad/code/kicad/issues/11344

(cherry picked from commit 821fe6ea42)
2022-04-06 17:05:19 -07:00
Seth Hillbrand b66df1e4f3 Remove dead code 2022-04-05 16:26:08 -07:00
Jeff Young 0bd3341f0f Allow textboxes to have no text. (They still have a defined box.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11286
2022-04-05 16:29:21 +01:00
Jeff Young c591e19e9f Smarten textbox conversion back to cardinal rectangle.
Fixes https://gitlab.com/kicad/code/kicad/issues/11302
2022-04-05 15:12:56 +01:00
Jeff Young 68ca385e07 On-the-fly translations for pin electrical types.
Also add on-the-fly translation for editor title bars.

Fixes https://gitlab.com/kicad/code/kicad/issues/11324
2022-04-05 13:57:28 +01:00
Jeff Young a118249093 NPTHs obey HOLE_CLEARANCE, not CLEARANCE.
Also, plating thickness appears on both walls, so diameter is drill
plus 2X plating thickness.
2022-04-04 20:43:08 +01:00
Jeff Young f272056f20 Fix assert. 2022-04-04 20:43:08 +01:00
Jeff Young 921181b20b Cleanup. 2022-04-04 20:43:08 +01:00
Seth Hillbrand 1926af0c34 UNDEFINED_LAYER is always flashed
This is already true for vias and should be true for pads as well

Fixes https://gitlab.com/kicad/code/kicad/issues/11335

(cherry picked from commit 7d96d5940d)
2022-04-04 12:26:50 -07:00
Jeff Young 7f7910d922 Dirty text caches in pcb point editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/11319
2022-04-04 17:39:58 +01:00
Jeff Young fd9fd1df05 Careful of skipping non-flashed pads for performance: they might still have a hole. 2022-04-04 15:03:01 +01:00
jean-pierre charras dad31f50b7 VRML export: fix a different arc to segment approx for NP holes and Plated holes. 2022-04-04 14:42:29 +02:00
jean-pierre charras ece9c45e95 VRML exporter: make export faster by using SHAPE_POLY_SET::PM_FAST. 2022-04-04 12:25:48 +02:00
jean-pierre charras d05f5337ed VRML export: fix different error values to approximate arcs depending on options.
When exported with option "link 3D shapes to external files", the error value
was bigger because the VRML unit used in calculations differs from the one used
when merging 3D shapes in board file (for historical reasons).
Fixes #11326
https://gitlab.com/kicad/code/kicad/issues/11326
2022-04-04 12:25:48 +02:00
Jeff Young 90af5a36d2 Show hole clearance lines around NPTH pads.
Also make the clearance line NONPLATED_HOLES colour, not the PADS_TH
colour.
2022-04-04 10:28:33 +01:00
Jeff Young f22316b868 Careful about hiding pad layers.
We also draw netnames and clearance lines based on some of these layers.
2022-04-04 10:28:33 +01:00
Jeff Young aee5ff8935 Make sure text caches get updated on move.
Fixes https://gitlab.com/kicad/code/kicad/issues/11319
2022-04-02 22:37:55 +01:00
Wayne Stambaugh 0bdbfe1446 Pcbnew: add plot on all layers feature.
ADDED: Any addition board layers can be plotted on all selected board layer
when plotting.

CHANGED: The new plot to all layers feature made the plot edge cuts option
obsolete.  Users must now select the edge cuts layer from the list of
plot to all layer selections to include edge cuts on all layers when
plotting.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2449
2022-04-02 14:33:40 -04:00
Thomas Pointhuber bd18e340f4 eagle: introduce *.lbr footprint import test
Bugs found but not fixed yet:
* Reference and Value are not converted correctly yet
  * HOTFIX: test commented out
* GP3906-TLP and UBLOX_ZOE_M8-0-10 are not able to import the description again
  * HOTFIX: description removed from gold file
2022-04-02 20:07:16 +02:00
Thomas Pointhuber 406c528ab7 altium: Create region for items on the KEEP_OUT_LAYER and use new Track unit-tests 2022-04-02 18:17:19 +02:00
Jeff Young f7cdc7af75 Apply a more sophisticated test for ignoring isInCoupledDiffPair.
The basic problem is that the DRC engine does length testing and skew
testing by collecting all the diff pair constituent parts and pairing them
itself.  Since each part is collected on its own, we need to ignore the
'B' unit when evaluating any conditional expressions.  However, doing this
in general means that when evaluating "OwnClearance()" we also ignore the
'B' unit and return the diff pair CLEARANCE_CONSTRAINT when we shouldn't.

This implements a more discerning test which know what the current requested
constraint is when evaluating expressions.

See also https://forum.kicad.info/t/solved-custom-differencing-rule-not-working-drc/34034/6

Fixes https://gitlab.com/kicad/code/kicad/issues/11314
2022-04-02 15:12:42 +01:00
Marek Roszko b18e441a88 Free memory in dxf import sooner on bad_alloc 2022-04-02 09:57:30 -04:00
Marek Roszko 9f8c0a8185 Catch memory exhaustion trying to import large DXFs
See https://gitlab.com/kicad/code/kicad/-/issues/11308
2022-04-01 23:15:06 -04:00
Seth Hillbrand 737d65fd36 Skip zero-size elements when converting
Also fixes an assertion when converting to polygon from the board editor

Fixes https://gitlab.com/kicad/code/kicad/issues/11313

(cherry picked from commit 6706a5c462)
2022-04-01 13:24:10 -07:00
Jeff Young d174af4006 Handle textboxes moving back to RECT shape (ie: cardinal rotation). 2022-04-01 16:12:23 +01:00
Seth Hillbrand 49c48e2fe0 Consistently handle env/prj variables
User-defined variables cannot be used for internally-reserved variables

Fixes https://gitlab.com/kicad/code/kicad/issues/11232

(cherry picked from commit c23679d9bd)
2022-03-31 17:05:53 -07:00
markus-bonk 1a9ef4bd0f Add support for using a SpaceMouse to pan & zoom in the schematic editor. 2022-03-31 19:03:41 +00:00
Jeff Young bb43a3926a Math and I don't get along. So just be pedantic about text rotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/11247
2022-03-30 19:54:18 +01:00
Wayne Stambaugh c0d8657d97 Plot on all layers prep work.
We only need one bottom to top layer sequence definition.

Plot a sequence of layer IDs (LSEQ) in the order of the sequence.

Add helper method to layer set (LSET) to create a sequence of layer IDs
using another sequence for ordering.
2022-03-29 16:08:23 -04:00
Jeff Young b78a260326 Only write Allow DRC Violations if enabled.
Fixes https://gitlab.com/kicad/code/kicad/issues/11177
2022-03-29 19:31:02 +01:00
Jeff Young a54bbfe12b Honour prime-event-location when starting router.
Fixes https://gitlab.com/kicad/code/kicad/issues/11239
2022-03-29 13:44:40 +01:00
Jeff Young a35ae8cdce Don't re-fetch selection when running select-in-same-sheet.
Fixes https://gitlab.com/kicad/code/kicad/issues/11110
2022-03-28 21:54:24 +01:00
Mike Williams e51ab86225 Schematic Drag: fixes and improvements
Fixes:
* Various special cases around junctions on pins and dragging.

* Some rotations of endpoints resulting in a 45 degree rotate.

* Some cases where it was possible to get a line with neither
  endpoint selected, and also substractive unselecting only one of two
  selected endpoints unselecting both.

* Use line midpoint for sorting.  Start and endpoints aren't
  consistent in the order they appear on the X or Y axis. So,
  we need to use the midpoint for our position for consistent
  sorting when dragging groups of parallel lines where some
  have the start and end reversed.

Other:
* Rename TEMP_SELECTED TO SELECTED_BY_DRAG. This is the actual meaning
  of the flag, and should reduce confusion as
  to when it should be used.

* Move usage of TEMP_SELECTED as an algorithmic mark to CANDIDATE
  instead.

* Fix mistaken clearing of START_POINT and ENDPOINT.

* Move endpoint setting and clearing out of narrowSelection, and into
  selectPoint and selectMultiple.

* Don't show dangling end warnings on new lines
2022-03-28 16:02:48 -04:00
Jeff Young 6fa8cab188 Don't default to Annotate All just because the selection is empty.
Fixes https://gitlab.com/kicad/code/kicad/issues/11181
2022-03-28 17:52:50 +01:00
Jeff Young a2d4351b97 Correct initialization of justification.
Fixes https://gitlab.com/kicad/code/kicad/issues/11248
2022-03-28 17:11:20 +01:00
Jeff Young 343b2681d4 Midpoints for eeschema rectangles and text boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/10362
2022-03-28 11:16:39 +01:00
jean-pierre charras 9a342458fa Fix a few Coverity and compil warnings. 2022-03-26 16:21:23 +01:00
Wayne Stambaugh 150859c973 Try Coverity fixes that don't break unit tests. 2022-03-25 16:49:29 -04:00
Wayne Stambaugh 7da7864f5e Fix some Coverity issues. 2022-03-25 15:51:05 -04:00
Wayne Stambaugh 7b2d9dfc0c Fix some Coverity uninitialized scalar variable issues. 2022-03-24 13:17:07 -04:00
jean-pierre charras a6606924f1 GERBER_JOBFILE_WRITER: fix a crash due to use of a null pointer.
Can happens when it is created from a Python script.
Fixes #11227
https://gitlab.com/kicad/code/kicad/issues/11227
2022-03-24 17:54:05 +01:00
Jeff Young 92a229eec7 ADDED separate user-defined color for page limits.
Fixes https://gitlab.com/kicad/code/kicad/issues/5271
2022-03-24 14:11:41 +00:00
Jeff Young 1d66925f5f Enable bb and/or uvias when encountering them on Altium import.
Fixes https://gitlab.com/kicad/code/kicad/issues/10044
2022-03-22 22:33:51 +00:00
Seth Hillbrand 482dbcec54 All triangular trapezoid pads
A triangular trapezoid will have the deltaX/deltaY of the same size as
the length of that axis.  This creates a three-point polygon, which is
perfectly valid for our use

(cherry picked from commit 4e98ce87c7)
2022-03-22 13:39:55 -07:00
Jeff Young 118a37f19f Fix issues with importing NPTH pads from CircuitStudio.
Fixes https://gitlab.com/kicad/code/kicad/issues/10493
2022-03-22 18:08:05 +00:00
Jeff Young 3271b43d4b Formatting. 2022-03-22 18:08:05 +00:00
Jeff Young b679a21651 Zero out parent rule when overridden by local property.
Fixes https://gitlab.com/kicad/code/kicad/issues/11197
2022-03-21 20:49:35 +00:00
Jeff Young b3ae0fdca5 A little bit of nullptr safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/11077
2022-03-21 20:07:33 +00:00
Jeff Young cf611f1742 Better safety around layersets. 2022-03-21 18:19:00 +00:00
Jeff Young 40e0c8257d Rotate textbox shape along with text.
Fixes https://gitlab.com/kicad/code/kicad/issues/11187
2022-03-21 18:19:00 +00:00
Seth Hillbrand 41c2a48802 Prevent crash on unplated holes
NPTH may not be flashed on any layer, so the set-layer-visible logic
shouldn't try to determine their layer for showing.

Fixes https://gitlab.com/kicad/code/kicad/issues/11193
2022-03-21 10:39:33 -07:00
jean-pierre charras d27d2e0ad9 Pcbnew: fix lost of focus after clicking on a wxChoice in toolbar.
After changing track width, via size, grid or zoom from the toolbar, the
canvas has no longer the focus on Windows. So we force the focus after clicking
on these widgets.
Fixes #11103
https://gitlab.com/kicad/code/kicad/issues/11103
2022-03-21 18:10:07 +01:00
Jeff Young 4f62960334 Update message panel from PCB point editor and SCH drawing tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/11186
2022-03-21 10:32:36 +00:00
Jeff Young 73f835437e Don't modify outer loop variable inside inner loop. 2022-03-19 19:37:01 +00:00
Jeff Young 476f1a7d4d Preload PCBnew find with selection when appropriate. 2022-03-19 19:37:01 +00:00
jean-pierre charras 6bf47e44e4 pcbnew: DIALOG_PRINT_PCBNEW: activate right click context menu inside layer list. 2022-03-19 08:10:17 +01:00
Seth Hillbrand 3b6e8464c2 Fix expand variables for built-in
Allow falling back to the alternate variable definitions if the built-in
text block variables are not set.

Also push the project into variable resolution when plotting

Fixes https://gitlab.com/kicad/code/kicad/issues/11168

(cherry picked from commit c44d31fcfb)
2022-03-18 16:47:18 -07:00
Frank Zeeman b3a319b77e Append True to Python 3 AddPrimitivePoly() call
Fixes https://gitlab.com/kicad/code/kicad/issues/11012
2022-03-18 20:00:32 +00:00
Jeff Young 5aa561abe1 Add overlapping pad test and share some tests between board & fp editor DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/10086
2022-03-18 19:58:42 +00:00
Jeff Young dc39703d0e Bring pcbnew print dialog in line with plot.
Fixes https://gitlab.com/kicad/code/kicad/issues/2171
2022-03-18 13:37:20 +00:00
jean-pierre charras 54c9e36556 Python, board.i: fix incorrect order of an include.
The result was ignoring PCB_SHAPE in pcb_text.i.
2022-03-18 14:19:14 +01:00
Jeff Young c4c8848fa3 Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.
Fixes https://gitlab.com/kicad/code/kicad/issues/11119
2022-03-18 11:04:53 +00:00
Jeff Young 0f359c8a3b Careful of calculated fields when comparing board FPs with library.
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-17 13:19:25 +00:00
Seth Hillbrand 442aae19d9 Separate flashing check for connectivity
When building the connectivity database, we should not be using the
connectivity to check for shapes.

To make this deterministic, we introduce two flags (ALWAYS_FLASH and
NEVER_FLASH) that are used with connectivity building to determine
whether a pad is flashed for connectivity or not.  ZONE <-> PAD/VIA
connectivity will be checked with ALWAYS_FLASHED and all other
connectivity will be checked with NEVER_FLASHED if they are marked for
potential annular ring removal.  If they are not marked for removal,
they will be checked ALWAYS_FLASHED.

Fixes https://gitlab.com/kicad/code/kicad/issues/11114
2022-03-16 17:30:01 -07:00
Jeff Young 4225f92573 Slight improvements to via drawing.
Fixes https://gitlab.com/kicad/code/kicad/issues/8717
2022-03-16 14:56:32 +00:00
Jeff Young 62f813fddc Better error reporting for PTH pads. 2022-03-16 14:56:32 +00:00
Jeff Young cabcaf933c Cleanup. 2022-03-16 14:56:32 +00:00
Jeff Young fa5a484797 Remove unused variable. 2022-03-16 14:56:32 +00:00
Jeff Young f596ae3487 Allow mechanical-clearance checks between edge_cuts and other layers. 2022-03-16 14:56:32 +00:00
jean-pierre charras 567fd5ba74 Specctra import/export: fix some issues (tested only with FreeRouter):
- Better handling of locked tracks than commit cbb6ca85
- Locked tracks are now exported with attribute "fix".
- Incorrect view cleaning
- Fix memory leak.
2022-03-16 12:31:45 +01:00
Jeff Young 600dcd31ad Allow track board edge clearance violations inside the holes of castellated pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-15 00:05:23 +00:00
Jeff Young 8d682002c3 Fix previous breakage from shared_ptr going out of scope.
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 23:57:50 +00:00
Jeff Young cbb6ca8500 Import specctra track locking.
Fixes https://gitlab.com/kicad/code/kicad/issues/11070
2022-03-14 23:02:19 +00:00
Jeff Young a81c8d4922 Save pointer to markers provider.
Fixes https://gitlab.com/kicad/code/kicad/issues/11136
2022-03-14 22:13:39 +00:00
Jeff Young e7bf4ab8fa Separate board-edge silk clearance from mask-edge silk clearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 20:19:09 +00:00