A-A+
HyperWorks二次开发:使用TCL语言处理CSV格式文件
CSV格式的文件是一种非常常见的数据格式文件,在Hyperworks的各个模块中基本上都支持CSV文件的导入和导出。例如在Hypermesh中导出所有部件的明细,进入Model导航栏,选择components选项卡,在空白处右击,选择Export - CSV Comma Delimited或者CSV Semicolon Delimited即可将部件的相关信息导出为CSV格式文件,前者采用逗号分隔符,后者采用分号分隔符。

导出的CSV文件如下图所示,包含了材料、属性等详细的部件信息。

对CSV文件的处理其实也非常简单,用到的都是基本的TCL命令函数。
1、CSV文件的读取
首先使用open命令打开CSV文件,然后使用gets命令获取文件中的一行字符串,通过split命令对获取的字符串进行分割,最后通过lassign命令将分割后的字符串分配到对应的变量中。如果实现对文件的连续读取可通过while命令进行循环,配合eof命令判断是否读到文件尾部。完整的代码如下所示:
set file1 [open F:\pro.csv r]
while {![eof $file1]} {
gets $file1 line;
if {$line != ""} {
lassign [split $line ","] name id color thickness mid
}
#处理代码
}
close $file1
2、CSV文件的写入
和文件的读取一样,首先需要使用open命令打开文件,注意要以写入或读写的方式打开文件。然后通过join命令将需要写入的变量用分隔符(","或";")连接到一起,最后通过puts命令将连接到一起的字符串写入到文件中。完整代码如下所示:
此文章为微信公众号原创文章,查看全部文章内容请关注微信公众号“数字化设计CAX联盟”,回复数字:8379查看。
