🍪 Cookie切割器MCP服务器
一种先进的MCP(模型上下文协议)服务器,使用计算机视觉和计算几何将图像转换为可3D打印的饼干切割机。
🌟 特性
🔍 高级图像处理
- 多算法阈值处理:自适应、Otsu和手动阈值方法
- 原始算法:精确复制经过验证的Cookie Cutter Monster算法
- 稳健的轮廓检测:处理具有多个对象的复杂图像
- 智能形状选择:自动为饼干切割机选择最佳轮廓
🎯 智能形状分析
- 质量评分:按大小、紧凑性和位置评估轮廓
- 边界创建:“绘制并检测”完美内外边界的方法
- 边缘案例处理:优雅地处理具有挑战性的图像
🛠️ 专业3D生成
- 防水网:使用Trimesh库进行适当的挤出(如Three.js Extrude BufferGeometry)
- 无几何孔:专业品质的STL文件可用于3D打印
- 可配置参数:控制饼干切割机设计的各个方面
- 手柄集成:自动舒适手柄生成
🚀 快速开始
安装
# Clone and install
cd cookie-cutter-mcp
uv sync
# Or with pip
pip install -e .Claude桌面设置
添加到您的Claude Desktop MCP配置中:
{
"mcpServers": {
"cookie-cutter": {
"command": "uv",
"args": ["run", "python", "-m", "cookie_cutter_mcp.server"]
}
}
}基本用法
Generate a cookie cutter from ~/images/logo.pngAnalyze ~/complex-image.jpg to see what shapes can be detectedCreate cookie cutters for all images in ~/designs/ using professional settings🎮 可用工具
1. analyze_image
在生成STL之前预览处理结果并获取建议。
例子:
Analyze the image at ~/images/logo.png to see what cookie cutter shapes can be detected特征:
- 详细的轮廓分析和统计
- 处理建议
- 质量评估和建议
2. generate_cookie_cutter
创建可3D打印的饼干切割STL文件。
例子:
Generate a cookie cutter from ~/images/logo.png and save it as ~/3d-prints/logo-cutter.stl with professional quality settings配置选项:
thickness:壁厚(0.5-3.0mm)depth:切割深度(8-25mm)size:最大尺寸(20-150mm)bevel_cutter:锋利的斜边round_handle:舒适的圆形手柄tolerance:细节级别(0.05-1.0)
3. batch_generate_cutters
一次处理多个图像。
例子:
Generate cookie cutters for all images in ~/logos/ and save them to ~/cutters/4. create_preset_config
针对不同用例获得优化配置。
例子:
Show me the configuration preset for small detailed cookie cutters可用预设:
small_detailed:复杂的设计,精细的细节large_simple:大形状,快速打印professional:平衡的质量和速度miniature:小巧精致的刀具custom:您自己的规格
🧠 算法概述
1. 图像处理 (精确原始算法)
- 填充:10px
BORDER_WRAP(不是BORDER_CONSTANT) - 阈值设置:自适应,block_size=5,C=1(精确的原始参数)
- 轮廓检测:
RETR_LIST综合找形方法 - 区域过滤:10%-90%的图像区域排除噪声和边界
2. 边界创建 (“绘制和检测”方法)
- 10倍比例图:以10倍目标尺寸绘制粗线轮廓
- 双阈值:二进制反转+干净边界的第二阈值
- 内部/外部提取:自动查找切割边界
- 缩减:返回到具有适当偏移的目标尺寸
3. 三维几何图形生成
- Trimesh挤压:用途
trimesh.creation.extrude_polygon()拉伸多边形
🎛️ 配置参考
| 参数 | 默认值 | 范围 | 说明 |
|---|---|---|---|
thickness | 1.0mm | 0.5-3.0mm | 壁厚 |
depth | 16.0mm | 8-25mm | 切割深度 |
size | 76.0mm | 20-150mm | 最大尺寸 |
tolerance | 0.15 | 0.05-1.0 | 点简化 |
bevel_cutter | false | boolean | 锐斜边 |
round_handle | false | boolean | 圆形句柄 |
threshold_method | 自适应 | 自适应/otsu/手动 | 边缘检测方法 |
🖨️ 3D打印指南
推荐设置
- 层高度:0.15-0.2毫米
- 填充: 15-20%
- 打印速度:40-60mm/s
- 支持:不需要
- 床层附着力:裙子
材料建议
- 中国人民解放军:易于打印,经认证后可安全食用,有些经过退火后可安全放入洗碗机清洗
- 聚对苯二甲酸乙二醇酯-1,4-环己烷二甲醇酯:更耐用,可能食品安全
后处理
- 切削刃轻度打磨,锋利
- 食用前用异丙醇清洗
- 存放在干燥处,防止翘曲
- 尝试退火,使你的塑料耐洗碗机,适用于一些PLA
🐛 故障排除
未检测到轮廓或小轮廓太多
- 尝试预处理图像以获得更好的对比度
🔬 技术细节
依赖项
- OpenCV:图像处理和轮廓检测
- 特里梅什:专业的3D网格操作和STL导出
- 形状:稳健的几何运算
- 数值Python:数值计算
- 地图框耳饰:多边形三角剖分
🤝 贡献
该项目展示了先进的计算机视觉和3D几何技术。需要改进的关键领域:
- 用于调试的其他可视化工具
- 更复杂的轮廓选择算法
- 先进的网格优化技术
- 支持多部件饼干切割机
- 与切片软件API集成
📜 许可证
麻省理工学院许可证-随意使用和修改您的项目!
🙏 致谢
基于原始的Cookie Cutter Monster算法,针对现代Python工具和MCP集成进行了重新设计。 https://github.com/SchreiverJ/CookieCutterMonster#
