Update zone manager to improve usability. Filter zones based on layers,
provide move to top/move to bottom actions, global arrow key navigation,
zoom preservation across zone switches, right-click zoom-to-fit on the
preview canvas, and pixel-aligned icons for top/bottom move buttons.
The matched length diff pair panel had skew data in the constraint class
but no UI field to display or edit it. Added a dedicated overlay panel
with min/opt/max length plus max skew fields, a new bitmap showing a
diff pair with length arrows and skew indicator.
Merge Minimum uVia Hole and Minimum uVia Diameter constraints
into the existing Via Style panel. Remove unused optimum/preferred
diameter and hole size fields.
Add a via type dropdown (Any/Through/Micro/Blind/Buried) used to
generate the appropriate A.Via_Type condition clause in the DRC.
Strip the via type condition on rule load to prevent duplication
on save cycles.
Update constraint SVG source files to use the standard KiCad color
palette, reposition textboxes, and add missing eda_text.h include
in toolbars_pcb_editor.cpp
Remove MINIMUM_TRACK_WIDTH, BASIC_CLEARANCE, BOARD_OUTLINE_CLEARANCE,
and MINIMUM_ITEM_CLEARANCE panels from the DRC rule editor. These were
redundant with ROUTING_WIDTH, MINIMUM_CLEARANCE, COPPER_TO_EDGE_CLEARANCE,
and SILK_TO_SILK_CLEARANCE respectively. Rename the minimum_item_clearance
bitmap to silk_to_silk_clearance and assign it to the silk clearance panel.
Revert matcher claim changes for HOLE_SIZE and MINIMUM_VIA_DIAMETER.
Remove 15 BITMAPS enum values that have no registered image data
in bitmap_info.cpp and no remaining code references. These were
placeholders for constraint types that either never got SVG artwork
or used different naming than the generated bitmaps.
Removed: constraint_net_antenna, constraint_short_circuit,
constraint_unrouted, constraint_allow_fillet_outside_zone_outline,
constraint_silk_to_silk_clearance, constraint_minimum_acute_angle,
constraint_matched_length_all_traces_in_group,
constraint_absolute_length, constraint_parallel_limit,
constraint_daisy_chain_stub, constraint_daisy_chain_stub_2,
constraint_corner_style, constraint_smd_corner,
constraint_smd_entry, constraint_smd_to_plane_plus
CSV files now display with a dedicated icon in the project tree
instead of the generic unknown file icon. The icon shows a file
shape with a grid pattern representing tabular data.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21250
This is a zero-dimensional object that can be used for snapping
and documentation of useful, but non-physical features on a
board or footprint. They do not correspond to any physical
output in exports or plots.
Points do have a "size", but this is a graphical property only
and determines how large they are drawn on the board.
They also have a layer, which allows them to be selected and
made visible according to layer filters.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4691
Layout is remembered for Schematic/Symbol Editors and Footprint Chooser frames until KiCad restarts
Also Added a new button toggle to show/hide the description panel with some new images too
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17610
the bitmap BITMAPS::calculator, although in bitmaps_list.h, does not exists.
A suitable bitmap can be BITMAPS::icon_pcbcalculator_24.
So it is now used in ACTIONS::showCalculatorTool()
wxBitmapBundle assumes the smallest bitmap added is the intended "original" size for a particular use case.
And generally that is probably true. However, we re-use icons in some places where we intend for them to start at 16
or start at 24. This is problematic when GetPreferredBitmapSizeFor is called for calculations because it'll return the
16*scale number instead of 24*scale number. So let's just allow passing in a min height restriction to KiBitmapBundle
for when we reuse bitmaps.
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
ADDED: Add support in Pcbnew for exporting ODB++ files under Fabrication
Outputs, base on ODB++Design Format Specification (Release v8.1
Update 3 February 2021).
Note: There is still a lot of work to do if we will make the feature as
complete as the ODB++ spec. However, the current functionality's
completeness is already sufficient to cover general production
scenarios. I have compared the output results with Gerber files by
DFM tool and the accuracy at the graphic level should be able to
cover most usage scenarios. Additionally, I am very grateful to
the great open-source project Horizon EDA for giving me a lot of
inspiration in terms of ideas.
The feature can be enabled by adding "EnableODB=1" to the kicad_advanced
configuration file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2019
This splits the tool into two separate tools: by center and
by even gaps. Previously, this was automatically decided, based on
if the items could have any gaps between them. This was unintuitive
as it would appear to arrange by centre point sometimes but not others.
When items aren't all the same width, the results can then be very
different, based only on the starting positions.
The new behaviour is to have a dedicated tool for each, which echos
how graphical programs like Inkscape manage this.
The by-gaps method is then extended to work for overlapping items
(when items overlap, the overlaps are made equal). The logic is
centralised in kimath/geometry, and some QA is added. This should
make it easier to extend to eeschema, for example.
This also (attempts to) address some rounding issues which could
cause minor, but compounding, errors to build up along the list
of items.
Also, fix bugs in the collection filtering - previously items
like markers were filtered out only after the selection size
was used to compute the gaps between items.
ADDED: Horizontal/vertical zoom for simulator plots, via mouse wheel,
toolbar buttons, menu commands, and hotkeys.
ADDED: Simulator preferences panel, populated with mouse wheel
and trackpad settings that control pan and zoom of simulator plots.
ADDED: Zoom In/Out Horizontally/Vertically commands that can be bound
to hotkeys.
CHANGED: Simulator plot scroll wheel gestures are no longer hard-coded
and can now be configured via the new Simulator preferences panel.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16597
Other unreported bugs that were fixed:
- Fixed wierd, jumpy simulator plot view limiting behavior.
- Fixed Zoom In Center and Zoom Out Center commands not preserving
the simulator plot center point.
- Fixed simulator plot nudging when exported as PNGs.
- Fixed rectangular selection zoom being able to exceed simulator plot
view limits.
Notes:
- Provided new SIM_PREFERENCES struct to be used for future
simulator preferences set via the simulator preferences dialog.
- Bundled pre-existing EESCHEMA_SETTINGS::SIMULATOR settings into
EESCHEMA_SETTINGS::SIMULATOR::VIEW.
- Replaced mpWindow::EnableMouseWheelPan with more general
SetMouseWheelActions.
- Refactored and tidied up wxMathPlot's mpWindow code involved with
fitting, zooming, and panning.
- Consolidated long lists of duplicated member variable initializers to
a new mpWindow private delegated constructor.
- Provided provisional Zoom In/Out Horizontally/Vertically toolbar
icons that need improvement by a graphics designer.
- Provided gitignore entries for the Qt Creator IDE
IPC2581 is a modern production file exchange system. It provides
single-file data output for an entire board including BOM and netlist
information.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
This allows common operations like merging a pin courtyard
into the body courtyard in the fooprint editor, taking a
"bite" out of a polygon and so on,
For now, this only supports polygons made of straight lines.
There are some wierd cases when the operations result in nothing
(e.g. wen a big polygon is substracted from a smaller one that
it contains entirely). I have tried to do something senisble in
these cases, but there may be more optimal ways to handle it.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13025