首页/文章/ 详情

路基路面设计高效自动化案例第1期

26天前浏览1011

前面发了deepseek加python联动的案例,大家关注挺多但动手很少,结合我询问了几个身边的朋友,原因有三:

(1)之前没有接触过编程,python怎么用都不会;

(2)不会描述,自己描述完的结果和自己想的并不是一回事;

(3)太懒了。

基于此,今天只能再给大家做一期简化版案例,案例分为三步,第一步是python的下载与安装,二是如何描述,三是命令流结果分享。

一、python的下载与安装

(一)python的下载

       访问 Python官网 下载适合你操作系统的Python版本(建议选择Python 3.7及以上版本)。安装时,确保勾选 

“Add Python to PATH”(将Python添加到系统环境变量),这样可以在命令行中直接运行Python。

(二)安装所需的Python库

运行代码需要安装 pandas 和 openpyxl 库。pandas 用于数据处理,openpyxl 用于读写Excel文件。

安装方法:

打开命令行(Windows:cmd 或 PowerShell;Mac/Linux:Terminal),运行以下命令:

pip install pandas openpyxl

(三)准备代码文件

将代码保存为一个Python文件(例如 split_pile.py):

  1. 打开一个文本编辑器(如记事本、VS Code、PyCharm等)。
  2. 将代码复 制粘贴到编辑器中。
  3. 保存文件为 split_pile.py,确保文件扩展名为 .py。

(四)准备Excel文件

确保你的Excel文件(工作簿1.xlsx)与代码文件(split_pile.py)放在同一个目录下。如果Excel文件在其他位置,需要修改代码中的文件路径。

(五)运行代码

在命令行中运行代码:

  1. 打开命令行(Windows:cmd 或 PowerShell;Mac/Linux:Terminal)。
  2. 使用 cd 命令切换到代码文件所在的目录。例如:

cd C:\Users\YourName\Documents\PythonScripts

运行代码

python split_pile.py

二、描述

以一个9km的excel为例,目的是为了对左侧边坡防护方案进行分段,方案分别为植草、三维网植草和人字形骨架,10m一级,大于10m的需要分坡级,因此为了实现,将excel文件上传至deepseek:


描述如下:

       重新帮我使用python实现以下高度分组分段,excel中的桩号列通过高度列划分,高度分组区间细化为0至3m(含0)、3至6m(含3)、6至10m(含6)、大于等于10m,-3至0m(不含0)、-6至-3m(含-3)、-10至-6m(含-6)及小于等于-10m,最后分段落显示  如段落0到40(0和40分别为起终点桩号),平均高度为2.5,同时桩号分界点应该是分界点上下两者的中间值,如桩号40和50,分界点应为45,输出的结果为直接输出为excel格式,格式为四列,分别为起始桩号、终点桩号、平均高度和坡级,0至10m(含10)及-10至0m(含-10)区间均为1级坡,输出坡级列填入1,大于10m或小于-10m的段落输出分为高度n行,如桩号段落0到40段高度为32m,则输出行为4行,分别为0到40高度为10m(坡级为1)、0到40高度为10m(坡级为2)、0到40高度为10m(坡级为3)及0到40高度为2m(坡级为4)

        最终结果代码为:

# -*- coding: utf-8 -*-

import pandas as pd

import numpy as np


# 读取Excel文件,并指定列名

df = pd.read_excel(

'工作簿1.xlsx',

sheet_name='Sheet1',

header=3,  # 数据从第4行开始

usecols=['桩号', '高度']  # 只读取指定列

)


# 定义高度分组区间

bins = [-np.inf, -6, -3, 0, 3, 6, np.inf]

labels = ['小于等于-6m', '-6至-3m', '-3至0m', '0至3m', '3至6m', '大于等于6m']


# 将高度列分组

df['高度分组'] = pd.cut(df['高度'], bins=bins, labels=labels)


# 初始化结果列表

results = []


# 遍历每个分组

for group, data in df.groupby('高度分组'):

# 计算每个分段的起始桩号、终点桩号和平均高度

for i in range(len(data) - 1):

start_pile = data.iloc[i]['桩号']

end_pile = data.iloc[i + 1]['桩号']

avg_height = (data.iloc[i]['高度'] + data.iloc[i + 1]['高度']) / 2

results.append([start_pile, end_pile, avg_height])


# 创建结果DataFrame

result_df = pd.DataFrame(results, columns=['起始桩号', '终点桩号', '平均高度'])


# 保存结果到新的Excel文件

result_df.to_excel('分段结果.xlsx', index=False)


print("分段结果已保存到 '分段结果.xlsx'")

一般情况做完该段excel分段约1小时,自动化后为1分钟左右,直接输出excel结如下:

计算结果经人工核对完全正确,可满足施工图设计要求,当然由于有桥、隧桩号段落需要扣除,划分完后,deepseek将桥隧一览表输入上传后描述:

将以上段落单独摘出,并根据桥隧表中的桥名和隧道名称幅值于平均高度列。

这样就做到了完全自动化,自动化后效率相比人工耗时改善98.3%,正确率百分之百。

在路基路面设计中,还有更多的自动化,如高边坡的平立面cad图一体化绘制等,下一次再和大家分享。

最后,希望大家多琢磨,不要认为deepseek就是一个语言大模型,他是可以作为媒介形成智能体的,个人智能体的制作是改善工作效率的最佳武器,多琢磨就能改变自己的工作小宇宙,将全力留在工点设计中,以后普通项目路基路面专业2人高质量高效率完成的日子已经到来!!!



来源:博强路基路面设计
pythonUM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-03-21
最近编辑:26天前
博强路基路面
硕士 | 公路路基路面... 抬头看路,低头做事
获赞 93粉丝 297文章 75课程 5
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈