TellmeStpToGlb/core/models.py
root 7bd0624829 fix: 修复层级保留功能的导入错误并重新实现
- 移除有问题的OCC.Core导入,避免模块依赖问题
- 重新实现基于trimesh的层级保留功能,使用连通组件分离
- 添加智能回退机制,如果分离失败自动使用标准转换
- 扩展CLI和API接口支持层级保留参数
- 更新文档说明新的实现方式

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 16:55:22 +08:00

45 lines
1.0 KiB
Python

#!/usr/bin/env python3
"""
核心数据模型定义
"""
from enum import Enum
from dataclasses import dataclass
from typing import Optional
from datetime import datetime
class TaskStatus(Enum):
"""任务状态枚举"""
PENDING = "pending"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
@dataclass
class ConvertOptions:
"""转换选项"""
auto_scale: bool = True
auto_center: bool = True
preserve_hierarchy: bool = False
@dataclass
class ConvertTask:
"""转换任务"""
task_id: str
input_path: str
output_path: str
options: ConvertOptions
status: TaskStatus = TaskStatus.PENDING
progress: int = 0
message: str = ""
created_at: datetime = None
started_at: Optional[datetime] = None
completed_at: Optional[datetime] = None
error_message: Optional[str] = None
def __post_init__(self):
if self.created_at is None:
self.created_at = datetime.now()