# CADProject **Repository Path**: wky1990/cadproject ## Basic Information - **Project Name**: CADProject - **Description**: ForCAD - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-27 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CAD智能图库管理系统 基于AI的CAD图纸管理与智能分析系统 ## 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 前端层 (React) │ │ Dashboard | Import | Gallery | Statistics | Search | Export │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ API网关层 (FastAPI) │ └─────────────────────────────────────────────────────────────┘ ↓ ┌───────────┬───────────┬───────────┬───────────┬───────────┐ │ 导入层 │ AI处理层 │ 统计层 │ 检索层 │ 输出层 │ │ Import │ AI Process│Statistics │ Search │ Export │ └───────────┴───────────┴───────────┴───────────┴───────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 数据存储层 │ │ SQLite/PostgreSQL | File Storage │ └─────────────────────────────────────────────────────────────┘ ``` ## 功能模块 ### 1. 导入层 - ✅ 批量导入 DWG/DXF/PDF/图片格式 - ✅ 自动解析图纸元数据 - 🔄 OCR文字识别 - 🔄 图元/符号识别分类 ### 2. AI处理层 - 🔄 OCR文字识别(基于PaddleOCR) - 🔄 图元/符号识别与分类 - 🔄 智能标签生成 - 🔄 相似度检测(查重) ### 3. 统计层 - 🔄 按项目/类型/日期分类统计 - 🔄 设备/材料自动汇总 - 🔄 版本对比与变更追踪 ### 4. 检索层 - ✅ 关键词搜索 - ✅ 以图搜图 - ✅ 高级筛选(图层、图块、标注) ### 5. 输出层 - ✅ 统计报表导出(Excel/PDF) - ✅ 批量转换/打印 - ✅ API接口对接其他系统 ## 技术栈 ### 后端 - **框架**: FastAPI - **CAD解析**: ezdxf - **OCR**: PaddleOCR - **图像处理**: OpenCV, Pillow - **向量检索**: scikit-learn, scipy - **数据库**: SQLAlchemy (SQLite/PostgreSQL) ### 前端 - **框架**: React 18 + TypeScript - **UI组件**: Ant Design - **路由**: React Router - **状态管理**: Zustand - **HTTP客户端**: Axios - **构建工具**: Vite ## 快速开始 ### 后端启动 ```bash # 进入后端目录 cd backend # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows: venv\Scripts\activate # Linux/Mac: source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 复制环境配置文件 cp .env.example .env # 启动服务 python main.py ``` 后端服务将在 `http://localhost:8000` 启动 API文档: `http://localhost:8000/docs` ### 前端启动 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` 前端服务将在 `http://localhost:3000` 启动 ## 项目结构 ``` CADProject/ ├── backend/ # 后端代码 │ ├── api/ # API路由 │ │ ├── import_router.py # 导入层API │ │ ├── ai_processing_router.py # AI处理层API │ │ ├── statistics_router.py # 统计层API │ │ ├── search_router.py # 检索层API │ │ ├── export_router.py # 输出层API │ │ └── health_router.py # 健康检查API │ ├── core/ # 核心模块 │ │ ├── config.py # 配置 │ │ └── database.py # 数据库模型 │ ├── main.py # 应用入口 │ ├── requirements.txt # Python依赖 │ └── .env.example # 环境变量示例 ├── frontend/ # 前端代码 │ ├── src/ │ │ ├── components/ # 组件 │ │ ├── pages/ # 页面 │ │ ├── App.tsx # 应用根组件 │ │ └── main.tsx # 入口文件 │ ├── package.json # NPM依赖 │ └── vite.config.ts # Vite配置 └── README.md # 项目文档 ``` ## 待实现功能 - [ ] CAD文件解析引擎完善 - [ ] OCR识别准确率优化 - [ ] 图元识别算法优化 - [ ] 以图搜图向量数据库集成 - [ ] 材料自动提取算法 - [ ] 版本对比功能 - [ ] 用户权限管理 - [ ] Redis缓存集成 - [ ] 消息队列集成(Celery) - [ ] Docker容器化部署 ## 开发注意事项 1. 后端所有API响应遵循统一的格式 2. 前端组件使用TypeScript强类型 3. 文件上传需要验证大小和类型 4. AI处理任务采用异步处理机制 5. 数据库操作使用异步模式 ## 许可证 MIT License CADProject/ ├── backend/ # 后端服务 (FastAPI + Python) │ ├── api/ # API路由层 │ │ ├── import_router.py # 导入层 - 文件上传 │ │ ├── ai_processing_router.py # AI处理层 - OCR/识别/标签 │ │ ├── statistics_router.py # 统计层 - 统计分析 │ │ ├── search_router.py # 检索层 - 搜索功能 │ │ ├── export_router.py # 输出层 - 导出转换 │ │ └── health_router.py # 健康检查 │ ├── core/ # 核心模块 │ │ ├── config.py # 配置管理 │ │ └── database.py # 数据库模型 │ ├── services/ # 业务服务层 │ │ ├── cad_parser.py # CAD文件解析 │ │ ├── ocr_service.py # OCR文字识别 │ │ ├── symbol_detector.py # 符号识别 │ │ ├── tag_generator.py # 智能标签生成 │ │ └── similarity_checker.py # 相似度检测 │ ├── main.py # 应用入口 │ ├── requirements.txt # Python依赖 │ └── .env.example # 环境配置示例 ├── frontend/ # 前端应用 (React + TypeScript + Ant Design) │ ├── src/ │ │ ├── api/ # API请求封装 │ │ ├── components/ # 组件库 │ │ ├── pages/ # 页面组件 │ │ │ ├── Dashboard.tsx # 系统概览 │ │ │ ├── Import.tsx # 图纸导入 │ │ │ ├── Gallery.tsx # 图库浏览 │ │ │ ├── Statistics.tsx # 统计分析 │ │ │ ├── Search.tsx # 智能检索 │ │ │ └── Export.tsx # 数据导出 │ │ ├── utils/ # 工具函数 │ │ ├── App.tsx # 根组件 │ │ └── main.tsx # 入口文件 │ ├── package.json # NPM依赖 │ ├── vite.config.ts # Vite配置 │ └── index.html # HTML模板 └── README.md # 项目文档