Seth Hillbrand
7653a2bf99
Smarten connection width checker looking for splits
...
Fractured polygons are always fractured along the x-axis, so when
checking to see if a segment is a fracture point, we check if the y
coordinate is equal. This avoids situations where there are multiple
fracture points between two inflection points
Additionally, we add a second check to ensure we don't hit spurious
blobs (all kinks should be symmetric and therefore be substantial in
each direction)
Fixes https://gitlab.com/kicad/code/kicad/issues/14130
2023-03-06 16:14:34 -08:00
Jeff Young
25623552f6
ADDED: board/library inspection for footprint differences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13736
2023-03-06 23:08:59 +00:00
jean-pierre charras
636e63f0c5
more about step exporter (export more copper graphic objects).
2023-03-06 16:36:37 +01:00
Jeff Young
c54c254f96
Don't allow footprint editor pad tools to run outside footprint editor.
...
(They can get called if a user re-assigns hotkeys to them.)
Fixes https://gitlab.com/kicad/code/kicad/issues/14166
2023-03-06 14:43:57 +00:00
Jeff Young
9b9efb9002
Cache for netclass pattern assignments.
2023-03-06 13:56:04 +00:00
Wayne Stambaugh
a1fb8e1b1d
Coverity fixes and code cleaning.
2023-03-06 07:12:18 -05:00
jean-pierre charras
eeee3adb94
Step exporter: code cleaning and merge connected tracks in polygons
2023-03-06 11:59:09 +01:00
Jon Evans
61d30ee5bc
Use constraints to determine netclas width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14190
2023-03-05 22:35:19 -05:00
qu1ck
88062c5fc3
Add vector3 to swig
...
Fixes regression in 7.0 making fp 3d model offsets not accessible in
python
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14179
2023-03-05 15:59:22 -08:00
Jon Evans
10d1ba59d8
Fix compile warning
2023-03-05 18:11:41 -05:00
Jeff Young
2994fa26cd
Allow separate processing of dimensions in Edit Text & Graphics Properties.
2023-03-05 15:19:06 +00:00
Jeff Young
461def2719
Move automatic dimension processing inside PCB_DIMENSION_BASE.
...
Also move dimension precision to an enum so it can get a proper dropdown
in the properties inspector.
2023-03-05 15:19:06 +00:00
jean-pierre charras
a3d834bef1
Step exporter: optimization: export round pad/via shapes as cylinders.
2023-03-05 14:54:16 +01:00
jean-pierre charras
f569cffa8e
Step exporter fixes and enhancements:
...
- fix duplicate code and a few bugs (some are due to changes in code over the years)
- ADDED: option to export tracks and vias on external layers Exporting tracks is *very* time consuming,
and need a bit of optimization.
2023-03-05 12:55:15 +01:00
Jeff Young
23accffc6d
Add Property Inspector support for dimension objects.
...
Includes changing the class hierarchy so that dimension objects inherit
from PCB_TEXT rather than containing a PCB_TEXT member variable.
2023-03-04 23:16:46 +00:00
Jon Evans
610e787ada
Move to requiring explicit action to save project settings
2023-03-04 14:25:07 -05:00
Jon Evans
eba0783b38
Fix rotation/flipping properties for text boxes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14159
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14164
2023-03-04 13:11:15 -05:00
Wayne Stambaugh
4e99812145
Coverity fixes and code cleaning.
2023-03-04 13:02:05 -05:00
Seth Hillbrand
f24deac017
Consider oblong holes with x/y equal size as drills
...
An oblong hole with drillsizex = drillsizey is the same as a circular
drill hit and should be converted to such in outputs (both excellon and
DRC)
2023-03-03 00:42:44 +01:00
Seth Hillbrand
597ef81e53
Allow micro/buried via holes to be considered
...
hole_to_hole clearance should account for all holes in the board.
Previously, we had excluded non through holes from this test but that
omits via holes that can still foul a future drill hit.
Designers wanting the old behavior can explicitly set the hole_to_hole
clearance to 0mm for specific ViaType pairs
2023-03-03 00:42:44 +01:00
Jeff Young
7638e23ff1
Add support for non-cardianlly-rotated text boxes.
...
Also fixes a couple of bugs in text boxes in flipped footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/14112
2023-03-02 14:57:48 +00:00
Wayne Stambaugh
789bf6455a
Coverity fixes and code cleaning.
2023-03-02 09:04:47 -05:00
Seth Hillbrand
a0f99ea8ba
Allow for rounding error in connection width checker
...
We perform checks using squared distance but this loses the integer
rounding in the standard norm. To correct for this, we allow a single
IU in the restriction, allowing fractionally smaller connection widths
before calculating the squared limit
Fixes https://gitlab.com/kicad/code/kicad/issues/14130
Fixes https://gitlab.com/kicad/code/kicad/issues/14131
2023-02-28 15:26:16 -08:00
Seth Hillbrand
daf70f9b6a
Export footprint pad holes to STEP regardless
...
Footprint pad holes form a part of the board outline regardless of
whether the footprint is in the BOM or not
Fixes https://gitlab.com/kicad/code/kicad/issues/14013
2023-02-28 12:02:08 -08:00
Jeff Young
7bb2cdd658
Better error reporting for constraints (and a bug fix for no constraints).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14070
2023-02-28 18:07:29 +00:00
Jeff Young
0ff8ba1d8c
Stage group children when staging group.
...
Many operations such as move, rotate, etc. are applied directly to the
group's children, so it's the children that need staging.
Fixes https://gitlab.com/kicad/code/kicad/issues/13999
2023-02-28 16:51:23 +00:00
jean-pierre charras
7256a51e8e
Fixes in build board outlines as polygon and convert_shape_list_to_polygon:
...
- Ensure Bezier curves have their polygon build before use it.
- When building board outlines as polygon the same chaining epsilon value
for DRC, export step and 3D view (default 0.01mm).
Fixes #14115
https://gitlab.com/kicad/code/kicad/issues/14115
Fixes #14009
https://gitlab.com/kicad/code/kicad/issues/14009
2023-02-28 16:45:03 +01:00
Johannes Pfister
a87550a2c6
When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined
2023-02-28 11:59:47 +00:00
Roberto Fernandez Bautista
bb8a3a7fdc
Add missing line from commit b03366c9e8
2023-02-28 00:12:50 +01:00
Roberto Fernandez Bautista
b03366c9e8
Fix CADSTAR importer memory leaks
...
We were leaking the xml tree when throwing exceptions
2023-02-27 23:57:39 +01:00
jean-pierre charras
4766175d60
EXPORTER_STEP: handle sub-layers in dielectric layer.
...
A dielectric layer (between 2 copper layers) can be made by more than one
layer (composite dielectric). Not frequent, but possible.
sub-layers where previously ignored.
2023-02-27 16:11:58 +01:00
jean-pierre charras
51d46c0e73
plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings
...
Old PLOTTER::Text is not (yet) removed, but it use negative text size
to mirrored text, which is not really compatible with some plotters (especially PDF).
Using TEXT_ATTRIBUTES is much easy and much better,
so PLOTTER::PlotText() is added.
Note: "old" PLOTTER::Text() is not removed yet.
2023-02-26 14:44:53 +01:00
qu1ck
733978dfd0
Fix swig mappings for PCB_BITMAP
2023-02-26 09:24:06 +00:00
jean-pierre charras
ece34e1a0c
Plot Gerber format: ensure all attributes are added to polygon items.
...
Especially, TA.AperFunction,EtchedComponent for net tie footprints using polygons.
2023-02-25 19:06:46 +01:00
mitxela
734d3667a8
Helper function to allow net.GetNetClassName()
2023-02-25 13:14:55 +00:00
mitxela
182abd4652
Expose shared_ptr to swig
...
Possibly not the right way to go about it but technically works
2023-02-25 13:14:55 +00:00
mitxela
716328e511
Fix python GetAllNetClasses
2023-02-25 13:14:55 +00:00
jean-pierre charras
bb62c21abc
python wizard: fix compatibility with current code
2023-02-25 11:06:01 +01:00
jean-pierre charras
d3c5f25be6
Pcbnew: optimize netname and num text size and position display on pad.
...
Sizes where a bit too big. Fix also a difference between Cairo and OpenGL.
Fixes #13872
https://gitlab.com/kicad/code/kicad/issues/13872
2023-02-25 11:05:21 +01:00
Jon Evans
8440d7258b
Do not invalidate board caches during DRC
...
Footprints now modify their parent container when destroyed due to
26542796
, and a temporary footprint is created during DRC
in some situations. This can lead to board caches being messed
with during DRC which can cause unpredictable bad effects due to
multithreading.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13844
2023-02-24 22:55:32 -05:00
Jon Evans
b176881d49
Allow shorting copper zones through negative clearance
...
This brings the zone filler in line with other places where
we use negative clearance rules to disable constraints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14069
2023-02-24 20:36:39 -05:00
Jeff Young
d9a77e6a64
Add DRCEpsilon to net-tie-exclusion testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14008
2023-02-24 12:44:55 +00:00
jean-pierre charras
4fb104b238
Plot footprint texts: add code to plot Knockout texts.
...
Fixes #14068
https://gitlab.com/kicad/code/kicad/issues/14068
2023-02-24 08:45:47 +01:00
Jon Evans
1651b44ab1
Fix some PCB_SHAPE properties
...
Hide irrelevant position/start/end properties
for shape classes that don't use them.
2023-02-23 20:23:44 -05:00
Seth Hillbrand
ffcc0e50b7
Handle excessively large values when hatching
...
While unusual, ensure that hatched zones don't break KiCad if they are
close to the integer limit
Fixes https://gitlab.com/kicad/code/kicad/issues/14066
2023-02-23 14:40:57 -08:00
Seth Hillbrand
1b8b216ac8
Bitmaps are not actually copper
...
We report bitmaps as being 'on' a copper layer because they are
associated with it but they are not actually physical parts so should
not be included in the DRC checks
Additionally, Bitmaps effective shape starts are the top left corner
rather than the center (unclear why that was there in the first place)
Fixes https://gitlab.com/kicad/code/kicad/issues/14065
2023-02-23 14:16:28 -08:00
Alex
9d96edc44f
Print original netnames properly when reconnecting zones/vias.
...
Using GetNetname() after SetNet() isn't a good idea to get the original
name when updating PCB from Schematic.
2023-02-23 22:09:53 +03:00
Alex
f31e5ea783
pcbnew: Fix pads losing nets after Undo.
...
Wasn't fixed in all places after being broken in
13f5c78e89
2023-02-23 22:06:39 +03:00
qu1ck
f0dd32c3a7
Fix plugins in pcbnew breaking by opening fp editor
2023-02-23 14:20:03 +00:00
Marek Roszko
c2a4dd93e8
Fix typo in appearance_controls.cpp
2023-02-22 20:35:36 -05:00