# Gemold - 模具制造管理系统
![Version](https://img.shields.io/badge/version-v4.0.0-blue) ![Python](https://img.shields.io/badge/python-3.12-blue) ![FastAPI](https://img.shields.io/badge/fastapi-0.100.0-green) ![Vue.js](https://img.shields.io/badge/vue.js-3-green) ![PostgreSQL](https://img.shields.io/badge/postgresql-15-blue) ![License](https://img.shields.io/badge/license-Mit-green)
## 项目简介 **Gemold** 是一个面向模具制造行业的综合性管理系统,集成了STP文件分析、模具设计建议、用户权限管理和进销存功能。 系统采用现代化的技术栈,提供高效、稳定、易扩展的解决方案。 ### 核心功能 | 功能模块 | 描述 | |---------|------| | 🔷 STP文件分析 | 使用PythonOCC解析STP文件,提取几何特征 | | 📊 模具设计建议 | 自动生成型腔、型芯、工艺参数等设计方案 | | 🎨 3D可视化 | 实时预览产品模型和模具结构 | | 👥 用户权限管理 | 完整的角色权限控制系统 | | 📦 进销存管理 | 库存、供应商、客户管理 | | 💾 数据持久化 | PostgreSQL + RustFS存储 | --- ## 技术栈 ### 后端 - **FastAPI** - 笷性能异步Web框架 - **PythonOCC** - 专业CAD几何处理 - **SQLAlchemy** - ORM框架 - **PostgreSQL** - 关系型数据库 - **RustFS** - 高性能文件存储 ### 前端 - **Vue.js 3** - 渐进式JavaScript框架 - **Three.js** - 3D可视化库 - **原生CSS** - 白色简约现代风格 ### 基础设施 - **Docker** - 容器化部署 - **Systemd** - 服务管理 - **Conda** - 环境管理 --- ## 项目结构 ``` geMoldInsight/ ├── src/ # 源代码目录 │ ├── main.py # 主程序入口 │ ├── api/ # API路由层 │ │ ├── routes.py # 模具分析API路由聚合 │ │ ├── auth_routes.py # 认证API │ │ ├── v1/ # MoldInsight API (v1) │ │ │ ├── upload_router.py # 文件上传 │ │ │ ├── task_router.py # 任务状态查询 │ │ │ └── history_router.py # 分析历史 │ │ └── inventory/ # 进销存API │ │ ├── product_routes.py # 产品管理 │ │ ├── sales_order_routes.py # 销售订单 │ │ ├── purchase_order_routes.py # 采购订单 │ │ ├── finance_routes.py # 财务管理 │ │ ├── material_routes.py # 物料管理 │ │ └── schemas/ # 请求/响应模型 │ ├── core/ # 核心业务逻辑 │ │ ├── stp_parser.py # STP文件解析 │ │ ├── geometry_analyzer.py # 几何分析 │ │ ├── mesh_generator.py # 网格生成 │ │ ├── mold_generator.py # 普通塑料模具生成 │ │ ├── aluminum_foam_mold.py # 铝泡沫模具生成 │ │ ├── mold_quality_inspector.py # 模具质量检测 │ │ └── ai_mold_assistant.py # AI模具助手 │ ├── models/ # 数据模型 │ │ ├── database.py # SQLAlchemy ORM模型 │ │ └── schemas.py # Pydantic模式 │ ├── services/ # 服务层 │ │ ├── auth_service.py # 认证服务 │ │ ├── processing_service.py # STP处理流程编排 │ │ ├── calculation_service.py # 工程参数计算 │ │ ├── material_service.py # 材料属性管理 │ │ ├── task_query_service.py # 任务状态查询 │ │ ├── storage_integration_rustfs.py # RustFS存储集成 │ │ ├── redis_task_manager.py # Redis任务管理 │ │ └── verification_service.py # FreeCAD几何验证 │ ├── database/ # 数据库管理 │ │ ├── database.py # 数据库连接池 │ │ ├── init_db.py # 数据库初始化 │ │ └── migrate_db.py # 数据库迁移 │ ├── storage/ # 对象存储 │ │ ├── rustfs_storage.py # RustFS S3客户端 │ │ └── object_storage.py # 通用对象存储 │ └── utils/ # 工具类 │ ├── logger.py # 日志工具 │ ├── file_handler.py # 文件处理 │ └── html_generator.py # 3D可视化HTML生成 ├── static/ # 前端静态资源 │ ├── vue-app.js # Vue3 SPA应用 │ ├── style.css # 全局样式 │ └── index.html # 入口页面 ├── templates/ # Jinja2模板 ├── config/ # 配置模块 │ └── settings.py # 环境变量配置 ├── scripts/ # 脚本工具 │ ├── db/ # SQL脚本 │ ├── migrations/ # 数据迁移脚本 │ ├── tools/ # 临时检查/清理工具 │ └── verify_stp.py # STP验证脚本 ├── docs/ # 项目文档 │ └── deployment/ # 部署相关文档 ├── tests/ # 测试用例 ├── uploads/ # 上传文件目录 (gitignore) ├── html_output/ # 3D可视化输出 (gitignore) ├── requirements.txt # Python依赖 ├── docker-compose.yml # Docker编排配置 ├── Dockerfile # Docker构建文件 ├── start.sh # Linux启动脚本 ├── .env.example # 环境变量模板 └── .env # 环境变量 (gitignore) ``` --- ## 快速开始 ### 1. 环境要求 - Python 3.10+ - PostgreSQL 13+ - Conda (推荐) ### 2. 安装依赖 ```bash # 创建Conda环境 conda create -n py_3.12 python=3.12 # 激活环境 conda activate py_3.12 # 安装依赖 pip install -r requirements.txt ``` ### 3. 配置环境变量 创建 `.env` 文件: ```env # 数据库配置 DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/gemold # 服务配置 SECRET_KEY=your-secret-key-here PORT=8000 # 管理员配置 ADMIN_USERNAME=admin ADMIN_PASSWORD=admin123 ``` ### 4. 初始化数据库 ```bash python src/database/init_db.py ``` ### 5. 启动服务 **Linux:** ```bash chmod +x start.sh ./start.sh ``` **Windows:** ```cmd start.bat ``` **Docker:** ```bash docker-compose up -d ``` ### 6. 访问服务 - 服务地址: http://localhost:8000 - 默认管理员: admin / admin123 --- ## 核心功能详解 ### STP文件分析 系统使用PythonOCC解析STP文件,提取以下几何特征: | 特征类型 | 描述 | |---------|------| | 边界框 | 产品整体尺寸 | | 体积 | 产品体积计算 | | 表面积 | 产品表面积计算 | | 壁厚 | 壁厚分布分析 | | 加强筋 | 加强筋位置和密度 | | 孔洞 | 孔洞和凹槽位置 | | 倒扣 | 倒扣区域检测 | | 对称性 | 对称性分析 | | 重心 | 重心位置计算 | ### 模具设计建议 系统自动生成以下设计建议。 | 建议类型 | 描述 | |---------|------| | 型腔数量 | 单腔或多腔建议 | | 模架尺寸 | 基于产品尺寸推荐 | | 顶出系统 | 顶针顶出布局 | | 冷却水路 | 冷却需求分析 | | 材料选择 | 基于产量推荐材料 | ### 3D可视化 - **点云模型** - 从STP提取的真实几何形状 - **模具型腔** - 型腔和型芯可视化 - **分型面** - 分型面位置显示 - **交互控制** - 旋转、缩放、平移 - **视图切换** - 显示/隐藏各组件 --- ## API文档 ### 认证API ``` POST /api/auth/login # 用户登录 POST /api/auth/logout # 用户登出 GET /api/auth/me # 获取当前用户信息 ``` ### 文件分析API ``` POST /api/upload # 上传STP文件 POST /api/status/{task_id} # 获取分析状态 GET /api/history # 获取分析历史 ``` ### 进销存API ``` GET /api/inventory/dashboard # 仪表盘数据 GET /api/inventory/products # 产品列表 POST /api/inventory/products # 创建产品 ``` --- ## 部署指南 ### Systemd服务 (Linux) ```bash # 复制服务文件 sudo cp gemoldinsight.service /etc/systemd/system/ # 启用服务 sudo systemctl enable gemoldinsight # 启动服务 sudo systemctl start gemoldinsight ``` ### Docker部署 ```bash # 构建镜像 docker build -t gemold:latest . # 启动容器 docker-compose up -d ``` --- ## 开发指南 ### 代码风格 - 遵循PEP 8规范 - 使用类型注解 - 保持函数简洁 ### 提交规范 - feat: 新功能 - fix: 修复bug - docs: 文档更新 - refactor: 代码重构 - test: 测试相关 --- ## 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 --- ## 贡献者 感谢所有为这个项目做出贡献的开发者。 --- ## 联系方式 - 项目地址: [GitHub](https://github.com/your-org/gemold) - 问题反馈: [Issues](https://github.com/your-org/gemold/issues)