这是一个用于绘制结构力学图表的程序,可以根据用户输入的参数自动计算并绘制梁结构的内力图(弯矩图、剪力图和轴力图)。
- 简支梁:两端铰接支撑的梁
- 悬挑梁:一端固定,另一端自由的梁
- 连续梁:多跨连续的结构梁
- 设置节点约束类型(铰接、刚接)
- 设置节点荷载(集中力、集中力矩)
- 设置荷载位置
- 设置梁的长度和跨数
- 自动计算并绘制内力图
- 弯矩图(M图):显示梁各截面的弯矩值
- 剪力图(V图):显示梁各截面的剪力值
- 轴力图(N图):显示梁各截面的轴力值
- Python 3.7 或更高版本
- 安装依赖包:
pip install -r requirements.txt- 运行程序:
方式1:GUI界面(推荐)
python gui_main.py方式2:命令行界面
python main.py-
启动GUI程序:
python gui_main.py
-
创建梁结构:
- 选择梁类型(简支梁、悬挑梁、连续梁)
- 输入梁的长度(米)
- 输入跨数(连续梁使用)
- 点击"创建梁"按钮
-
设置支撑(可选):
- 输入支撑位置(米)
- 选择支撑类型(铰接或固定)
- 点击"添加支撑"按钮
- 可以在支撑列表中删除不需要的支撑
-
添加荷载:
- 选择荷载类型(集中力或集中力矩)
- 输入荷载大小(kN 或 kN·m)
- 输入荷载位置(米)
- 点击"添加荷载"按钮
- 可以添加多个荷载
-
计算并绘制:
- 点击"计算并绘制"按钮
- 程序将自动计算并显示弯矩图、剪力图和轴力图
- 查看支座反力结果
-
语言切换:
- 在界面顶部选择语言(中文/英文)
- 界面和图表标签将自动切换
- 启动程序后,选择梁的类型(简支梁、悬挑梁、连续梁)
- 输入梁的基本参数:
- 梁的长度(米)
- 跨数(对于连续梁)
- 设置节点约束:
- 选择每个节点的约束类型(铰接或刚接)
- 添加荷载:
- 选择荷载类型(集中力、集中力矩)
- 输入荷载大小(kN 或 kN·m)
- 设置荷载位置(距离左端的距离,米)
- 程序将自动计算并显示内力图
- 简支梁:两端铰接,中间可设置荷载
- 悬挑梁:左端固定,右端自由,可设置荷载
- 连续梁:多跨连续,每跨可独立设置约束和荷载
- 铰接:允许转动,限制平动
- 刚接:限制转动和平动(固定端)
- 集中力(F):单位:kN,向下为正
- 集中力矩(M):单位:kN·m,顺时针为正
- 核心库:使用
anaStruct库进行2D结构分析 anaStruct是一个专业的结构分析库,使用有限元方法进行结构计算- 支持静力分析、内力计算和可视化
内力图生成器/
├── gui_main.py # GUI主程序(推荐使用)
├── main.py # 命令行主程序
├── beam_anastruct.py # 基于anaStruct的计算和绘图模块
├── beam_calculator.py # 原始计算模块(保留兼容)
├── beam_plotter.py # 原始绘图模块(保留兼容)
├── example.py # 快速示例脚本
├── requirements.txt # 依赖包列表
└── README.md # 项目说明文档
- 图形化操作:直观的界面,无需编程
- 实时预览:添加支撑和荷载后立即显示
- 多语言支持:支持中文和英文界面切换
- 图表显示:自动绘制弯矩图、剪力图、轴力图
- 结果查看:显示支座反力等计算结果
- 无网格显示:图表清晰,无网格干扰
运行GUI程序:
python gui_main.py然后按照界面提示:
- 选择梁类型(简支梁/悬挑梁/连续梁)
- 输入梁的长度和跨数
- 点击"创建梁"
- 添加支撑和荷载
- 点击"计算并绘制"查看结果
from beam_anastruct import BeamAnastruct
import matplotlib.pyplot as plt
# 创建分析器(支持中英文)
analyzer = BeamAnastruct(language='zh') # 或 'en' 英文
# 创建简支梁,长度6米
analyzer.create_beam('simply_supported', length=6.0)
# 添加荷载:中间位置受10kN向下集中力
analyzer.add_load('force', 10.0, 3.0)
# 求解
analyzer.solve()
# 绘制所有内力图(无网格)
fig, axes = analyzer.plot_all()
plt.show()
# 或单独绘制
analyzer.plot_moment()
plt.show()python main.py然后按照提示输入参数。
python example.py这将运行预设的示例,展示不同梁类型和荷载情况下的内力图。
- 目前版本仅支持平面梁结构,不支持空间结构
- 荷载方向约定:向下为正,向上为负
- 弯矩方向约定:下侧受拉为正
- 计算结果仅供参考,实际工程应用请咨询专业结构工程师
- 支持分布荷载(均布荷载、三角形荷载等)
- 支持更多梁类型(框架梁、组合梁等)
- 添加材料属性设置(弹性模量、截面特性)
- 支持导出计算结果和图表
- 添加交互式图形界面(GUI)
- 支持保存和加载结构模型
- 简单易用:采用命令行交互界面,用户无需编程即可使用
- 功能完整:支持常见的梁类型和荷载类型
- 可视化清晰:自动标注关键值,图形美观易读
- 代码结构清晰:采用模块化设计,易于扩展和维护
- 连续梁计算简化:当前版本的连续梁计算使用了简化方法,对于复杂连续梁可能不够精确
- 仅支持集中荷载:暂不支持分布荷载(均布荷载、三角形荷载等)
- 无材料属性:未考虑材料的弹性模量和截面特性,无法计算变形
- 无交互式GUI:当前为命令行界面,用户体验可以进一步优化
-
算法优化:
- 实现完整的矩阵位移法用于连续梁计算
- 添加力法求解超静定结构
- 支持更复杂的边界条件
-
功能扩展:
- 添加分布荷载支持
- 实现变形计算和绘制
- 添加截面设计功能
-
用户体验:
- 开发图形化界面(GUI)
- 支持拖拽式建模
- 添加结果导出功能(Excel、PDF等)
-
工程应用:
- 添加材料库和截面库
- 实现规范校核功能
- 支持组合荷载工况
- 重大更新:集成anaStruct库进行结构分析
- 新增GUI界面:图形化操作界面,支持拖拽式操作
- 多语言支持:界面和图表支持中英文切换
- 优化绘图:移除网格,图表更清晰
- 使用专业的有限元方法进行结构计算
- 改进支座反力计算和显示
- 初始版本发布
- 支持简支梁、悬挑梁、连续梁的基本计算
- 支持集中力和集中力矩荷载
- 实现弯矩图、剪力图、轴力图的绘制
- 提供交互式命令行界面和编程接口
- 自动标注关键值和梁的示意图