一种关联CAD和SAP2000的管桁架自动化建模分析方法与流程

专利检索2025-04-14  8


本发明属于建筑结构,具体涉及一种关联cad和sap2000的管桁架自动化建模分析方法。


背景技术:

1、随着5g、ai、大数据等技术与建筑行业的深度融合发展,建筑业新一轮科技革命和产业变革正深入推进。勘察设计行业的数字化转型发展已经成为大势所趋。信息化是数字化、智能化发展的基础。然而,在结构设计校核过程中,常面临图纸信息向结构信息的传递,以及由结构信息计算获取力学响应信息的问题。传统方法通过人工翻模,再导入其他结构分析软件中实现,耗时费力的同时,与数字化、智能化的设计发展方向背道而驰。参数化、自动化等设计手段的运用,使得工程设计人员可从多个维度、多个层次实现结构模型的重构、计算、优化,进而提升工作效率。

2、针对结构设计而言,信息化、数字化的核心在于结构信息的参数化传递以及自动化计算。结构信息的参数化传递包含非结构化数据向结构化数据的传递以及不同结构化数据之间的传递。结构信息的自动化计算包含各类型有限元分析软件的自动化调用以及既有分析软件的轻量化嵌入。

3、然而,既有技术方法虽然在基于二维图纸自动化生成结构模型方面已有了一定基础,但在自动化计算方面却存在较大滞后,从而导致整个建模分析流程受阻。其原因主要如下:

4、(1)既有的自动化建模方法以几何模型构建为主,容易忽略材料属性、截面类型、荷载及边界条件等物理信息的传递与输入,从而导致模型信息不充足而无法进行结构计算;

5、(2)既有方法在模型构建完毕后,需要将几何模型导入至其他结构分析软件中,进而设置模型计算所需的参数,完成求解计算。因此,该方面并没有建立二维图纸信息到结构计算响应的直接联系。


技术实现思路

1、为了弥补现有技术的不足,本发明提供一种关联cad和sap2000的管桁架自动化建模分析方法,借助rhinograsshopper和python平台,构建起二维图纸信息与结构计算响应之间的桥梁,无损传递模型信息,实现模型的自动化建立与计算。

2、为了实现上述目的,本发明所采用的技术方案为:

3、一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:包括如下步骤:

4、步骤一:对二维管桁架平面的cad图纸进行整理,得到整理后的管桁架平面图纸;

5、步骤二:将所述整理后的管桁架平面图纸载入rhino软件中,在rhinograsshopper环境下,应用guid电池框选图纸中所有杆件图层文字;应用panel电池设置截面信息读取格式;应用curve电池框选图纸中所有杆件图层线;应用point电池点选图纸中作为约束支座的图层线交点;应用point电池点选图纸中施加集中荷载的图层线交点;应用number slider电池设置恒荷载数值;应用numberslider电池设置活荷载数值;应用numberslider电池设置恒荷载组合值系数;应用numberslider电池设置活荷载组合值系数;应用panel电池设置sap2000程序调用路径;应用panel电池设置sap2000模型保存路径;应用panel电池设置sap2000模型名称;应用panel电池设置钢材材料类型;应用booleantoggle电池设置程序启动布尔开关;

6、步骤三:在rhino grasshopper环境下,编译开发cad向sap2000自动化建模分析电池组;

7、步骤四:打开sap2000结构计算软件,在grasshopper环境下,单击步骤二中的boolean toggle电池,程序调用sap2000,完成模型的建立与计算;

8、步骤五:在grasshopper环境下,应用panel电池连接步骤三中编译开发的cad向sap2000自动化建模分析电池组的输出端,显示恒载、活载、荷载组合下的结构位移最大值及其对应的节点编号。

9、进一步,所述步骤一中,整理后的管桁架平面图纸保留表征构件所须的图层线条及截面尺寸标注。

10、进一步,所述cad向sap2000自动化建模分析电池组,其输入参数包括:截面信息,与上述步骤二中所有杆件图层文字的guid电池相连;截面命名方式,与上述步骤二中截面信息读取格式的panel电池相连;杆件曲线,与上述步骤二中所有杆件图层线的curve电池相连;约束节点,与上述步骤二中作为约束支座的图层线交点的point电池相连;施加荷载节点,与上述步骤二中施加集中荷载的图层线交点的point电池相连;恒荷载,与上述步骤二中恒荷载数值的number slider电池相连;活荷载,与上述步骤二中活荷载数值的numberslider电池相连;恒荷载系数,与上述步骤二中恒荷载系数的numberslider电池相连;活荷载系数,与上述步骤二中活荷载系数的numberslider电池相连;sap2000程序路径,与上述步骤二中sap2000程序调用路径的panel电池相连;文件保存路径,与上述步骤二中sap2000模型保存路径的panel电池相连;模型名称,与上述步骤二中sap2000模型名称的panel电池相连;钢材属性,与上述步骤二中钢材材料类型的panel电池相连;启动按钮,与上述步骤二中程序启动布尔开关的boolean toggle电池相连。

11、进一步,所述步骤三中,cad向sap2000自动化建模分析的步骤具体包括:

12、步骤3.1:应用c# script电池提取截面信息输入参数的参数文本和参数平面;应用ghpythonscript电池和cleartree电池将参数文本转化为截面名称列表;应用ghpythonscript电池、construct point电池、clear tree电池提取参数平面中心点坐标,并转化为截面名称文本所在平面中心点列表;

13、步骤3.2:应用curve nearest object电池,按照杆件曲线输入变量中曲线列表的顺序,从上述步骤1中截面名称文本所在平面中心点列表中,依次确定距离每一条曲线最近的截面文本所在平面中心点;依据截面命名方式输入参数,利用ghpython script电池提取获得所有杆件直径列表和所有杆件壁厚列表,并形成所有杆件直径列表的data电池和所有杆件壁厚列表data电池;

14、步骤3.3:应用rotate 3d电池和unity电池,将杆件曲线输入变量中的所有杆件曲线从xy平面转化为yz平面,得到旋转后所有杆件曲线列表;应用endpoints电池和deconstruct电池,提取旋转后所有杆件曲线列表中曲线起点、终点坐标,并形成所有杆件起点x坐标列表的data电池、所有杆件起点y坐标列表的data电池、所有杆件起点z坐标列表的data电池、所有杆件终点x坐标列表的data电池、所有杆件终点y坐标列表的data电池、所有杆件终点z坐标列表的data电池;

15、步骤3.4:应用rotate 3d电池和unity电池,将约束节点输入变量中的所有点从xy平面转化为yz平面,得到旋转后所有约束节点列表;应用deconstruct电池提取旋转后所有约束节点列表中所有约束节点的x坐标的data电池、所有约束节点的y坐标的data电池、所有约束节点的z坐标的data电池;

16、步骤3.5:应用rotate 3d电池和unity电池,将施加荷载节点输入变量中的所有点从xy平面转化为yz平面,得到旋转后所有施加荷载节点列表;应用deconstruct电池提取旋转后所有施加荷载节点列表中所有施加荷载节点的x坐标的data电池、所有施加荷载节点的y坐标的data电池、所有施加荷载节点的z坐标的data电池;

17、步骤3.6:应用gh_cpython电池,通过python语言调用sap2000 api建模计算,完成结构分析,得到调用sap2000 api建模计算的gh_cpython电池。

18、进一步,所述步骤3.6中,所得到的调用sap2000 api建模计算的gh_cpython电池,其输入参数具体包括如下:

19、1)diam,与上述步骤3.2中所有杆件直径列表的data电池相连;

20、2)thin,与上述步骤3.2中所有杆件壁厚列表的data电池相连;

21、3)node_x_s,与上述步骤3.3中所有杆件起点x坐标列表的data电池相连;

22、4)node_y_s,与上述步骤3.3中所有杆件起点y坐标列表的data电池相连;

23、5)node_z_s,与上述步骤3.3中所有杆件起点z坐标列表的data电池相连;

24、6)node_x_e,与上述步骤3.3中所有杆件终点x坐标列表的data电池相连;

25、7)node_y_e,与上述步骤3.3中所有杆件终点y坐标列表的data电池相连;

26、8)node_z_e,与上述步骤3.3中所有杆件终点z坐标列表的data电池相连;

27、9)node_res_x,与上述步骤3.4中所有约束节点x坐标的data电池相连;

28、10)node_res_y,与上述步骤3.4中所有约束节点y坐标的data电池相连;

29、11)node_res_z,与上述步骤3.4中所有约束节点z坐标的data电池相连;

30、12)node_load_x,与上述步骤3.5中所有施加荷载节点x坐标的data电池相连;

31、13)node_load_y,与上述步骤3.5中所有施加荷载节点y坐标的data电池相连;

32、14)node_load_z,与上述步骤3.5中所有施加荷载节点z坐标的data电池相连;

33、15)load_dead,与恒荷载输入参数相连;

34、16)load_live,与活荷载输入参数相连;

35、17)dead_comindex,与恒荷载系数输入参数相连;

36、18)live_comindex,与活荷载系数输入参数相连;

37、19)sap_path,与sap2000程序路径输入参数相连;

38、20)file_path,与文件保存路径输入参数相连;

39、21)model_name,与模型名称输入参数相连;

40、22)model_mat,与钢材属性输入参数相连;

41、23)run,与启动按钮输入参数相连。

42、进一步,所述步骤3.6中,调用sap2000 api建模计算的步骤如下:

43、步骤3.6.1:在gh_cpython电池环境下,调用sys、comtypes.client、in32com.client、os外部库;

44、步骤3.6.2:应用os.path.exists判断文件保存路径file_path是否存在,若存在,跳过,若不存在,则以file_path创建新路径;应用attachtoinstance连接到当前运行的sap2000程序,若存在正在运行的sap2000程序,则应用comtypes.client.getactiveobject("csi.sap2000.api.sapobject")获取当前激活的sap2000对象,并命名为mysapobject,若不存在,则提示错误;

45、步骤3.6.3:应用mysapobject.sapmodel创建名为sapmodel的sap2000模型对象;应用sapmodel.initializenewmodel设置单位为n,mm;应用sapmodel.file.newblank创建新的空白模型;

46、步骤3.6.4:应用sapobject.sapmodel.propmaterial.setmaterial定义编号为1,名称为model_mat的新材料;sapobject.sapmodel.propmaterial.setmpisotropic设置上述新材料为各向同性材料,弹性模量为206000 mpa,泊松比为0.2;

47、步骤3.6.5:循环调用杆件直径列表变量diam和杆件壁厚列表变量thin,应用sapmodel.propframe.setpipe定义杆件截面形式;

48、步骤3.6.6:循环调用杆件起点x坐标列表变量node_x_s、杆件起点y坐标列表变量node_y_s、杆件起点z坐标列表变量node_z_s、杆件终点x坐标列表变量node_x_e、杆件终点y坐标列表变量node_y_e、杆件终点z坐标列表变量node_z_e,应用sapmodel.frameobj.addbycoord创建杆件;

49、步骤3.6.7:应用sapmodel.frameobj.setreleases释放所有杆件两端的转动自由度;

50、步骤3.6.8:应用sapmodel.frameobj.getpoints获取各杆件起始点编号,应用sapmodel.pointobj.getcoordcartesian获取起始点编号的空间坐标,循环调用约束节点x坐标变量node_res_x、约束节点y坐标变量node_res_y、约束节点z坐标变量node_res_z,判断起始点编号的空间坐标是否与约束节点坐标一致,若是,则应用sapmodel.pointobj.setrestraint约束该点x、y、z三个方向的平动;

51、步骤3.6.9:应用sapmodel.loadpatterns.add添加恒荷载模式和活载荷模式;应用sapmodel.loadcases.staticlinear.setcase添加活荷载工况;应用sapmodel.respcombo.add创建荷载组合,应用sapmodel.respcombo.setcaselist设置荷载组合中恒荷载组合值系数为恒荷载系数dead_comindex,应用sapmodel.respcombo.setcaselist设置荷载组合中活荷载组合值系数为活荷载系数live_comindex;

52、步骤3.6.10:循环获取各杆件起点、终点的笛卡尔坐标,分别与施加荷载节点x坐标变量node_load_x、施加荷载节点y坐标变量node_load_y、施加荷载节点z坐标变量node_load_z对比,若坐标一致,则应用sapmodel.pointobj.setloadforce在该点沿z轴负方向施加大小为load_dead的恒荷载,应用sapmodel.pointobj.setloadforce在该点沿z轴负方向施加大小为load_live的活荷载;

53、步骤3.6.11:应用sapmodel.file.save保存文件;应用sapmodel.analyze.setactivedof设置激活自由度为y轴自由度、z轴自由度、绕x轴自由度;应用sapmodel.analyze.runanalysis启动分析;应用sapmodel.pointobj.count确定模型节点个数;

54、步骤3.6.12:循环调用每个节点,应用sapmodel.results.setup.setcaseselectedforoutput选择输出结果的荷载类型为恒荷载;应用sapmodel.results.jointdispl提取每个节点z方向的位移;比较每个节点z方向的位移,确定节点在恒荷载下的最大位移和对应节点编号;

55、步骤3.6.13):循环调用每个节点,应用sapmodel.results.setup.setcaseselectedforoutput选择输出结果的荷载类型为活荷载;应用sapmodel.results.jointdispl提取每个节点z方向的位移;比较每个节点z方向的位移,确定节点在活荷载下的最大位移和对应节点编号;

56、步骤3.6.14:循环调用每个节点,应用sapmodel.results.setup.setcaseselectedforoutput选择输出结果的荷载类型为组合荷载;应用sapmodel.results.jointdispl提取每个节点z方向的位移;比较每个节点z方向的位移,确定节点在组合荷载下的最大位移和对应节点编号;

57、步骤3.6.15:应用sapmodel.view.refreshview更新sap2000程序界面;定义输出列表变量output。

58、进一步,所述步骤3.6.15中,通过输出列表变量output,分别导出恒载下节点位移最大值、恒载下位移最大值对应的节点编号、活载下节点位移最大值、活载下位移最大值对应的节点编号、荷载组合下节点位移最大值、荷载组合下位移最大值对应的节点编号。

59、本发明的有益效果:

60、1)本发明实现了基于二维图纸信息的结构计算模型自动生成与分析;

61、2)本发明显著提高了建模分析效率,相比手动方法,效率提升约95%以上;

62、3)本发明操作步骤清晰,使用方法简单,便于工程人员的模型重构和对比验证。


技术特征:

1.一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:包括如下步骤:

2.根据权利要求1所述的一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:所述步骤一中,整理后的管桁架平面图纸保留表征构件所须的图层线条及截面尺寸标注。

3.根据权利要求1所述的一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:所述cad向sap2000自动化建模分析电池组,其输入参数包括:截面信息,与上述步骤二中所有杆件图层文字的guid电池相连;截面命名方式,与上述步骤二中截面信息读取格式的panel电池相连;杆件曲线,与上述步骤二中所有杆件图层线的curve电池相连;约束节点,与上述步骤二中作为约束支座的图层线交点的point电池相连;施加荷载节点,与上述步骤二中施加集中荷载的图层线交点的point电池相连;恒荷载,与上述步骤二中恒荷载数值的number slider电池相连;活荷载,与上述步骤二中活荷载数值的number slider电池相连;恒荷载系数,与上述步骤二中恒荷载系数的numberslider电池相连;活荷载系数,与上述步骤二中活荷载系数的numberslider电池相连;sap2000程序路径,与上述步骤二中sap2000程序调用路径的panel电池相连;文件保存路径,与上述步骤二中sap2000模型保存路径的panel电池相连;模型名称,与上述步骤二中sap2000模型名称的panel电池相连;钢材属性,与上述步骤二中钢材材料类型的panel电池相连;启动按钮,与上述步骤二中程序启动布尔开关的boolean toggle电池相连。

4.根据权利要求3所述的一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:所述步骤三中,cad向sap2000自动化建模分析的步骤具体包括:

5.根据权利要求4所述的一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:所述步骤3.6中,所得到的调用sap2000 api建模计算的gh_cpython电池,其输入参数具体包括如下:

6.根据权利要求5所述的一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:所述步骤3.6中,调用sap2000 api建模计算的步骤如下:

7.根据权利要求6所述的一种关联cad和sap2000的管桁架自动化建模分析方法,其特征在于:所述步骤3.6.15中,通过输出列表变量output,分别导出恒载下节点位移最大值、恒载下位移最大值对应的节点编号、活载下节点位移最大值、活载下位移最大值对应的节点编号、荷载组合下节点位移最大值、荷载组合下位移最大值对应的节点编号。


技术总结
本发明公开了一种关联CAD和SAP2000的管桁架自动化建模分析方法。现有建模方法在自动化方面存在滞后。本发明对管桁架CAD图整理,将整理后的图纸载入Rhino;在Rhino Grasshopper下,编译CAD向SAP2000自动化建模分析电池组;打开SAP2000,在Grasshopper下,单击Boolean Toggle电池,调用SAP2000,完成模型的建立与计算;在Grasshopper下,应用Panel电池连接自动化建模分析电池组输出端,显示恒载、活载、荷载组合下的结构位移最大值及对应节点编号。本发明构建起二维图纸与结构计算响应间的桥梁,实现模型的自动化建立与计算。

技术研发人员:马小平,蔡玉军,张海,段熙宾,刘玉玉
受保护的技术使用者:中铁第一勘察设计院集团有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1152439.html

最新回复(0)