Mirroring footprints

I have a fair few components that can be mounted either way up. For example think of a radial polarised capacitor mounted on its side.

In the schematic editor the mirror function achieves this for symbols.

However in the board editor the flip function flips the whole component onto the other side of the board. There is no mirror function in the board editor.

BTW it is VERY confusing that these totally separate functions use the same toolbar icon.

So my question is: Is there any way to mirror a footprint on the pcb?

Or do i have to create a footprint variant that is mirorred for every component where this is an issue?

I don’t understand why you want to mirror the footprint, can you maybe show a screenshot of such a footprint or explain it in detail?

In my opinion it does not make sense to provide a mirror function because you cannot mirror a real device as well. It would even be dangerous to provide a mirror feature. For example if you mirror a SOIC-8 footprint, the layout would still look valid but when assembling the device onto the board, the pinout would be totally wrong - so the schematic does not represent the real (assembled) PCB anymore.

I agree, and I already found different icons to fix this soon :slight_smile:

Some components you can mirror, many you can not. Certainly it creates an opportunity for user error, so it would be a valid design choice to not allow it.

However if I can’t mirror footprints then I have to make 2 variants for each component that can be mounted either way up.

For an example, imagine an polarised electrolytic capacitor, through hole, mounted on its side with the leads bent to the side.

Now imagine it mounted on its other side, with the leads bent the other way.

In this picture, see how it would be preferable to mount C4 with the positive side on the other side, next to R4
.

OK, so I’ll take it that currently footprints can’t be mirrored.

So I can see 2 ways to go on this. Either:

  1. have a flag in the package that sets whether a given component is mirrorable or not.

Or

  1. don’t change the behavior, but fix the icon , and make sure that more footprint variants can be used in a package. As I have also posted there seems to be a limit of three footprint variants accessible from the board editor menus, even if more are present when viewing the package in the library editor.

Ah now I understand, thanks for the screenshot. So basically you do “mirror” the real device by bending its legs the other way around :see_no_evil:

IMHO this is a very special use-case which works only for very few packages - and the footprint variants are intended anyway to support different mounting variants of the same package (e.g. for THT resistors, it’s used for different pitches since the pitch is defined by how you bend the legs). Therefore I’d recommend to use different footprint variants as well for this use-case.

It works for a surprising number of thru hole packages with wires/legs not pins.

But It is working fine for me now with footprint variants. Just the updating issue I am having is making many library changes cumbersome.