python
复制代码
@app.route('/command/echo', methods=['GET', 'POST'])
def echo_command():
"""
在AutoCAD命令行显示文本信息
For GET requests:
Query Parameters:
message: 要显示在命令行的文本消息
For POST requests:
Request Body:
message: 要显示在命令行的文本消息
Returns:
JSON格式的操作结果
"""
try:
# 根据请求方法获取消息参数
if request.method == 'GET':
message = request.args.get('message', '')
else: # POST
data = request.get_json()
message = data.get('message', '') if data else ''
if not message:
return jsonify({
'status': 'error',
'message': 'Message parameter is required'
}), 400
# 初始化COM组件
pythoncom.CoInitialize()
acad = Autocad()
# 使用Utility.Prompt方法在命令行显示消息
acad.doc.Utility.Prompt(f"{message}\n")
return jsonify({
'status': 'success',
'message': f'Message "{message}" sent to command line'
})
except Exception as e:
return jsonify({
'status': 'error',
'message': str(e)
}), 500