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
3 years ago
Jeff Young
25623552f6
ADDED: board/library inspection for footprint differences.
Fixes https://gitlab.com/kicad/code/kicad/issues/13736
3 years ago
jean-pierre charras
636e63f0c5
more about step exporter (export more copper graphic objects).
3 years ago
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
3 years ago
Jeff Young
9b9efb9002
Cache for netclass pattern assignments.
3 years ago
Wayne Stambaugh
a1fb8e1b1d
Coverity fixes and code cleaning.
3 years ago
jean-pierre charras
eeee3adb94
Step exporter: code cleaning and merge connected tracks in polygons
3 years ago
Jon Evans
61d30ee5bc
Use constraints to determine netclas width
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14190
3 years ago
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
3 years ago
Jon Evans
10d1ba59d8
Fix compile warning
3 years ago
Jeff Young
2994fa26cd
Allow separate processing of dimensions in Edit Text & Graphics Properties.
3 years ago
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.
3 years ago
jean-pierre charras
a3d834bef1
Step exporter: optimization: export round pad/via shapes as cylinders.
3 years ago
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.
3 years ago
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.
3 years ago
Jon Evans
610e787ada
Move to requiring explicit action to save project settings
3 years ago
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
3 years ago
Wayne Stambaugh
4e99812145
Coverity fixes and code cleaning.
3 years ago
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)
3 years ago
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
3 years ago
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
3 years ago
Wayne Stambaugh
789bf6455a
Coverity fixes and code cleaning.
3 years ago
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
3 years ago
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
3 years ago
Jeff Young
7bb2cdd658
Better error reporting for constraints (and a bug fix for no constraints).
Fixes https://gitlab.com/kicad/code/kicad/issues/14070
3 years ago
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
3 years ago
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
3 years ago
Johannes Pfister
a87550a2c6
When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined
3 years ago
Roberto Fernandez Bautista
bb8a3a7fdc
Add missing line from commit b03366c9e8
3 years ago
Roberto Fernandez Bautista
b03366c9e8
Fix CADSTAR importer memory leaks
We were leaking the xml tree when throwing exceptions
3 years ago
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.
3 years ago
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.
3 years ago
qu1ck
733978dfd0
Fix swig mappings for PCB_BITMAP
3 years ago
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.
3 years ago
mitxela
734d3667a8
Helper function to allow net.GetNetClassName()
3 years ago
mitxela
182abd4652
Expose shared_ptr to swig
Possibly not the right way to go about it but technically works
3 years ago
mitxela
716328e511
Fix python GetAllNetClasses
3 years ago
jean-pierre charras
bb62c21abc
python wizard: fix compatibility with current code
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
Jeff Young
d9a77e6a64
Add DRCEpsilon to net-tie-exclusion testing.
Fixes https://gitlab.com/kicad/code/kicad/issues/14008
3 years ago
jean-pierre charras
4fb104b238
Plot footprint texts: add code to plot Knockout texts.
Fixes #14068
https://gitlab.com/kicad/code/kicad/issues/14068
3 years ago
Jon Evans
1651b44ab1
Fix some PCB_SHAPE properties
Hide irrelevant position/start/end properties
for shape classes that don't use them.
3 years ago
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
3 years ago
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
3 years ago
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.
3 years ago
Alex
f31e5ea783
pcbnew: Fix pads losing nets after Undo.
Wasn't fixed in all places after being broken in
13f5c78e89
3 years ago
qu1ck
f0dd32c3a7
Fix plugins in pcbnew breaking by opening fp editor
3 years ago
Marek Roszko
c2a4dd93e8
Fix typo in appearance_controls.cpp
3 years ago