From 002b8117d877a35e204eb72c5179a7a55dade683 Mon Sep 17 00:00:00 2001 From: yw1573 Date: Tue, 28 Jul 2026 10:12:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(gui,cli,gcode):=20=E5=85=83=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=BB=98=E8=AE=A4=E7=B4=AF=E5=8A=A0=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=EF=BC=8C=E6=A0=BC=E5=BC=8F=E5=8C=96Unknown=E2=86=92=E6=9C=AA?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BuildOptions.metadata_mode 默认 sum(累加预测和耗材用量) - CLI --metadata-mode 默认 sum - GUI 设置回退值默认 sum - format_duration/format_filament 空值返回 未知 而非 Unknown --- a1_swap_mod_packer/cli.py | 2 +- a1_swap_mod_packer/gcode.py | 8 ++++---- a1_swap_mod_packer/gui.py | 2 +- a1_swap_mod_packer/models.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/a1_swap_mod_packer/cli.py b/a1_swap_mod_packer/cli.py index 47ac91f..c11a3d3 100644 --- a/a1_swap_mod_packer/cli.py +++ b/a1_swap_mod_packer/cli.py @@ -151,7 +151,7 @@ def create_parser() -> argparse.ArgumentParser: build.add_argument("--show-plate-number", action="store_true", help="每板号向 M73 R 值增加 100 小时。") # 行为开关 build.add_argument("--no-swap-after-final", action="store_true", help="最后一块板后不执行换料 G-code。") - build.add_argument("--metadata-mode", choices=("source", "sum"), default="source", help="如何写入 slice_info 的 prediction 和 weight。") + build.add_argument("--metadata-mode", choices=("source", "sum"), default="sum", help="如何写入 slice_info 的 prediction 和 weight。") build.add_argument("--line-ending", choices=("lf", "crlf"), default="crlf", help="生成 G-code 的换行符。") build.add_argument("--zip-level", type=int, choices=range(1, 10), default=DEFAULT_ZIP_COMPRESS_LEVEL, metavar="1-9", help="输出 3MF 的 zlib-ng Deflate 压缩级别。默认值:7。") build.add_argument("--no-preview-label", action="store_true", help="不重写预览图标签/合成图。") diff --git a/a1_swap_mod_packer/gcode.py b/a1_swap_mod_packer/gcode.py index 16b84ef..bd13c23 100644 --- a/a1_swap_mod_packer/gcode.py +++ b/a1_swap_mod_packer/gcode.py @@ -117,10 +117,10 @@ def format_duration(seconds: float | None) -> str: seconds: 秒数,可为 None。 返回: - 格式化后的时间字符串,如 "2h 30m"、"5m 20s"、"45s",未知则返回 "Unknown"。 + 格式化后的时间字符串,如 "2h 30m"、"5m 20s"、"45s",未知则返回 "未知"。 """ if seconds is None: - return "Unknown" + return "未知" total = max(0, int(round(seconds))) hours, rem = divmod(total, 3600) minutes, secs = divmod(rem, 60) @@ -139,10 +139,10 @@ def format_filament(weight_grams: float | None, used_m: float | None = None) -> used_m: 耗材使用长度(米),可为 None。 返回: - 格式化后的耗材信息字符串,未知则返回 "Unknown"。 + 格式化后的耗材信息字符串,未知则返回 "未知"。 """ if weight_grams is None and used_m is None: - return "Unknown" + return "未知" parts: list[str] = [] if weight_grams is not None: parts.append(f"{weight_grams:.2f} g") diff --git a/a1_swap_mod_packer/gui.py b/a1_swap_mod_packer/gui.py index 442c629..071a313 100644 --- a/a1_swap_mod_packer/gui.py +++ b/a1_swap_mod_packer/gui.py @@ -738,7 +738,7 @@ class MainWindow(QMainWindow): self.skip_duplicates_check.setChecked(bool(options.get("skip_duplicates", True))) self.output_dir_edit.setText(str(options.get("output_directory", ""))) self.output_name_edit.setText(str(options.get("output_filename_rule", DEFAULT_OUTPUT_PATTERN))) - metadata_mode = options.get("metadata_mode", "source") + metadata_mode = options.get("metadata_mode", "sum") metadata_index = self.metadata_combo.findData(metadata_mode) if metadata_index >= 0: self.metadata_combo.setCurrentIndex(metadata_index) diff --git a/a1_swap_mod_packer/models.py b/a1_swap_mod_packer/models.py index 58b7f45..44993d3 100644 --- a/a1_swap_mod_packer/models.py +++ b/a1_swap_mod_packer/models.py @@ -93,7 +93,7 @@ class BuildOptions: wait_after_eject_seconds: int = 45 # 推板完成后等待时间 show_plate_number: bool = True # 是否显示板件编号到屏幕 swap_after_final: bool = True # 最后一块是否也换板 - metadata_mode: MetadataMode = "source" # 元数据计算模式 + metadata_mode: MetadataMode = "sum" # 元数据计算模式 line_ending: LineEnding = "crlf" # 输出换行符 add_preview_label: bool = True # 是否添加预览注释 apply_gcode_patches: bool = True # 是否启用 G-code 补丁