Skip to content

Add Multiselect Functions : [Rotate/Mirror/Flip]-In-Place

Description

When multiselecting items, functions such as rotate and mirror affect the multiselect as a group.

I would additionally like to add the following:

• Ability to rotate/mirror each item in place in a selection:

  • With respect to its present orientation/mirroring
  • Absolutely (same orientation/mirroring for all in selection).
    • Note: This already exists in Property Manager for orientation.

Details

• Scope of this functionality applies to all objects. This already exists for text and graphical objects due to the text/graphics edit wizard. Let's increase the scope to the meat of KiCad:

  • Text / Graphical
  • Symbol / Sheet / (Hierarchal) Label / Pin
  • Footprint / Pad (if footprint not already selected)
  • Zone / Rule area / Dimension
  • etcetera.

• Ability to set the intended behavior in wizard option boxes:

  • Scope: Perform [ Grouped | Individually ]
  • Reference: [ Absolute | Relative (to present orientation) ]

• Addition of functions for these variants:

  • Already existing:

    • Rotate clockwise
    • Rotate counter-clockwise
    • Mirror horizontally
    • Mirror vertically
    • Change side/flip
  • Add:

    • (group) to hotkey labels existing function
    • Duplicate hotkeys of these functions, but change (group) to (individual)
    • Right-click menu mouse-over options > [Group | Individual].
      • Left-clicking the parent function should still perform the default (group).

Example

When I have this (but with 20+ items):

image

I can only get this:

image

But sometimes I would like this instead:

image

Note : This example is limited in that all objects are already oriented the same way.

Steps to reproduce

KiCad Version

Application: KiCad Schematic Editor arm64 on arm64

Version: 7.0.9, release build

Libraries:
	wxWidgets 3.2.3
	FreeType 2.13.0
	HarfBuzz 7.3.0
	FontConfig 2.14.2

Platform: macOS Ventura Version 13.4.1 (Build 22F82), 64 bit, Little endian, wxMac

	wxWidgets: 3.2.3 (wchar_t,wx containers)
	Boost: 1.82.0
	OCC: 7.7.0
	Curl: 7.77.0
	ngspice: 41
	Compiler: Clang 13.0.0 with C++ ABI 1002

Build settings:
	KICAD_SPICE=ON
Edited by N Kando