2026-06-10 13:44:05 +08:00
x
2026-05-21 14:25:14 +08:00
2026-06-01 10:11:25 +08:00
2026-04-21 14:20:20 +08:00
x
2026-06-10 13:44:05 +08:00
2026-02-12 23:27:42 +08:00
x
2026-05-02 00:39:04 +08:00
x
2026-06-09 16:19:15 +08:00
x
2026-06-10 13:44:05 +08:00
2026-02-17 00:42:55 +08:00
x
2026-05-14 16:56:18 +08:00
2026-02-12 23:27:42 +08:00
2026-05-29 18:19:30 +08:00
x
2026-05-11 11:35:15 +08:00
x
2026-05-11 11:35:15 +08:00
2026-03-07 03:04:15 +08:00
2026-02-12 23:27:42 +08:00
2026-02-12 23:17:53 +08:00
x
2026-05-14 16:56:18 +08:00
2026-04-21 14:20:20 +08:00
2026-03-04 22:34:55 +08:00
x
2026-06-01 13:51:16 +08:00
x
2026-05-14 16:56:18 +08:00
x
2026-06-01 13:51:16 +08:00

Gemold - 模具制造管理系统

Version Python FastAPI Vue.js PostgreSQL License

项目简介

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. 安装依赖

# 创建Conda环境
conda create -n py_3.12 python=3.12

# 激活环境
conda activate py_3.12

# 安装依赖
pip install -r requirements.txt

3. 配置环境变量

创建 .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. 初始化数据库

python src/database/init_db.py

5. 启动服务

Linux:

chmod +x start.sh
./start.sh

Windows:

start.bat

Docker:

docker-compose up -d

6. 访问服务


核心功能详解

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)

# 复制服务文件
sudo cp gemoldinsight.service /etc/systemd/system/

# 启用服务
sudo systemctl enable gemoldinsight

# 启动服务
sudo systemctl start gemoldinsight

Docker部署

# 构建镜像
docker build -t gemold:latest .

# 启动容器
docker-compose up -d

开发指南

代码风格

  • 遵循PEP 8规范
  • 使用类型注解
  • 保持函数简洁

提交规范

  • feat: 新功能
  • fix: 修复bug
  • docs: 文档更新
  • refactor: 代码重构
  • test: 测试相关

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件


贡献者

感谢所有为这个项目做出贡献的开发者。


联系方式

S
Description
No description provided
Readme Apache-2.0 209 MiB
Languages
Python 67.3%
TypeScript 11.6%
Vue 11.3%
HTML 6.8%
CSS 2.5%
Other 0.5%