The gencad export is lightly used so your input here is valuable. Does the gencad export provide a bom? If so, maybe hashing value is useful. But clearly hashing refdes is not.
For the graphical items, I'd use a set to order them before hashing Seth On Fri, Mar 14, 2025, 7:33 AM '[email protected]' via KiCad Developers < [email protected]> wrote: > > Problem: > The gencad export duplicates every footprint regardless of the setting of > the "Generate a new shape" option. > > Cause: > In export_gencad_writer.cpp (hashFootprint around line 615), footprints > are hashed to determine duplicates. The hashing has some limitations > though. First off, it hashes the fields. Those will always be different, > since it includes the reference. Even excluding the reference, they're > usually different. Example: 0402 Capacitors. Many different capacitors, > same footprint, but the export generates a footprint for each. > > Next up, the GraphicalItems hashing. This can also be problematic because > the lines around a footprint can end up saved in a different order, even if > they came from the same library footprint. I'm not sure of the underlying > cause here, but it breaks the hashing. > > Solutions: > > Easiest: > 1. I think we should eliminate hashing of the fields (remove lines > 617,618). I can't think of why this is useful. > 2. For my use, I could also safely eliminate the hashing of graphical > items (silk screen), since the differences aren't visible anyway. Others > might disagree on this. > > Thoughts: > > Field hashing should probably always be removed. It essentially forces on > the "UsePinNamesUnique" option. > > 1. The UsePinNamesUnique option provides a means to get individual > footprints generated for everything. So, I don't see a big need for the > hashing function to be super conservative. There's an easy way for a user > to get a conservative output if they want it. Thus, I'd suggest removing > both the field hash and the graphical hash. > > 2. The next possibility is to remove the field hash and to sort the lines > of the graphical elements in such a way that they will always output in the > same order and the hashes will be compatible. I've tried to come up with a > sort method for this and haven't come up with one. > > 3. Add another option to the export called "Precise footprint comparison" > or similar that enables the graphical hash. Turn it off by default. > > I'm happy to produce patches for any of these options, just wanted to > query the maintainers about what they think is the best approach before I > built and submitted the patch. > > > > Thanks, > > Sean > > -- > You received this message because you are subscribed to the Google Groups > "KiCad Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/a/kicad.org/d/msgid/devlist/e5d16250-a31d-4487-b3c5-2097347cae20n%40kicad.org > <https://groups.google.com/a/kicad.org/d/msgid/devlist/e5d16250-a31d-4487-b3c5-2097347cae20n%40kicad.org?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "KiCad Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/kicad.org/d/msgid/devlist/CAFdeG-ozEv2f-GevF5sWP-gR8trbNLrODkbkysZ0rAY5MapJYQ%40mail.gmail.com.
