python
from mcp.server.fastmcp import FastMCP
import freecad.gears.commands
import os
from freecad import app
from freecad import part
mcp = FastMCP("Demo")
@mcp.tool()
def create_gear(num_teeth=20,height=10,double_helix= True):
"""
创建一个渐开线齿轮并导出为 STEP 文件。
参数:
num_teeth (int): 齿轮的齿数,默认值为 20。
height (float): 齿轮的高度(厚度),默认值为 10。
double_helix (bool): 是否启用双螺旋,默认值为 True。
返回:
savepath:生成的齿轮保存地址。
"""
app.newDocument()
gear = freecad.gears.commands.CreateInvoluteGear.create()
gear.num_teeth = num_teeth
gear.height = height
gear.double_helix = double_helix
app.ActiveDocument.recompute()
savepath = os.path.join(os.path.dirname(__file__), "gear.step")
part.export([gear], savepath)
return savepath
if __name__ == "__main__":
mcp.run()


