tripocli v2.0.0:Tripo AI 3D 生成与加工 CLI(面向 Agent 与开发者,纯 Python 标准库、零第三方依赖)

覆盖文生 3D、图生 3D、多视图、批量生成,以及重拓扑、绑定、动画、智能分割、
纹理、PBR、智能 UV、部件补全、格式导出与下载。

代码组织:一个功能一个模块(tripo/features/),入口薄壳 tripocli.py。
This commit is contained in:
Mrpzx committed 2026-10-13 19:22:54 +08:00
commit 977f97995a
60 files changed
+5622

No files matched your search

+36
View File
@@ -0,0 +1,36 @@
"""重拓扑 — remesh an existing project into clean quad/tri topology.
tripocli remesh -p <project_id> --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_<operator_id>``.
"""
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="重拓扑")