get_locations
Retrieve 3D coordinates of Revit elements in millimeters for points and curves, supporting batch queries with automatic unit conversion from feet.
Instructions
获取Revit元素的位置信息,支持点和曲线元素,遵循JSON-RPC 2.0规范。 mcp_tool使用时params不要有任何注释信息
特性:
支持批量查询多个元素的位置
自动处理单位转换(英尺转毫米)
支持点位置和曲线位置(直线和圆弧)
完善的错误处理机制
参数: ctx (Context): FastMCP上下文对象 method (str): JSON-RPC方法名,默认为"GetLocations" params (List[Dict]): 查询参数列表,每个字典包含: - elementId (Union[str, int]): 要查询的元素ID,优先使用str类型Id
返回: dict: JSON-RPC 2.0格式的响应,结构为: 成功时: { "jsonrpc": "2.0", "result": { "elementId1": [ { "X": float, # X坐标(毫米) "Y": float, # Y坐标(毫米) "Z": float # Z坐标(毫米) }, ... ], ... }, "id": request_id } 失败时: { "jsonrpc": "2.0", "error": { "code": int, "message": str, "data": any }, "id": request_id }
错误代码: -32600: 无效请求 -32602: 无效参数(元素不存在等) -32603: 内部错误 -32700: 解析错误
示例: # 查询多个元素的位置 response = get_location(ctx, params=[ {"elementId": 123456}, {"elementId": "789012"} ])
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | GetLocations | |
| params | No |
Implementation Reference
- xml_revit_mcp/server.py:50-55 (registration)get_locations is listed in the GENERAL_TOOLS array, indicating it is one of the general tools registered with the MCP server.GENERAL_TOOLS = [ get_commands, execute_commands, call_func, find_elements, update_elements, delete_elements, parameter_elements, get_locations, move_elements, show_elements, active_view, get_selected_elements, link_dwg_and_activate_view, get_view_data ]
- xml_revit_mcp/server.py:144-147 (registration)The register_tools function registers all tools in GENERAL_TOOLS, including get_locations, by calling server.tool()(tool). This is invoked at line 248.# 注册通用工具 for tool in GENERAL_TOOLS: server.tool()(tool)
- xml_revit_mcp/server.py:16-16 (registration)Imports all tools from .tools module, which likely defines get_locations and other tool functions.from .tools import *
- tests/GetLocations.py:18-19 (helper)Test file demonstrating usage of GetLocations RPC method via TCP, suggesting the tool forwards to Revit RPC.send_tcp_data(json_rpc_request)
- xml_revit_mcp/prompts.py:33-33 (helper)Mentions usage of get_locations() in asset creation strategy prompt.- 使用get_locations()获取墙体的位置信息,以便正确放置门窗