Labels are the true structure. Extracting purely just shapes won't get you instances of shapes that are virtually placed by reference labels.
Note, this may break the 3d placement of existing user models but they were most likely wrong loaded in the first place and losing any location data as simple as a boring offset from 0. There's no way to preserve the broken behavior and still allow complex step assemblies to locate correctly.
Fixes https://gitlab.com/kicad/code/kicad/issues/4181
FreeCAD uses gzip-based stpZ files but many programs will compress using
the archive format of PKZIP (e.g. WinZIP). This handles the archive
format, taking the first file from the archive, which by the standard
should be the STEP file
Fixes https://gitlab.com/kicad/code/kicad/issues/5376
Just because we find a label reference does not mean that is where the
color is stored. We do an exhaustive search through the hierarchy for
the correct color data
Fixes https://gitlab.com/kicad/code/kicad/issues/6107
Assemblies may not have their face information in the top level of the
file. Search recurses to get the explicit shape in sub assemblies as
well.
Fixes https://gitlab.com/kicad/code/kicad/issues/5163
This changes the IGES import parameter precision to be file-defined
instead of hard-coded in KiCad. OCE-0.18 does not handle faces with
a set of points whose approximation creates a single point.
By allowing the file to set the precision level, we leave it to the
generating program to create a file with non-degenerate faces.
Fixes: lp:1738872
* https://bugs.launchpad.net/kicad/+bug/1738872