返回市场
饼干切割器-MCP

饼干切割器-MCP

作者:SchreiverJ2 星标更新:2025-08-20

项目介绍

🍪 Cookie Cutter MCP Server

一个高级的MCP(模型上下文协议)服务器,使用计算机视觉和计算几何技术将图像转换为可3D打印的饼干切割器。

🌟 特性

🔍 高级图像处理

  • 多算法阈值处理:自适应、Otsu和手动阈值方法
  • 原始算法:精确复制了经过验证的Cookie Cutter Monster算法
  • 鲁棒轮廓检测:处理包含多个对象的复杂图像
  • 智能形状选择:自动选择最适合饼干切割器的轮廓

🎯 智能形状分析

  • 质量评分:根据大小、紧凑度和位置评估轮廓
  • 边界创建:“绘制和检测”方法以获得完美的内/外边界
  • 边缘情况处理:优雅地处理具有挑战性的图像

🛠️ 专业3D生成

  • 密封网格:使用Trimesh库进行适当的挤出(类似于Three.js ExtrudeBufferGeometry)
  • 无几何孔洞:专业级STL文件,准备好进行3D打印
  • 可配置参数:控制饼干切割器设计的各个方面
  • 手柄集成:自动生成舒适的把手

🚀 快速开始

安装

# 克隆并安装
cd cookie-cutter-mcp
uv sync

# 或者使用pip
pip install -e .

Claude Desktop 设置

添加到您的Claude Desktop MCP配置:

{
  "mcpServers": {
    "cookie-cutter": {
      "command": "uv",
      "args": ["run", "python", "-m", "cookie_cutter_mcp.server"]
    }
  }
}

基本用法

从~/images/logo.png生成饼干切割器
分析~/complex-image.jpg以查看可以检测到哪些形状
使用专业设置为~/designs/中的所有图像生成饼干切割器

🎮 可用工具

1. analyze_image

预览处理结果,并在生成STL之前获取建议。

示例:

分析~/images/logo.png中的图像,查看可以检测到哪些饼干切割器形状

功能:

  • 详细的轮廓分析及统计
  • 处理建议
  • 质量评估及建议

2. generate_cookie_cutter

创建一个可3D打印的饼干切割器STL文件。

示例:

从~/images/logo.png生成饼干切割器,并将其保存为~/3d-prints/logo-cutter.stl,使用专业质量设置

配置选项:

  • thickness:壁厚(0.5-3.0毫米)
  • depth:切割深度(8-25毫米)
  • size:最大尺寸(2-150毫米)
  • bevel_cutter:锋利的斜切边缘
  • round_handle:舒适的圆形手柄
  • tolerance:细节级别(0.05-1.0)

3. batch_generate_cutters

一次处理多个图像。

示例:

为~/logos/中的所有图像生成饼干切割器,并将它们保存到~/cutters/

4. create_preset_config

获取不同使用场景的优化配置。

示例:

显示用于小型精细饼干切割器的配置预设

可用预设:

  • small_detailed:精细设计,细小细节
  • large_simple:大形状,快速打印
  • professional:平衡质量和速度
  • miniature:微型精细切割器
  • custom:您自己的规格

🧠 算法概述

1. 图像处理(原始算法)

  • 填充:10像素,使用BORDER_WRAP(而不是BORDER_CONSTANT
  • 阈值处理:自适应,block_size=5,C=1(原始参数)
  • 轮廓检测:使用RETR_LIST方法进行全面形状查找
  • 面积过滤:排除噪声和边界的图像区域的10%-90%

2. 边界创建(“绘制和检测”方法)

  • 10倍缩放绘制:以目标大小的10倍绘制粗线轮廓
  • 双重阈值处理:二进制反转+第二次阈值处理以获得干净的边界
  • 内/外提取:自动找到切割边界
  • 缩放回:返回带有适当偏移的目标尺寸

3. 3D几何生成

  • Trimesh挤出:使用trimesh.creation.extrude_polygon()挤出多边形

🎛️ 配置参考

参数默认值范围描述
thickness1.0毫米0.5-3.0毫米壁厚
depth16.0毫米8-25毫米切割深度
size76.0毫米20-150毫米最大尺寸
tolerance0.150.05-1.0点简化
bevel_cutterfalse布尔值锋利的斜切边缘
round_handlefalse布尔值圆形手柄
threshold_method自适应自适应/Otsu/手动边缘检测方法

🖨️ 3D打印指南

推荐设置

  • 层高:0.15-0.2毫米
  • 填充率:15-20%
  • 打印速度:40-60毫米/秒
  • 支撑:不需要
  • 床粘附:裙边

材料推荐

  • PLA:易于打印,认证后食品级,某些材料经退火后可放入洗碗机
  • PETG:更耐用,可能食品级

后处理

  • 轻微打磨切割边缘以增加锐度
  • 在使用前用异丙醇清洁
  • 存放在干燥的地方以防变形
  • 尝试退火以使塑料耐洗碗机,适用于某些PLA材料

🐛 故障排除

没有检测到轮廓或太多小轮廓

  • 尝试对图像进行预处理以提高对比度

🔬 技术细节

依赖项

  • OpenCV:图像处理和轮廓检测
  • Trimesh:专业3D网格操作和STL导出
  • Shapely:强大的几何操作
  • NumPy:数值计算
  • mapbox-earcut:多边形三角化

🤝 贡献

该项目展示了先进的计算机视觉和3D几何技术。改进的关键领域包括:

  • 附加的调试可视化工具
  • 更复杂的轮廓选择算法
  • 高级网格优化技术
  • 支持多部件饼干切割器
  • 与切片软件API的集成

📜 许可证

MIT许可证 - 欢迎自由使用和修改您的项目!

🙏 致谢

基于原始的Cookie Cutter Monster算法,重新构想为现代Python工具和MCP集成。 https://github.com/SchreiverJ/CookieCutterMonster#