Mcp 3D Printer Server

Mcp 3D Printer Server

🚀 MCP 3D 打印机服务器文档

MCP 3D 打印机服务器是一款用于控制和管理 3D 打印机的实用工具。它借助 RESTful API 实现交互,能对 STL 文件进行处理、生成 GCode、监控打印进度,还可进行基本的温度控制,为 3D 打印工作提供了全面的支持。

🚀 快速开始

MCP 3D 打印机服务器支持通过 RESTful API 进行交互,能够处理 STL 文件、生成 GCode、监控打印进度并进行基本的温度控制。

✨ 主要特性

  • STL 文件操作:支持读取、写入和修改 STL 模型文件。
  • GCode 生成:集成切片工具(如 PrusaSlicer)以生成打印代码。
  • 温度监控与控制:提供设置和监控打印机温度的能力。
  • 文件管理:支持上传和下载文件到打印机。
  • 打印状态查询:返回当前打印任务的状态信息。

📦 安装指南

  1. 首先,确保系统已安装 Node.js(推荐版本 18.0.0 或更高)。
  2. 使用 npm 安装 MCP 3D 打印机服务器:
    npm install mcp-3d-printer-server
    
  3. 启动服务:
    node index.js
    

📚 详细文档

接口概述

动作 路径 方法 描述
获取模型列表 /api/models GET 返回所有上传的 STL 模型列表。
上传新模型 /api/models POST 上传一个新的 STL 文件。
处理模型 /api/models/{modelId}/process POST 对指定模型进行处理(如扩展基底、切片等)。
获取打印状态 /api/printers GET 返回所有连接打印机的状态信息。
控制温度 /api/printers/{printerId}/temp POST 设置打印机的温度参数。

请求与响应示例

上传模型

请求示例:

POST /api/models
Content-Type: multipart/form-data

file=@model.stl

响应示例:

{
"status": "success",
"message": "Model uploaded successfully.",
"modelId": "12345"
}

处理模型

请求示例:

POST /api/models/12345/process
Content-Type: application/json

{
"operations": ["extend_base", "slice", "check_temperatures"]
}

响应示例:

{
"status": "success",
"message": "Model processing started.",
"taskId": "abc123"
}

操作指南

扩展基底

用于增加模型的基底高度,防止打印失败。

使用方法:

  1. 上传 STL 文件到 /api/models
  2. 发送处理请求并包含 extend_base 操作。

示例:

{
"operations": ["extend_base"]
}

切片

集成 PrusaSlicer 进行切片处理,生成打印所需的 GCode。

使用方法:

  1. 确保已安装并配置了 PrusaSlicer。
  2. 在处理请求中包含 slice 操作。

示例:

{
"operations": ["slice"]
}

温度确认

检查模型的推荐打印温度设置。

使用方法: 在处理请求中包含 check_temperatures 操作,服务器将返回建议的温度参数。

Bambu Lab 打印机限制

特殊注意事项

  • 启动打印任务:必须通过特定的 API 调用。
  • 温度控制:直接控制可能受限,需使用提供的接口。
  • 文件管理:文件必须符合特定格式和大小要求。

🔧 技术细节

扩展基底操作

function extendBase(model) {
// 实现扩展基底的逻辑
}

切片处理

const slicer = new PrusaSlicer();
slicer.process('model.stl', 'output.gcode');

限制与注意事项

内存使用

处理大模型时,需确保服务器有足够的内存。

性能考虑

  • 多线程支持:推荐在多核处理器上运行以提升性能。
  • 磁盘空间:确保足够的存储空间用于处理和存储 STL 文件及 GCode。

测试建议

  1. 在生产环境部署前,先进行充分的测试。
  2. 使用不同尺寸和复杂度的模型进行验证。

标志

名称 描述
npm 版本 显示当前 npm 包的版本信息。
许可证 项目使用的开源许可证信息。
TypeScript 版本 当前项目的 TypeScript 编译器版本。

💻 使用示例

基础用法

const express = require('express');
const app = express();

app.get('/api/models', (req, res) => {
// 返回模型列表逻辑
});

app.post('/api/models', (req, res) => {
// 处理文件上传逻辑
});

app.listen(3000, () => {
console.log('Server running on port 3000');
});

参考资料

  1. Node.js 官方文档
  2. PrusaSlicer API 文档
  3. RESTful API 设计指南

如需进一步支持或遇到问题,请联系技术支持。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-10-04 10:18

相似服务问题

相关AI产品