利用Dynamo进行Midas Civil与Revit空间几何数据交互方法初探
第37卷第4期2021年2月
Vol.37No.4
Feb.2021甘肃科技
Gansu Science and Technology
利用Dynamo进行Midas Civil与Revit空间
几何数据交互方法初探
张红勇
(中铁七局集团第三工程有限公司,陕西西安710000)
摘要:在桥梁结构设计中,通常采用Midas Civil建立结构空间有限元分析模型,但由于软件功能限制,建模过程中无法与Revit直接实现交互,即便是采用dwg格式文件做交互,在Revit中仅以符号方式体现,无法用于编辑和输出空间数据。本文利用Dynamo进行了Midas Civil与Revit空间几何数据交互方法初探,实现模型数据共享,通过一个贝雷架栈桥实例说明建模过程中的实现数据交互的具体方法,从而达到“一模多用”以及提高建模效率的目的。关键词:Dynamo;空间数据;交互;revit
中图分类号:TU17
BIM技术集成了构筑物几何和非几何信息,能够完整的表达出设计的结果叫常用的BIM核心建模软件Revit具有强大的模型处理功能,具备信息集成的能力。但模型在建立过程中,极少集成结构分析设计信息,且不具备结构分析功能,为BIM模型实际应用打了不少折扣,因此对力学模型与实体模型的交互研究具有必要性。
针对这一问题,董卯等倒研究了利用C#语言实现Revit模型信息提取程序的二次开发,实现了模型由Revit到Midas Civil的转换。李泽宇等回利用Civil3D二次开发功能创建轨道模型并导入Revit 中,兰南等旳在桥梁结构设计中将BIM技术和有限元仿真分析有机结合,通过Revit的二次开发工具,建立了混凝土结构和预应力筋BIM模型与有限元模型的直接映射关系。
文章利用Revit软件的二发功能,利用Dynamo 进行Midas Civil与Revit之间的空间几何数据的交互,以达到“一模多用”,尽可能降低建模时间,提高建模效率的目的,通过一个贝雷架栈桥的建模说明实现数据交互具体途径。
1交互研究模式
数据信息在力学模型与实体模型传递过程中,可以归纳为以下两种模式。
1.1直接交互
直接交互可分两种,一种是建模软件具备一定的计算模块,可实现简单的计算功能。如Catia的Generative Structural Analysis模块。这样的软件相对较少,且计算功能和计算场景有限。另外一种是分析计算软件通过API或建模软件内部接口,直接调用建模数据,如Autodesk Robot Structural Analy S i So这种情况下大多数是同一公司的产品。1.2间接交互
通过插件功能,生成中间格式模型(如sat、dwg、dxf等),在专业计算软件中调用生成模型数据。目前,大部分的软件对接方式都采用间接交互的方式。采用间接交互,在生成中间格式模型时,容易造成信息丢失或错误,在研究交互时,应该测试不同条件类型数据,以保证数据的准确性。
在以上两种交互方式中,还可以根据交互时是否可对软件进行同步操作,又可分为双向交互和单向交互。
双向交互能够保持原有软件数据格式,又能起连接软件,实现实时数据互通的桥梁的作用,具备高效、专业的特点,是理想的交互方式。但由于各软件厂商对软件接口二次开发的开放程度不同,可查的资源较少,实现起来较为困难。
2Midas Civil与Revit数据交互
2.1Midas Civil数据交互
Midas Civil数据交互的方法主要有以下几种:UI界面输入、表格输入、dwf文件导入、MCT输入。几种交互方式对比见表1。
张红勇:利用Dynamo 进行Midas  Civil 与Revit 空间几何数据交互方法初探
95
第4期» 1 Midas  Civil 输入交互方式对比
序号输入方式优势
劣势
1UI 界面
通过界面交互,可以很快迸行建模及后处理不适用程序处理
2表格
可以与excel 进行交互,快速建立复杂模型
由于表格分布于各个子对象,不便于批处理操作
3
dwf 文件通过导入dwf 文件进行模型创建,一般用于截面设计器不便用于程序处理4MCT
用于程序快速处理
无交互界面,命令操作,对操作者掌握原软件命令
要求高
通过以上对比,选择MCT 文件进行交互,是目 Revit 数据交互可以通过API 、<lynaino 、excel 、txt
前阶段下进行数据交互最有效的方式。
等进行交互操作。几种对比方式见表2。
通过以上对比,选择采用dynamo 进行数据交 互,以简单,通过dynamo 可视化设计,还可以将方
法融入API 中,实现API 编程建立UI 进行高效交2.2 Revit 数据交互
表2 Revit 数据交互方式
序号输入方式优势
劣势
1API
原生接口,邃度怏、效率高
对人员要求高,具备编程能力
2dynamo
采用可视化设计,也可利用代码方式,灵活
速度较API 稍慢,对人 员要求比API 低
3excel 简单、易学仅能操作少量数据4
txt
同 excel
同 excel
通过MCT 帮助文件,可以看出,图中符号有“分 号(;)、等号(=)、星号(*)”等,其中,分号代表注释
语句,分号后面的字符不执行,只是为了便于设计互。
2.3 MCT
MCT  固(Midas  Civil  Text)是在 Midas  Civil
中,通过格式命令的方法输入模型数据的界面,它
可以通过任何文本编辑工具进行打开。利用MCT 命
令,操作人员可以利用文本的形式快速地输入模型 数据,并可以根据相关数据和已有的模型数据整合
在一起,形成新的模型数据,在建立模型时,也可以 单独输入某个模型数据命令,例如节点坐标、单元、 材料属性、截面数据等。
2.3.1 MCT 文件格式
通过文本编辑工具打开MCT 文件如图1所示。
目贝雷架七桥
.^51__________________
1
;-------------------------------------------------------------------------------------------------------2 ; MIDJLS/Civil  Text  (MCT) File.3 ; :2020/3/2
4 ;-------------------------------------------------------------------------------------------------------
B € 4 VERSION
7 8.3.2
89 *U NIT  : System
10 ; FORCE, LENGTH, HEAT, TEMPER
11 KN  , MM “ KJ, C
1213 ^PROJINFO  ; Proj  ect  InfoxinaCxon
14 USER=wsk
15 ADDRESS^fTDAS
17 4 REBAR-MATL-CODE  ; Rebar  MacerxaO. Code 18 ; CONC_CODE, CONC_MDB # SRC_8DE, SRC_MDB 19 JTG047RC) , HRB33S, JTG04 <RC) r  HRB335
2021 anode  j  Nodes 22 ; ±NO, X, Y, Z
23 l r  0. 0. 0
24 2, 3000, 0, 025
3, 90, O, O
图1 MCT 文件
人员阅读。星号代表命令行,星号后紧跟英文命令
单词,代表以下段落执行该条语句,直到下一个星 号出现前,结束该命令。每行代表一个语句行,执行 一条命令或数据。具体分析如下:
(1) 第IV 行语句均以分号开始,为注释语句,
描述了此文件为MCT 文件以及文件建立的时间。
(2) 第6-9行语句为星号开头,代表中间执行
了第6行星后的“VERSION ”命令,代表版本,版本
号为:&3.2。
(3) 第6-9行语句中,第6行为“*U NTT ;Unit  System ”,定义了系统所用的单位。其中分号前为命
令,分号后为注释。第7行为“;FORCE,LENGTH,
HEAT,TEMPER",以分号开头,为注释行,表示接下
的输入数据分别为:“力、长度、重量、温度”。第8行
为“KNNMKhC ”,无任何符号开头,为数据行,按第7
行的格式,并执行了第6行的命令,定义了系统单位。
后续格式类推,此处不举例说明。
2.3.2 MCT 文件命令
MCT 文件命令,可以根据MCT 帮助文件査。
此处列举空间有关的两个命令,进行研究,其他相
关命令可参照帮助文件。
在“图1MCT 文件”中的第21行,有“*N ODE ”
命令,此命令为建立节点命令,其数据格式为第22 行“;iNO,X, Y,Z ”注释内容。分别代表:iNO:节点编 号;X:全局坐标系X 方向坐标;Y:全局坐标系Y 方
96甘肃科技第37卷
向坐标;Z:全局坐标系Z方向坐标。从第23行起,就开始进行数据行,其中第23行“1,0,0,0”代表第1个节点,对应的X、Y、Z坐标均为0,表示坐标原点。第24行“2,3000,0,0”,代表2号节点,X值为3000,单位
为第8行的数据“MM(mm)”,以此类推。
进入本文件单元命令数据段落擞据如图2所示:弓贝課惭泅|________________________________________________ 730,50,22&0,-S2S1
677
679'ELEMENT;Elements
679;iEL,TYPE”iM&T,iPRO,iNl f iH2r ANGLE.iSUB,EXVIL”iOPT(EXVAL2);F ewm Eltrant £80;IQ,TTPE,iMKT,iPBO,1H1,iH2r ANGLE,1SUB,EmL,EKVAL2,bllfT;C<np/T«nt Truu £81;叫TTPI,UOI,iPRO,iNl r1H2,iH3r iN4,iSUB r IBID;Pl&naz Eleunt 682;i£I,TYPE,iMM,iPRO,iHl,iN2,iN3r iN4r iN5,iNfi,iH7,iN8;Solid Element
683;iEL,TYPE,iHRT,iPRO,iNl,iN2r REF,m,RPY,RPZ.iSUB,EXVAI;FianefRef.Point)
£841,BEAM,1(1,l t3,0
€852r BEAM1,1,3,5,0
€8€3,BEAM,1,1,4,2,0
68?4,BEfiM,1,1,S,£0
图2单元命令数据
建模方法其中:第678行“*E LEMENT”代表单元命令,下面有5行注释,分别代表了5类单元类形输入格式,分别为框加单元、压/拉单元、面单元、体单元和框架参照点。从第684行开始,为数据,其中第684行表示:iEL(单元编号)为第1个单元,TYPE(单元种类)为BEAM(梁单元),iMAT(材料编号)为1号,iPRO(截面编号)为1号,iNl(第一个节点编号)为1号节点,iN2(第二个节点编号)为3号节点,ANGLE (Beta角为0度),以此类推。
2.4MCT与Revit空间数据交互实现
2.4.1交互总体思路
通过Midas Civil生成MCT文件,并采用dynamo中的python脚本读取,分别读取met文件中节点,单位字段,并存储在内存中,利用dynamo中的点命令,读取内存中的数据,生成dynamo的三维点坐标,再利用线命令,读取内存中的单元数据,生成空间线单元,并输出到Revit中,实现空间数据转换。通过以上思路,生成以下技术路线,如图3所示。
建模导出MCT文件生成空间点线数据
图3技术路线
2.4.2交互主要代码
定义获取数据、拆分子列表和输出三个函数,分别用于读取经转换后的txt文件、按列表取单个数据和输出用于生成节点和单元的数据,如图4,图5所示。
|«t.r分毁)足义4(入啟1«豪.數赠头标g-
Is-Xndex<s«>
k.tap..CJ.'•
图4获取数据函数
<tef llavToOlc(a,k)-
(r X»n(n>:kJ
d«X<n(:len<n>:kl>
Xo^XXacapXXK(n r fc—X)
rl*T-*-t**i~r(zxp<
*r Xs))
T*«tUTT>4XC.•
li2apvvnd tX»A>
图5拆分子列表与输出函数
利用python自定义节点在dynamo中生成的三维空间数据如图6所示。
图6三维空间数据图
3总结和应用展望
在数据交互中,采用dynamo读取结构空间模型信息,为Midas力学模型与空间模型的数据转换提供了思路,并利用在dynamo中编写的python脚本程序实现了简单的空间数据交互,一定程度上解决了BIM软件与有限元分析软件间存在信息孤岛的问题,为以后类似案例提供了可借鉴的模型数据互用解决方法,具有抛砖引玉的价值。
参考文献:
[1]袁翱.BIM工程概论[M].成都:西南交通大学出版社,2017.
[2]董卯,郭乃胜,王楠,等.基于Revit与MIDAS/CIVIL的桥
梁结构模型转换方法研究[JJ.大连海事大学学报,1-8.
⑶李泽宇,韩峰.基于Revit与Civil3D的桥轨一体化BIM
建模方法研究[J].铁路计算机应用,2018,027(05):43-47.
[4]兰南,刘天成,曲强龙,等.预应力混凝土桥梁BIM+FEM
一体化分析[J].公M,2019,64(09):22-26.
[5]刘美兰.Midas Civil在桥梁结构分析中的应用(一)[M].
北京:人民交通出版社,2014.
[6]欧特克中国软件研发有限公司.AutodeskRevit二次开
发基础教程[M].上海:同济大学出版社
,2015.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。