2026-03-07 03:04:15 +08:00
2026-03-04 01:08:00 +08:00
2026-02-17 01:44:37 +08:00
2026-02-12 23:27:42 +08:00
2026-03-07 03:04:15 +08:00
2026-03-07 03:04:15 +08:00
2026-03-07 03:04:15 +08:00
2026-02-17 00:42:55 +08:00
2026-02-12 23:27:42 +08:00
2026-03-04 01:10:20 +08:00
2026-02-13 00:29:12 +08:00
2026-02-15 00:24:32 +08:00
2026-02-12 23:27:42 +08:00
2026-03-07 03:04:15 +08:00
2026-03-07 03:04:15 +08:00
2026-02-12 23:27:42 +08:00
2026-02-13 00:29:12 +08:00
2026-02-12 23:27:42 +08:00
2026-02-12 23:17:53 +08:00
2026-02-12 23:27:42 +08:00
2026-02-12 23:27:42 +08:00
2026-02-12 23:27:42 +08:00
2026-03-07 03:04:15 +08:00
2026-03-07 03:04:15 +08:00
2026-02-13 00:29:12 +08:00
2026-03-04 22:34:55 +08:00
x
2026-03-01 12:51:26 +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
│   │   └── inventory_routes.py # 进销存API
│   ├── core/              # 核心业务逻辑
│   │   ├── stp_parser.py      # STP文件解析
│   │   ├── geometry_analyzer.py # 几何分析
│   │   ├── mesh_generator.py   # 网格生成
│   │   └── mold_generator.py   # 模具生成
│   ├── models/            # 数据模型
│   │   ├── database.py      # 数据库模型
│   │   └── schemas.py        # 数据模式
│   ├── services/          # 服务层
│   │   ├── auth_service.py  # 认证服务
│   │   ├── storage_service.py # 存储服务
│   │   └── storage_integration_rustfs.py # RustFS集成
│   ├── database/          # 数据库管理
│   │   ├── database.py      # 数据库连接
│   │   └── init_db.py        # 数据库初始化
│   └── utils/             # 工具类
│       ├── logger.py          # 日志工具
│       ├── file_handler.py    # 文件处理
│       └── html_generator.py   # HTML生成
├── static/               # 静态文件
│   ├── vue-app.js         # Vue应用
│   ├── style.css          # 样式文件
│   └── index.html         # 主页面
├── scripts/              # 脚本工具
│   └── verify_stp.py      # STP验证脚本
├── uploads/              # 上传文件目录
├── html_output/          # 生成的HTML文件
├── logs/                 # 日志文件
├── requirements.txt      # 依赖包
├── docker-compose.yml    # Docker配置
├── start.sh              # Linux启动脚本
├── start.bat             # Windows启动脚本
└── .env                  # 环境变量

快速开始

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%