添加cadfs_to_cdsl代码,优化cad生成

This commit is contained in:
2026-09-03 10:40:51 +08:00
parent f3eb5dff54
commit c25b73c71e
34 changed files with 3586 additions and 147 deletions
+6 -1
View File
@@ -3,7 +3,7 @@ from __future__ import annotations
import argparse, json
from pathlib import Path
from .pipeline import load_samples, run_stage, scan, select_samples
from .reports import generate_reports, read_json
from .reports import generate_markdown_report, generate_reports, read_json
DEFAULT_INPUT = Path("data/cadfs-sample/CADFS_test")
DEFAULT_OUTPUT = Path("cadfs_to_cdsl/output")
@@ -25,6 +25,8 @@ def _parser() -> argparse.ArgumentParser:
command.add_argument("--compare-mode", choices=("rp", "strict"), default="rp")
command.add_argument("--force", action="store_true")
command.add_argument("--timeout-seconds", type=float, default=30.0, help="per-model OCC timeout (default: 30)")
if name == "report":
command.add_argument("--markdown", action="store_true", help="also write full_run_report.md")
return parser
@@ -35,6 +37,9 @@ def main(argv: list[str] | None = None) -> int:
elif args.command == "report":
manifest = args.output / "manifest.jsonl"; records = [json.loads(line) for line in manifest.read_text().splitlines() if line.strip()]
result = generate_reports(args.output, records)
if args.markdown:
command_text = "python -m cadfs_to_cdsl report --markdown"
result = {**result, "markdown_report": str(generate_markdown_report(args.output, records, input_root=args.input, command=command_text))}
else:
if not 1 <= args.workers <= 8: raise ValueError("--workers must be between 1 and 8")
samples = select_samples(load_samples(args.input, args.output), sample_ids=args.sample_id, offset=args.offset, limit=args.limit, seed=args.seed)