Makes model substitution (VRML->STEP in STEP Export) optional. This can
prevent nasty surprises where the user doesn't see/can't affect the
outcome
Also, when substituting models, do not maintain scale factor. So a VRML
model with non-unity scaling will not be export as a STEP file (of the
same name) with non-unity scaling. This is the first step to address
https://gitlab.com/kicad/code/kicad/-/issues/1781
It would be ideal if it would use the s-expr
kicad_pcb.general.title_block.title by default, and then fall back to
something based on the output step file, but even just the output step
file is a far better default than the "open cascade step translator
version..." text it uses at the moment.
Similar improvements using the title_block would be future work.
Signed-off-by: Karl Palsson <karlp@etactica.com>
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
- The default value is 0.01 mm (according to comments and similar to the 3D viewer
settings that uses 0.02 mm)
- The export dialog has now 3 values 1 micron, 0.01mm (default) and 0.1 mm
The 0.1 micron option is removed: it makes no sense for a mechanical tolerance.
Versions specific variables that may point to objects that change
through versions, allowing multiple KiCad versions to operate correctly
(even on MSW) on the same machine.
- Better code and messages.
- Speedup calculations when removing cutouts and holes from main board.
- Do not stop step generation when trying to load a 3D modele having issues.
This adds a test to the recent GetLayerName function, and moves
it to the base.h file for re-use for any code that needs a
layer name.
This test covers the case that caused lp:1824750 [1].
[1]: https://bugs.launchpad.net/kicad/+bug/1824750
The SEXPR class is a useful general-purpose S-Expression library
class and can (maybe) be used else where. It also should get
test coverage, as even if noone else uses it, it's critical for the
kicad2step exporter.
Also add some test coverage for some kicad2step routines. For now,
they're not useful outside kicad2step, but they are at least a useful
reference for S-Expression parsing.