首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

盈建科软件结果提取程序(一)

上一期结构专业专题中,笔者与大家分享了一款计算长度系数的SAP2000 API插件,原本以为内容比较小众,却得到了超出预期的支持与鼓励,在此首先对各位朋友的支持表示感谢。由于笔者并非该公众号管理员,无法随时查看留言,留言超过48小时便不能回复,个别稍晚索取下载密码而未获回复的朋友,请再次通过后台向我索取,在此表示歉意。

在与各位朋友在后台交流的过程中,笔者发现,还是有不少人对于计算长度系数的基本概念和计算流程还不太熟悉,甚至只是期望得到一个傻瓜式一键出结果的程序,对此笔者表示抱歉,这个真的做不到啊…这个插件只是一个提高计算效率的工具,如何获得正确的结果依然有赖于对于结构稳定的理解。建议没有接触过此类计算的朋友,首先进行一些基础性的阅读,例如陈绍蕃老师的《钢结构稳定设计指南》以及SAP2000的屈曲分析使用说明,并手算走一遍欧拉公式的计算流程,心中有底后再使用此插件。

回到正题,YJK是一款我们常用的结构设计软件,但是我们知道,其计算结果是以.out的文本格式输出的,当我们需要提取数据绘制图表时,楼层数一多就会比较痛苦。为此,笔者使用VBA语言(即EXCEL的宏)编写了一些提取YJK结果文件的程序,此次分享的是提取层间位移角层侧向刚度比弹性时程分析层间位移角的程序。要提取文本文件中的数据,C语言、Matlab等都可以做到,之所以选择VBA是因为数据可以直接提取到EXCEL中,方便我们的工程师进行进一步处理。

程序的界面如下:

使用方法写在了第一个sheet中,使用前请仔细阅读。大致上是将相应的结果文件,例如mainjss.out和wdyna.out,放在与该程序相同的文件夹即可一键读取出所有工况的计算结果。既可以提取分数便于查看,也可以提取成小数便于绘图。

在VBA中,读取txt中的数据也有不同的方法,该程序读取的数据分散在有规律的段落中,数据有固定的起止位置,这里采用了正则表达式的方法。希望读懂代码的朋友可自行搜索“VB正则表达式”,会有很多教程。

该程序读取数据时,需要一些固定的字符来定位数据读取的范围,而这些定位字符的内容可能随工程特点或软件版本不同而改变,这就需要使用者根据实际情况自行修改代码。例如本程序读取层侧向刚度比时,末端的定位字符为:“转换层下部与上部结构的等效侧向刚度比”,读到此字符则代表对于Ratx的读取结束,但在其他项目或YJK版本中,这个定位字符就可能是“地下室楼层侧向刚度比验算(剪切刚度)”、“结构整体抗倾覆验算”或者其他,此时应进入源代码的相应模块,修改这个定位字符才能使用,如下图所示。注意应将字符前面的空格也放进""之中。对于其他模块同理。

今后还将在我们的公众号IADI3上继续分享盈建科软件结果提取程序(二)、(三)…都是根据设计工作中的痛点编制,而且根据数据特点采用了不同的提取方法,掌握了这几种方法,就能应对大部分的数据提取需求。我们不但授人以鱼,更授人以渔,有兴趣的朋友可根据代码自行学习钻研,笔者水平有限,如果有更好的程序写法,也请不吝赐教。把大家宝贵的时间从机械劳动中解放出来,是我们的初衷,祝大家使用愉快。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180313G1MZV200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券