看到这个荷载组合输入框,小编就懵逼了,你就看这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人已收藏
0人已打赏
免费1人已点赞
分享
结构设计软件
返回版块41.5 万条内容 · 267 人订阅
回帖成功
经验值 +10
全部回复(0 )
只看楼主 我来说两句抢沙发