项目简介

SolidWorks MCP 服务器是一个功能强大的后端应用程序,它使AI助手能够通过 Model Context Protocol (MCP) 与 SolidWorks CAD 软件进行深度交互。它不仅能够执行标准的CAD操作(如打开、创建、修改模型和特征),还扩展了功能,包括宏录制与回放、集成SQL驱动的设计表、SolidWorks PDM 配置管理,以及根据LLM指令生成VBA脚本等。通过 JSON-RPC 协议,AI 客户端可以请求服务器托管和管理 CAD 资源,调用各种自动化工具,从而实现更智能、更高效的工程设计工作流程。

主要功能点

  • 全面的 SolidWorks 控制:打开、创建、修改和分析 CAD 模型(零件、装配体、工程图)。
  • 宏录制与回放:记录用户在 SolidWorks 中的操作,并能够生成可重复使用的宏或导出为 VBA 脚本。
  • SQL 驱动的设计表:创建参数化设计,数据可从 SQL 数据库获取,实现设计自动化。
  • PDM 集成:管理 SolidWorks PDM 保险库操作、工作流、检入/检出等功能。
  • VBA 脚本生成:根据 AI 指令,从丰富的模板库生成生产就绪的 VBA 脚本,涵盖零件建模、装配体自动化、工程图生成、文件及 PDM 操作等100+工具。
  • 状态管理:持久化资源状态并支持自动保存,确保数据一致性。
  • 资源导向架构:模块化、可扩展的设计模式,便于新增功能和资源类型。
  • 智能诊断:提供宏执行诊断工具,帮助排除自动化故障。

安装步骤

  1. 系统要求:

    • Windows 10/11 操作系统
    • 已安装并授权的 SolidWorks 2021-2025 版本
    • Node.js 20 或更高版本
    • Claude Desktop (作为 MCP 客户端)
    • 可选:SQL Server 或 PostgreSQL 数据库(用于设计表功能)
    • 可选:SolidWorks PDM (用于 PDM 相关操作)
  2. 安装 SolidWorks MCP 服务器:

    • 推荐方式(通过 npm 全局安装):
      npm install -g solidworks-mcp-server
    • 手动安装(从 GitHub 仓库克隆):
      git clone https://github.com/vespo92/SolidworksMCP-TS
      cd SolidworksMCP-TS
      npm install
      npm run build
      npm link # 将服务器链接到全局,以便通过 npx 调用
  3. 配置环境变量(可选但推荐): 在项目根目录创建 '.env' 文件,或通过系统环境变量配置,以定制服务器行为:

    • 'SOLIDWORKS_PATH': SolidWorks 安装路径,例如 'C:/Program Files/SOLIDWORKS Corp/SOLIDWORKS'
    • 'SOLIDWORKS_VERSION': SolidWorks 版本,例如 '2024'
    • 'ENABLE_MACRO_RECORDING': 'true' 或 'false',是否启用宏录制功能
    • 'ENABLE_PDM': 'true' 或 'false',是否启用 PDM 集成功能
    • 'PDM_VAULT': PDM 保险库名称,例如 'Engineering'
    • 'SQL_CONNECTION': 数据库连接字符串,例如 'mssql://localhost:1433/solidworks_db'
    • 'STATE_FILE': 资源状态文件的保存路径,例如 '.solidworks-state.json'
    • 'LOG_LEVEL': 日志级别,例如 'info', 'debug', 'warn', 'error'

服务器配置(供 MCP 客户端使用)

为了让 MCP 客户端(如 Claude Desktop)能够连接并使用此 SolidWorks MCP 服务器,您需要在客户端的配置中添加服务器信息。

例如,在 Claude Desktop 的配置 JSON 文件中,添加以下 'mcpServers' 部分:

{
  "mcpServers": {
    "solidworks": {
      "command": "npx",
      "args": ["solidworks-mcp-server"],
      "env": {
        "ENABLE_MACRO_RECORDING": "true",
        "ENABLE_PDM": "true",
        "SQL_CONNECTION": "mssql://server:1433/database"
      }
    }
  }
}
  • 'solidworks': 这是您为 MCP 服务器定义的名称,客户端会通过这个名称引用它。
  • 'command': 启动 MCP 服务器的命令。由于服务器通过 'npm install -g' 或 'npm link' 全局可用,因此可以使用 'npx' 来执行。
  • 'args': 传递给启动命令的参数。在这里,我们传递 'solidworks-mcp-server' 作为包名。
  • 'env': (可选)为 MCP 服务器设置特定的环境变量。这些变量会覆盖 '.env' 文件中的同名配置。例如,'ENABLE_MACRO_RECORDING' 设为 'true' 以启用宏录制,'ENABLE_PDM' 设为 'true' 以启用 PDM 功能,并指定 'SQL_CONNECTION' 用于数据库集成。

配置完成后,请重启您的 MCP 客户端,以便加载新的服务器设置。

基本使用方法

配置并重启 MCP 客户端后,您可以通过自然语言向 AI 助手发出指令,它将调用 SolidWorks MCP 服务器执行相应的操作:

  • 打开模型: '"Open the part at C:/Models/example.sldprt"'
  • 创建新零件: '"Create a new SolidWorks part"'
  • 创建拉伸特征: '"Create an extrusion with a depth of 50mm"'
  • 设置尺寸: '"Set the dimension 'D1@Sketch1' to 75mm"'
  • 宏录制: '"Start recording a macro called 'CreateBoxFeature'"' '"Create a sketch on the front plane"' '"Add a rectangle 100mm by 50mm"' '"Extrude 25mm"' '"Stop recording and export it to VBA code"'
  • 设计表操作: '"Create a design table for a configurable shaft from the SQL database"' '"Refresh the design table 'ShaftConfigurations' from its SQL source"'
  • PDM 操作: '"Check in all files in my current SolidWorks assembly to the 'Engineering' PDM vault with the comment 'Initial design submission'"' '"Change the workflow state of 'PartX.sldprt' to 'Released'"'
  • VBA 脚本生成: '"Generate VBA to batch export all parts in 'C:/Project/Parts' folder to STEP format"' '"Generate VBA to create an assembly with three instances of 'Bolt.sldprt' patterned linearly"'

请根据您的实际需求,向 AI 助手提供具体且清晰的指令。服务器将尝试通过 SolidWorks API 执行这些指令。

信息

分类

桌面与硬件