作品来源:2026届智能建造专业本科毕业设计
设计人:林怡然、魏晴
指导老师:骆剑彬、张鹤、关振长
源码下载:https://github.com/Lin-0408-Yiran/structural-design-system
作品视频
作品介绍
1. 系统背景与意义
随着人工智能技术在工程领域的快速渗透,传统结构设计流程面临效率瓶颈与知识壁垒的双重挑战。工程师开展梁、框架、桁架等结构设计时,需在参数确认、有限元建模、规范校核、图纸绘制、报告撰写等环节耗费大量工时。OpenManus 结构设计系统依托大语言模型 + 多 Agent 协作框架,打通自然语言需求输入到工程成果交付全链路自动化设计,作为土木工程智能化辅助设计工具落地应用。
本系统聚焦土木工程结构设计痛点:设计流程繁琐、入行专业门槛高、设计成果交付周期长。使用者仅需使用工程自然语言描述设计需求,无需手动建模、套用固定模板,系统自动调度多专业 Agent 分步完成参数采集、有限元运算、方案优选、图纸出图、报告编制。
支持结构类型:简支梁、悬臂梁、连续梁、桁架、框架 5 类;
交互机制:依托 WebSocket 实时推送任务执行进度,关键节点弹窗确认参数、多方案择优对比,设计流程全程可视可控;
账号管控:搭载用户权限 + 使用配额管理体系,区分普通用户、管理员两类角色差异化管控。
2. 系统架构与技术选型
系统采用B/S 浏览器服务器架构,用户浏览器直接访问,无需安装客户端,整体划分为前端展示层、后端服务层、异步任务层、多 Agent 编排层四大层级。
2.1 前端技术栈
组件 |
版本 |
用途说明 |
Vue |
^3.x |
前端开发框架 |
Vben Admin |
5.7.0 |
后台管理脚手架(@vben/web-antd) |
Ant Design Vue |
^4.x |
页面 UI 组件库 |
Vite |
- |
前端项目构建工具 |
Pinia |
^2.x |
前端状态管理 |
vue-router |
^4.x |
前端路由管理 |
marked |
^17.0.5 |
Markdown 设计报告页面渲染 |
ECharts |
^6.0.0 |
评估雷达图、各类数据图表展示 |
2.2 后端技术栈
组件 |
版本 |
用途说明 |
Python |
3.12 |
后端服务、AI 引擎运行环境 |
FastAPI |
0.109.0 |
后端 Web 接口框架,提供 RESTful 接口 |
SQLAlchemy |
2.0.25 |
ORM 框架,对接 PostgreSQL 数据库 |
Celery |
5.3.6 |
异步任务调度队列 |
Redis |
5.0.1 |
消息中间件 Broker、消息发布订阅 |
PostgreSQL |
≥14.x |
系统主生产数据库 |
OpenSeesPy |
- |
结构有限元建模与力学计算引擎 |
ezdxf |
1.1.3 |
生成 DXF 格式 CAD 工程图纸 |
2.3 核心多 Agent 编排层
为系统核心模块,基于 OpenManus 框架的 PlanningFlow 编排器统筹调度 5 类专业 Agent,Agent 间采用标准化 JSON 格式交互数据,各 Agent 可通过 WebAskHuman 工具在运行中向用户发起交互确认。
3. 系统功能模块设计
系统由五大核心业务处理模块 + 三大支撑管理模块组成,全覆盖需求录入至成果下载全设计流程。

图3-1系统功能模块图
3.1 五大核心处理模块
3.1.1 结构参数收集与方案生成模块(StructuralDesignAgent)
解析用户自然语言输入,自动提取结构形式、几何尺寸、材料参数、荷载工况等关键数据;参数缺失、信息模糊时通过 AskHuman 弹窗和用户确认;参数完善后调用大模型生成标准化 JSON 格式初步设计方案(DesignProposal),向下游模块流转。
3.1.2 有限元分析模块(FEAnalysisAgent)
接收设计方案,依托工厂模式 AnalyzerFactory 匹配对应结构分析器,调用 OpenSeesPy 完成自动化建模、力学求解;输出位移、应力、弯矩、剪力等力学指标,同步完成规范合规校核,生成结构受力可视化图表;覆盖简支梁 / 悬臂梁 / 连续梁 / 框架 / 桁架全品类结构计算。
3.1.3 设计评估模块(EvaluationAgent)
从安全性、经济性、结构效率、可持续性四大维度量化打分(0-100 分),分级:A+-D;系统批量生成多套优化方案,卡片化展示各项指标,全部方案生成后由用户选定最终实施方案。
安全性:安全系数、挠度富余值;
经济性:材料消耗量、造价成本;
结构效率:材料应力利用率、结构冗余系数;
可持续性:工程碳排放、建材可回收性能。
3.1.4 CAD 图纸自动生成模块(CADDrawingAgent)
依据定稿方案与有限元计算数据,基于 ezdxf 自动生成带尺寸、荷载、支座标注的 DXF 施工图,同步输出 PNG 预览图,支持在线预览、CAD 本地下载。
3.1.5 设计报告生成模块(ReportGenerationAgent)
汇总全流程数据,自动生成 Markdown 格式设计报告,内容包含项目概况、设计规范依据、计算摘要、有限元结果、方案评估、规范验算、优化建议;前端在线渲染预览,支持.md 文件下载。
3.2 三大支撑模块
3.2.1 用户权限与配额管理模块
采用 RBAC 角色权限控制,分普通用户(user)、管理员(admin);用户、角色、权限通过中间关联表实现多对多绑定;单次任务消耗 1 单位使用配额,配额消耗记录存入 QuotaUsageHistory,管理员后台可查询、重置用户配额。
3.2.2 API Key 安全管理模块
用户 API Key 采用 Fernet 对称加密存入数据库,全链路无明文存储传输;用户在个人中心配置 / 更新密钥,保存后输入框自动清空。
3.2.3 实时通信模块
Celery 任务状态经由 Redis 发布订阅推送,FastAPI 通过 WebSocket 转发至前端页面;全流程实时刷新任务进度,断线重连后读取数据库快照,恢复已完成阶段数据。
4. 系统数据库设计
数据库选用 PostgreSQL,通过 SQLAlchemy 2.0 ORM 管理数据表,核心数据表分类如下:
图4 -1数据库ER图
4.1 用户权限类数据表
数据表名称 |
核心存储内容 |
users 用户表 |
存储系统用户基础信息,包含账号、邮箱、加密密码、加密APIKey、用户剩余配额等核心数据 |
roles 角色表 |
定义系统角色类型,预置普通用户、管理员两类角色,存储角色标识与角色描述信息 |
permissions 权限表 |
收录系统所有操作权限,包含任务新建、查看、下载、用户管理、配额管理等权限数据 |
user_roles 用户角色关联表 |
实现用户与角色的多对多绑定,为不同用户分配对应的系统角色 |
role_permissions 角色权限关联表 |
实现角色与权限的多对多绑定,为各类角色配置对应的操作权限 |
audit_logs 审计日志表 |
全程记录系统操作行为,包含操作IP、操作账号、操作行为、访问资源、操作时间等审计数据 |
4.2 任务管理类数据表
数据表名称 |
核心存储内容 |
tasks 任务主表 |
归属用户、任务状态(pending/running/completed/failed)、Celery任务ID、原始需求、结构类型、创建/完成时间、全流程快照result_json |
task_files 任务附件表 |
存储各任务产出文件路径、文件格式、文件大小等附件相关信息 |
5.1 系统登录与注册
在浏览器中打开 http://8.155.172.84:8080,进入系统登录页面(如图 5-1)。首次使用的用户请点击 “注册” 按钮,填写用户名、邮箱和密码后完成账号创建(如图 5-2)。系统管理员账号需由超级管理员在后台配置中单独创建。注册完成后,在登录界面输入用户名和密码即可进入系统主界面。

图5-1 系统登录页面

图5-2 用户注册页面
5.2 API Key配置
系统的 AI 分析功能依赖大语言模型(LLM)服务,用户登录后需先配置个人API Key才能使用设计功能。
点击页面右上角的用户头像,进入“个人中心 → API Key 设置”,在输入框中填入API Key(格式如sk-...),点击“保存”即可(如图5-3)。系统使用AES加密存储,数据库中不保存明文。
输入框默认以密码形式隐藏内容,点击“显示”按钮可切换为明文查看。保存成功后输入框将自动清空。

图5-3 API Key配置页面
5.3 系统首页
登录成功后,系统默认进入结构设计任务列表页(如图5-4)。左侧导航栏包含“结构设计”和“关于系统”两个主菜单,“系统管理”菜单仅管理员可见,顶部导航栏提供用户信息、个人设置等入口。

图5-4 结构设计任务列表页
5.4结构设计
结构设计模块是本系统的核心功能模块,位于左侧导航栏 “结构设计”菜单下,包含“我的设计”和“新建任务”两个页面。
5.4.1 新建设计任务
点击导航栏“结构设计 → 新建任务”,进入任务创建页面(如图 5-5)。
若尚未配置 API Key,页面顶部将显示警告提示,用户进入个人中心完成配置后方可提交。
在页面的文本输入区域,用自然语言描述结构设计需求。系统对输入格式无严格限制,用户可按工程习惯自由描述,例如:
Plain Text "请为一个跨度12米的简支梁进行结构设计,荷载为均布荷载30kN/m, 使用C30混凝土,截面宽度400mm。" "设计一个5层3跨的钢框架结构,层高3.5米,跨度6米,考虑地震荷载, 设防烈度7度。" "为悬臂长度8米的雨棚设计悬臂梁,活荷载2kN/m²,使用Q345钢。" |
填写完成后,点击“提交设计”按钮,系统将自动跳转至任务详情页并开始执行分析流程。

图5-5 任务创建页面
5.4.2 实时进度跟踪
任务提交后,页面自动跳转至任务详情页,顶部步骤导航栏显示五个阶段的执行状态(如图 5-6)。系统通过 WebSocket 连接实时推送各阶段执行状态,共包含五个分析阶段:

图5-6 进度跟踪视图
第一阶段:参数收集与方案生成
解析用户的设计需求,提取结构类型、几何参数、材料参数、荷载条件等关键设计参数,并生成初步设计方案。
第二阶段:有限元分析
调用OpenSeesPy对设计方案进行有限元建模与计算,输出应力分布、位移变形、安全系数等分析结果,并生成结构响应可视化图表。
第三阶段:设计评估
从安全性、经济性、结构效率、可持续性四个维度对设计方案进行量化评分,给出综合得分与等级(A+至D)。
第四阶段:CAD 图纸生成
根据设计方案与分析结果,自动生成包含尺寸标注、荷载标注、支座标注的DXF格式工程图纸,并输出PNG格式预览图。
第五阶段:设计报告生成
汇总各阶段成果,自动生成完整的Markdown格式设计报告,内容涵盖设计参数总结、有限元分析结果、评估报告、规范校核及优化建议。
页面进度条将实时更新当前阶段状态(如图 5-7),每个阶段完成后将显示阶段摘要信息。

图5-7 设计阶段状态展示页面(有限元阶段)
5.4.3 人机交互问答
在任务执行过程中,系统可能需要向用户确认某些设计参数或请求补充信息(如图 5-8)。当出现交互问题时,页面将弹出问答窗口,展示系统的提问内容,用户在输入框中填写答复后点击“确认提交”,任务将继续执行。

图5-8 人机交互问答页面
常见的人机交互场景包括:
在任务执行过程中,以下阶段可能触发人机交互(如图5-7):
①方案生成阶段:Agent提取参数后,询问用户确认设计参数是否正确,或选择修改方向。提供选项供用户单选,也可选择“其他”后自由输入。
②设计评估阶段:系统并行生成多个优化方案,以卡片形式实时推送展示各方案指标,全部方案就绪后询问用户选择目标方案,同时展示综合得分、等级及LLM改进建议供参考。
③报告生成阶段(可选):若系统配置了Speckle或IFC导出,此阶段会询问“是否导出 BIM 模型(Speckle + IFC)?”,用户选择“是”后执行导出,选择“否”则跳过。
交互问题出现时,左侧面板显示提问内容,用户作答后点击“确认提交”或“确认选择”,任务继续执行。
5.4.4 查看设计结果
任务完成后,下方会展示设计结果。
设计报告如图5-9,以渲染后的Markdown格式展示完整设计报告,内容包括项目概况、设计依据、计算过程摘要、结果汇总及优化建议。

图5-9 设计报告页面
CAD图纸如图5-10,内嵌DXF图纸查看器,支持在线预览自动生成的工程图纸,包含平面图、立面图、截面图、详图等子标签页。图纸含尺寸标注、荷载示意、支座符号等标准制图内容,支持鼠标滚轮缩放与拖拽平移。

图5-10 CAD图纸展示页面
可视化图纸如图5-11,以图片或交互式图表形式展示有限元分析的可视化结果,包括位移云图、弯矩云图、应力云图、弯矩图、层间位移角等。

图5-11 可视化图纸展示页面
设计评估结果如图5-12,以雷达图和得分卡形式呈现四维度评估结果,包括综合得分(0-100分)与等级(A+/A/B+/B/C+/C/D),以及安全性、经济性、结构效率、可持续性各维度的详细评分与改进建议。

图5-12 设计评估展示图纸
BIM模型如图5-13,若已启用Speckle BIM导出,此标签页提供跳转按钮,可在新窗口中查看在线3D结构模型。

图5-13 3D模型展示页面
下载文件如图5-14,以列表形式展示所有可下载的输出文件,包括设计报告(Markdown)、各视图图纸(DXF)、可视化图表及 BIM 模型(IFC)。支持逐项下载,也可点击“打包下载全部(ZIP)”一次性获取所有文件。

图5-14下载文件页面
原始数据如图5-15,以JSON格式展示任务的完整原始结果数据,供开发调试或二次处理使用。

图5-15 原始数据展示页面
5.4.5 下载输出文件
在任务详情页右侧的“输出文件”区域(如图 5-16),可下载以下格式的设计成果文件:
①DXF文件:AutoCAD格式工程图纸,可用AutoCAD软件打开编辑。
②PNG文件:图纸与分析结果图的预览图片。
③Markdown文件:完整设计报告,可用文本编辑器或Markdown阅读器打开。
④IFC文件(如已启用):BIM格式模型文件,可导入 Revit软件。
点击对应文件右侧的“下载”按钮即可将文件保存至本地。

图 5-16 下载输出文件页面
5.5任务管理
点击导航栏“结构设计 → 任务列表”进入任务管理页面(如图 5-17)。
任务列表以表格形式展示用户所有设计任务,包含以下信息列:
①序号
②结构类型(简支梁 / 悬臂梁 / 连续梁 / 框架 / 桁架)
③任务状态( 进行中 / 已完成 / 失败)
④创建时间
点击任务行中的“查看”按钮可跳转至该任务的详情页。
如需删除任务记录,点击操作列的“删除”按钮,系统将提示确认后执行删除操作,同时清理对应的输出文件。

图5-17 任务详情页面
5.6系统管理
系统管理功能仅管理员账号可见,位于导航栏“系统管理”菜单下,包含用户管理、角色管理两个子页面。
5.6.1 用户管理
用户管理页面以表格形式列出系统内所有已注册用户,展示用户名、邮箱及当前角色信息,角色以标签形式标注(管理员显示红色,普通用户显示蓝色)。
管理员可执行以下操作:
①查看用户列表:页面加载后自动显示所有用户信息。

图5-18用户管理页面
②分配角色:点击操作列的“分配角色”按钮,在弹窗中选择目标角色后确认,权限立即生效。

图5-19 管理员角色分配页面
5.6.2 角色管理
角色管理页面以表格形式展示系统内所有角色及其描述,角色以标签形式标注。系统默认包含两种角色:
①普通用户(user):可创建设计任务、查看个人任务、下载输出文件,受配额限制。
②管理员(admin):在普通用户权限基础上,额外拥有用户管理等后台管理权限。
6. 系统作品亮点
1.全链路 AI 自动化设计:LLM 驱动全流程,自然语言一键生成有限元计算数据、施工图纸、成套设计报告,压缩设计周期、降低专业使用门槛;
2.多 Agent 模块化协同架构:OpenManus 框架 + PlanningFlow 编排器串联 5 类专用 Agent,标准化 JSON 数据互通,模块解耦、易于迭代扩展;
3.AI + 专业有限元深度融合:内嵌 OpenSeesPy 专业力学计算内核,工厂模式适配多结构类型,数值计算结果反向支撑方案评估与图纸报告生成;
4.交互式非黑盒设计:关键节点人机交互确认参数、优选方案,全过程透明可控;
5.断点续算与实时推送:Redis+WebSocket 实时推送进度,全阶段数据落库快照,刷新 / 重进页面无缝接续任务;
6.完善安全管控体系:RBAC 分级权限、Fernet 密钥加密存储、配额管控 + 操作审计日志,兼顾 AI 开放能力与系统资源、数据安全。