diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a498d8f..10900bf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -120,7 +120,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - When *check_zone_fills* is enabled now we do a refill for the boards ### Fixed -- Schematics: problems with deep nested and recycled sheets (#520) +- Schematics: + - Problems with deep nested and recycled sheets (#520) + - Problems saving deep nested sheets - Rotated polygons and text used in the worksheet (#466) - The --log/-L didn't enabled full debug for all messages - BoM: diff --git a/kibot/kicad/v6_sch.py b/kibot/kicad/v6_sch.py index bcc15008..16b4c002 100644 --- a/kibot/kicad/v6_sch.py +++ b/kibot/kicad/v6_sch.py @@ -2031,7 +2031,7 @@ class SchematicV6(Schematic): saved.add(fname) for sch in self.sheets: if sch.sch: - sch.sch.save(sch.flat_file if exp_hierarchy else sch.file, dest_dir, base_sheet, saved, cross=cross, + sch.sch.save(sch.flat_file if exp_hierarchy else sch.sch.fname_rel, dest_dir, base_sheet, saved, cross=cross, exp_hierarchy=exp_hierarchy) def save_variant(self, dest_dir): @@ -2156,6 +2156,7 @@ class SchematicV6(Schematic): self.all_sheets = [] self.root_sheet = self UUID_Validator.reset() + self.root_file_path = os.path.dirname(os.path.abspath(fname)) else: self.fields = parent.fields self.fields_lc = parent.fields_lc @@ -2165,9 +2166,11 @@ class SchematicV6(Schematic): self.sheet_names = parent.sheet_names self.all_sheets = parent.all_sheets self.root_sheet = parent.root_sheet + self.root_file_path = parent.root_file_path self.symbol_instances = [] self.parent = parent self.fname = fname + self.fname_rel = os.path.relpath(fname, self.root_file_path) self.project = project self.lib_symbols = [] self.symbols = [] diff --git a/kibot/out_kicanvas.py b/kibot/out_kicanvas.py index df737008..f5fe62a2 100644 --- a/kibot/out_kicanvas.py +++ b/kibot/out_kicanvas.py @@ -94,6 +94,8 @@ class KiCanvasOptions(VariantOptions): self.restore_title(sch=True) def run(self, out_dir): + for f in self._get_targets(out_dir): + logger.error(f) # Download KiCanvas if self.local_script: logger.debug(f'Downloading the script from `{self.url_script}`')