土木在线论坛 \ 建筑结构 \ 结构设计软件 \ 用python帮助你批量验算钢结构柱脚

用python帮助你批量验算钢结构柱脚

发布于:2021-01-27 09:18:27 来自:建筑结构/结构设计软件 [复制转发]
MTS 是大家经常用到的钢结构节点验算工具,但是小编对它却是又爱又恨,譬如说验算柱脚的时候:




看到这个荷载组合输入框,小编就懵逼了,你就看这Y JK 生成的百十号荷载组合吧:



一个节点每个工况都输入进去都要死翘翘了,更何况n多个节点?


幸好M TS 给我们留了一个后门,就是荷载组合可以通过导入的方式输入,小编心生一计,用python来操作一波:




其实用python来操作它很简单,就是先保存yjk的构件计算结果信息。




然后通过python读取yjk的构件计算结果文件,截取构件的相关计算内容,按顺序写入txt文档就ok了,也没啥特别高深的技术含量,稍微懂点pyton的朋友应该都会这波操作,咱们就直接上代码:





import re#当前需要生成的计算结果文件fileList=["J1","J2","J3","J4","J5"]#fileList=["J1"]#生成目标文件resutlPath=r'Resut.txt'resultFile=open(resutlPath,"w")#遍历工作文件夹下的计算结果文件for fileItem in fileList:    filePath=r'%s.out' %fileItem    #打开计算结果文件    file=open(filePath,"r")    fileContent=file.readlines()    writeTag=False    startLineID=0    #读取计算结果文件    for lineID, lineItem in  enumerate(fileContent):        #定位荷载组合        if lineItem.find("五、各组合设计内力")>=0:            writeTag=True            startLineID=lineID        if lineItem.find("六、各组合分项系数")>=0:            writeTag=False        if writeTag and lineID>=startLineID+3:            #print("ss")            #通过正则提取组合内力            lineList=re.findall(r"-?\d+\.?\d*", lineItem)            #将内力写入txt文档            if len(lineList)>5:                resultFile.write(lineList[0]+" "+lineList[6]+" "+lineList[4]+                                 " "+lineList[5]+" "+lineList[2]+" "+lineList[3]+"\n")            #print(lineList)    file.close()resultFile.close()




就通过以上很简单的二三十行代码,通过python就将五个构件的反力计算结果生成为了 MTS 可导入的文件:



就这样按照mts的内力输入顺序,2万多个内力组合瞬间搞定。



这M TS 里满满的荷载数据,瞬间感觉压力小了很多。通过这种方式,我们可以很轻松且很精确地验算每个荷载组合下节点内力是否满足要求。


当然这个代码里面没有包含抗震设计的内容,抗震相关的逻辑大家可以任意扩展。

画施工图也可以用代码解放生产力啊。。。


全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

结构设计软件

返回版块

41.5 万条内容 · 234 人订阅

猜你喜欢

阅读下一篇

perform-3d建模

关于perform-3d建模,为什么自己建的模型在滞回曲线哪里是条直线?请大神们解答一下!

回帖成功

经验值 +10