suwoodblender/README.md

143 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

# SUWood Python版本
Ruby到Python的木工设计系统翻译项目支持Blender集成和独立运行。
## 📁 项目结构
```
blender/
├── blenderpython/ # 核心Python模块
│ ├── suw_impl.py # 主要实现模块
│ ├── suw_client.py # SUWood专用客户端
│ ├── suw_*.py # 其他核心模块
│ └── ...
├── test/ # 测试目录 🆕
│ ├── README.md # 测试目录说明
│ ├── quick_suwood_test.py # SUWood快速测试
│ ├── suwood_server_check.py # 服务器检测
│ ├── test_suwood_communication.py # 完整通信测试
│ ├── SUWOOD_COMMUNICATION_GUIDE.md # 通信指南
│ ├── TRANSLATION_SUMMARY.md # 翻译总结
│ └── ... # 其他测试文件和数据
├── ruby/ # 原Ruby代码参考
├── client.py # 通用JSON客户端
├── server.py # 通用JSON服务器
├── requirements.txt # 依赖包列表
└── README.md # 本文件
```
## 🎯 核心功能
### 双客户端系统
| 客户端 | 用途 | 端口 | 协议 | 状态 |
|--------|------|------|------|------|
| `client.py` | 通用文件传输 | 8888 | JSON | ✅ 已验证 |
| `suw_client.py` | SUWood专用 | 7999 | 二进制+JSON | ✅ 已验证 |
### SUWood系统组件
- **SUWImpl** - 木工设计核心实现 (2415行代码)
- **几何系统** - Point3d, Vector3d, Transformation
- **命令系统** - c00-c28等多个木工设计命令
- **材质系统** - RGB材质和纹理兼容Blender 4.2
- **工具系统** - 点工具、面工具、连续工具等
## 🚀 快速开始
### 1. 环境准备
```bash
pip install -r requirements.txt
```
### 2. 基本测试
```bash
# 进入测试目录
cd test
# 检测SUWood服务器如果有外部服务器
python suwood_server_check.py
# 快速SUWood通信测试
python quick_suwood_test.py
# 测试通用客户端-服务器
python quick_comm_test.py
```
### 3. Blender集成
```python
# 在Blender脚本编辑器中
import sys
sys.path.append("D:/XL/code/blender/blenderpython")
from suw_impl import SUWImpl
from suw_client import get_client, start_command_processor
# 启动SUWImpl系统
impl = SUWImpl.get_instance()
impl.startup()
# 连接SUWood服务器如果需要
client = get_client()
start_command_processor()
print("SUWood系统已就绪")
```
## 🔧 测试功能
进入 `test/` 目录查看完整的测试工具:
### SUWood通信测试
- **服务器检测** - 扫描和验证SUWood服务器
- **协议测试** - 验证二进制+JSON协议兼容性
- **命令测试** - 测试get_cmds和set_cmd功能
- **集成测试** - SUWImpl系统集成验证
### 通用通信测试
- **JSON通信** - 客户端-服务器JSON消息传输
- **文件传输** - 上传下载JSON文件
- **连接稳定性** - 长时间连接测试
详细信息请查看 [`test/README.md`](test/README.md)
## 🎨 Blender兼容性
- ✅ 支持Blender 4.2 LTS
- ✅ 材质节点兼容性修复
- ✅ 几何操作和变换
- ✅ 木工零件创建和编辑
- ✅ 纹理和材质系统
## 📚 文档
- [`test/SUWOOD_COMMUNICATION_GUIDE.md`](test/SUWOOD_COMMUNICATION_GUIDE.md) - SUWood服务器通信指南
- [`test/TRANSLATION_SUMMARY.md`](test/TRANSLATION_SUMMARY.md) - Ruby到Python翻译总结
- [`test/使用说明.md`](test/使用说明.md) - 详细使用说明
## 🔄 开发状态
- ✅ 核心系统翻译完成 (16个Python文件)
- ✅ 语法检查100%通过
- ✅ Blender 4.2兼容性修复
- ✅ 双客户端系统验证
- ✅ 完整测试套件
- ✅ 文档和指南完整
## 💡 使用建议
1. **开发测试** - 使用 `test/` 目录下的工具进行功能验证
2. **生产部署** - 直接使用 `blenderpython/` 模块
3. **文件传输** - 使用 `client.py` + `server.py`
4. **SUWood集成** - 使用 `suw_client.py` 连接外部SUWood服务器
## 📞 故障排除
遇到问题时:
1. 查看 `test/` 目录下的相关测试和文档
2. 运行对应的检测工具
3. 参考通信指南进行配置
4. 检查Blender控制台输出
项目已完全准备用于木工设计和3D建模工作流程。