MTS是大家经常用到的钢结构节点验算工具,但是小编对它却是又爱又恨,譬如说验算柱脚的时候:
看到这个荷载组合输入框,小编就懵逼了,你就看这YJK生成的百十号荷载组合吧:
一个节点每个工况都输入进去都要死翘翘了,更何况n多个节点?
幸好MTS给我们留了一个后门,就是荷载组合可以通过导入的方式输入,小编心生一计,用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万多个内力组合瞬间搞定。
这MTS里满满的荷载数据,瞬间感觉压力小了很多。通过这种方式,我们可以很轻松且很精确地验算每个荷载组合下节点内力是否满足要求。
当然这个代码里面没有包含抗震设计的内容,抗震相关的逻辑大家可以任意扩展。
画施工图也可以用代码解放生产力啊。。。
往期回顾