24
最近更新:8个月前

AutoCAD LT AutoLISP MCP 服务器

AutoCAD LT AutoLISP MCP 服务器

该 MCP 服务器通过生成和执行 AutoLISP 代码,实现了对 AutoCAD LT 2024/2025 的自然语言控制。它将 Claude 或其他 LLM 客户端与 AutoCAD LT 连接起来,通过对话式提示创建工程图纸。

功能

  • 在 AutoCAD LT 中生成并执行 AutoLISP 代码
  • 创建基本形状(线条、圆、多段线、文本)
  • 处理带属性管理的块插入
  • 支持通过命名连接点在块之间绘制连线
  • 按顺序排列多个块,并自定义间距
  • 提供强大的图层创建与管理功能
  • 为技术图纸创建填充和标注
  • 支持实体旋转与操作
  • 支持直接执行自定义 AutoLISP 代码
  • 通过自然语言实现文本到 CAD 的功能

前置条件

  • AutoCAD LT 2024 或更高版本(支持 AutoLISP)
  • Python 3.10 或更高版本
  • Claude Desktop 或其他 MCP 客户端应用程序

设置说明

  1. 安装依赖:

    复制代码
    git clone https://github.com/hvkshetry/autocad-mcp.git
    cd autocad-mcp
    python -m venv venv
    venv\Scripts\activate
    pip install -r requirements.txt
  2. 配置 Claude Desktop:

    • 打开 Claude Desktop 设置
    • 编辑配置文件以包含:
    json 复制代码
    {
      "mcpServers": {
        "autocad-lisp": {
          "command": "path\\to\\autocad-mcp\\venv\\Scripts\\python.exe",
          "args": ["path\\to\\autocad-mcp\\server_lisp.py"]
        }
      }
    }
    • 或者,您可以使用附带的 claude_desktop_config_lisp.json 作为模板
  3. 启动 AutoCAD LT:

    • 启动 AutoCAD LT
    • 创建或打开一个图纸
    • 确保窗口标题包含 "AutoCAD LT" 和 "Drawing"
  4. 启动服务器:

    • 以管理员身份运行 start_lisp_server.bat
    • 如果遇到 LISP 加载问题,可以使用 restart_fixed_server.bat
  5. 测试连接:

    • 运行 test_connection.bat 以验证功能是否正常

可用工具

  • get_autocad_status: 检查与 AutoCAD 的连接
  • create_line: 在两点之间绘制一条线
  • create_circle: 创建具有定义中心和半径的圆
  • create_text: 在指定坐标处添加文本标签
  • insert_block: 插入带有可选 ID 属性、比例和旋转的块
  • connect_blocks: 通过命名连接点在两个块之间绘制连线
  • label_block: 为块添加文本标签
  • arrange_blocks: 按顺序排列多个块,并自定义间距
  • create_polyline: 根据一系列点创建多段线
  • rotate_entity_by_id: 围绕基点旋转实体
  • create_linear_dimension: 在两点之间添加线性标注
  • create_hatch: 为闭合多段线区域添加填充
  • set_layer_properties: 创建或修改图层,包括颜色、线型、线宽等
  • execute_custom_autolisp: 直接运行自定义 AutoLISP 代码

LISP 库结构

服务器加载多个 LISP 文件以实现功能:

  1. error_handling.lsp: 基础错误处理和验证函数
  2. basic_shapes.lsp: 创建线条、圆和文本的核心函数
  3. drafting_helpers.lsp: 用于块操作、图层管理和连接元素的函数
  4. block_id_helpers.lsp: 通过 ID 属性查找和操作块的函数
  5. selection_and_file.lsp: 选择集管理和文件操作
  6. advanced_geometry.lsp: 扩展几何创建和操作
  7. annotation_helpers.lsp: 文本和标注创建工具
  8. layout_management.lsp: 用于管理布局和视口的函数

使用示例

  1. 基本绘图操作:

    • "从坐标 (100,100) 到 (200,150) 绘制一条线"
    • "在 (150,150) 创建一个半径为 25 的圆"
    • "在位置 (100,200) 添加文本 'System Title'"
    • "创建一个多段线,点位于 (10,10), (50,50), (100,10),并闭合它"
  2. 块操作:

    • "在位置 (100,100) 插入名为 'PUMP' 的块,ID 为 'P-101'"
    • "将 ID 为 'P-101' 的块标记为 'Feed Pump'"
    • "在 'Piping' 图层上将块 'P-101' 连接到 'V-201'"
    • "围绕插入点将块 'P-101' 旋转 45 度"
  3. 多块操作:

    • "从 (50,100) 开始向右排列块 'PUMP', 'VALVE', 和 'TANK',间距为 30 单位"
    • "创建名为 'Equipment' 的图层,颜色为 'yellow'"
    • "在两个块之间添加标注以显示距离"
  4. 高级操作:

    • "创建一个闭合多段线并在其中添加 ANSI31 填充"
    • "创建一个标注以显示圆的直径"
    • "将当前图层设置为 'Dimensions',颜色为 'cyan',线宽为 '0.30mm'"
  5. 自定义 AutoLISP:

    • "执行此 AutoLISP 代码以创建自定义函数: (defun c:my-function ...)"

限制

  • 需要 AutoCAD LT 2024 或更高版本(支持 AutoLISP)
  • 依赖窗口焦点和键盘模拟来执行命令
  • 用户在发送命令时不应与 AutoCAD 交互
  • 仅限于 2D 绘图操作
  • 块的连接点使用预定义的连接点名称(CONN_DEFAULT1, CONN_DEFAULT2)
  • 图层颜色必须指定为字符串(例如,"red", "yellow", "120")

故障排除

请参阅 TROUBLESHOOTING.md 文件以获取常见问题及其解决方案。常见问题包括:

  • LISP 文件加载失败
  • AutoCAD 窗口焦点问题
  • 函数取消错误
  • 服务器与 AutoCAD 之间的通信问题

许可证

MIT

贡献

欢迎贡献!请随时提交 Pull Request。