"""重拓扑 — remesh an existing project into clean quad/tri topology. tripocli remesh -p --face-limit 10000 --wait -o lowpoly.glb Verified body: ``bake``, ``face_limit``, ``model_version`` ("default"), ``quad``, ``smart_poly`` and ``part_name_list`` holding ``tripo_node_``. """ from . import _common NAME = "remesh" HELP = "重拓扑:将模型重制为干净的四边形/三角面网格" def add_arguments(parser): _common.add_op_options(parser) parser.add_argument("--face-limit", type=int, default=10000, help="目标面数(默认 10000)") parser.add_argument("--tri", action="store_true", help="输出三角面(默认四边面)") parser.add_argument("--no-bake", action="store_true", help="不烘焙原贴图") parser.add_argument("--part", action="append", help="只处理指定部件节点名,可重复;默认整个模型") def run(ctx): args = ctx.args parts = args.part or _common.node_part_name(ctx.client, args.project) body = { "project_id": args.project, "face_limit": args.face_limit, "quad": not args.tri, "smart_poly": False, "bake": not args.no_bake, "model_version": _common.project_version(ctx.client, args.project, args.model) or "default", "part_name_list": parts, } data = ctx.client.get_data("POST", "/v2/studio/operation/remesh", body=body) return _common.run_operator(ctx, data, output=args.output, wait=args.wait, label="重拓扑")