diff --git a/CHANGELOG.md b/CHANGELOG.md index f64ce419..66454878 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Problems when using an output and no variant specified. - PCB/SCH parity test: - Workaround for bogus net codes generated by KiCad (#410) +- 3D Models: + - Problems to download KiCad 7 models (#417) + - Added workaround for KiCad 7 failing to export VRMLs for PCBs using paths + relative to the footprint. (See #417) ### Changed: - Some R, L and C values that were rejected are accepted now. You just get a diff --git a/kibot/out_base_3d.py b/kibot/out_base_3d.py index 7f7f8bf4..48534da2 100644 --- a/kibot/out_base_3d.py +++ b/kibot/out_base_3d.py @@ -88,6 +88,8 @@ def do_expand_env(fname, used_extra, extra_debug, lib_nickname): else: # We still missing the 3D model # Try relative to the footprint lib + # This was introduced in 7.0.0, but it doesn't work for all things in 7.0.1. + # I.e. You can't export a VRML when using this feature aliases = KiConf.get_fp_lib_aliases() lib_alias = aliases.get(lib_nickname) if lib_alias is not None: @@ -96,7 +98,9 @@ def do_expand_env(fname, used_extra, extra_debug, lib_nickname): logger.debug("- Using path relative to `{}` for `{}` ({})".format(lib_nickname, fname, full_name_lib)) full_name = full_name_lib # KiCad 5 and 6 will need help - force_used_extra = not GS.ki7 + # force_used_extra = not GS.ki7 + # Even KICad 7.0.1 needs help + force_used_extra = True if force_used_extra: used_extra[0] = True return full_name