Polyworks脚本开发学习笔记(十二)-输出和读取文本文件

Polyworks作为一个测量工具,将测量的数据方便的导出到文本文件则是一项必须的功能。在DATA_FILE这个命令下提供了很多子命令用于完成这一任务。

创建文本文件/增加行

  1. CREATE命令创建文本文件
  2. DATA_FILE APPEND 追加字符串,需要指定结尾字符
    DATA_FILE APPEND LINE 追加字符数组之间为空格即一行
    DATA_FILE APPEND LINES 追加字符数组之间为换行符,结果为多行
DECLARE vExportTxt "$_PWK_FILES_PATH\features.txt"
DATA_FILE CREATE ( $vExportTxt,,"Yes")
#追加字符数组,以逗号分隔
DECLARE vDataLines1 {"Pt1-test","20.000","30.000","40.000"}
DATA_FILE APPEND ( $vExportTxt, $vDataLines1, ",")
#追加一行字符
DECLARE vDataLines2 {"Pt2-test","50.000","60.000","70.000"}
DATA_FILE APPEND LINE ($vExportTxt,$vDataLines2)
#追加多行字符
DECLARE vDataLine3_4 {"Pt3-test,25.000,35.000,45.000","Pt4-test,55.000,65.000,75.000"}
DATA_FILE APPEND LINES($vExportTxt,$vDataLine3_4)

结果如下: 结合下述效果选择合适的字符追加方式。

循环读取并输出文本文件

  1. 循环读取并输出文本文件
    结合上述命令,并使用MEASURE CONTROL命令将选择的特征点X方向名义值Nominal,实测值Mesured,以及偏差值
    Devation提取出来输出位一个文本文件,是非常实用的。
#获取所有的选择的特征点
DECLARE vSelFeatPtNames
TREEVIEW FEATURE POINT  NAME SELECTED GET ( vSelFeatPtNames )
IF  SIZE ( vSelFeatPtNames )==0MACRO END ( "Error" )
ENDIF
DECLARE i 1
WHILE $i<=SIZE(vSelFeatPtNames)DECLARE vPtName  $vSelFeatPtNames[$i]#定义点名义值、实测值、偏差值变量并获取输出到文本文件中DECLARE vPtNomDECLARE vPtMesDECLARE vPtDevMEASURE CONTROL NOMINAL GET("X",vPtNom,$vPtName)MEASURE CONTROL MEASURED GET("X",vPtMes,$vPtName)MEASURE CONTROL DEVIATION GET ("X",vPtDev,$vPtName)DECLARE vNewPtInfoLine "${vPtName},X,${vPtNom},${vPtMes},${vPtDev}"DATA_FILE APPEND LINE ($vExportTxt,$vNewPtInfoLine)++i
ENDWHILE

结果如下:

读取文本文件某行字段数及文件行数

  1. 读取文本文件第几行的字段数量
#读取文本文件第几行的字段数
DECLARE vExportTxt "$_PWK_FILES_PATH\features.txt"
DECLARE vTxtFields
#读取第3行的字段数,以”,“分隔
DATA_FILE PROPERTIES NB_FIELDS_IN_LINE GET ($vExportTxt,3,vTxtFields,",","On")


返回的结果为5

  1. 读取文本文件的总行数
DECLARE vTxtLines
DATA_FILE PROPERTIES NB_LINES GET ( $vExportTxt,vTxtLines)

读出结果为3行

读取文本文件信息

用READ命令可以读取文本文件的所有行列的值。

  1. 读取文本文件某几行的列值信息,以数组形式返回
DECLARE vReadCol1
DECLARE vReadCol2
DATA_FILE READ COLUMNS ( $vExportTxt,",","Off",1,2,vReadCol1,vReadCol2)
#返回值
#DATA_FILE READ COLUMNS ( "C:\features.txt", ",", "Off", 1, 2, { "Pt4", "Pt6" }, { "X", "X" }  )


由上图,使用该命令可精确读取任意行数和列数的数据。

  1. 文本文件行的信息读取
    DATA_FILE READ LINE 读取指定行的值返回变量
    DATA_FILE READ LINE_FIELD 读取指定行的指定字段的值返回变量
    DATA_FILE READ LINE_FIELDS 读取指定行的全部字段的值返回变量数组
#读取第1行到字符串
DECLARE vReadLine
DATA_FILE READ LINE ( $vExportTxt,1,vReadLine)
#读取第1行第3个字段(逗号分隔)到字符串
DECLARE vReadField13
DATA_FILE READ LINE_FIELD ( $vExportTxt,1,3,vReadField13,",","Off")
#读取第1行全部字段(逗号分隔)到字符串
DECLARE vReadFields
DATA_FILE READ LINE_FIELDS ( $vExportTxt,1,vReadFields,",","Off")

结果如下:

Polyworks脚本开发学习笔记(十二)-输出和读取文本文件相关推荐

  1. Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理

    Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理 Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理. 下 ...

  2. Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

    Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...

  3. Polyworks脚本开发学习笔记(十九)-将数据对象与参考对象对齐的方法

    Polyworks脚本开发学习笔记(十九)-将数据对象与参考对象对齐的方法 把开发手册理了一遍,发现还有几个点没有记录下来,其中一个就是使用点对的粗对齐和使用参考目标的精确对齐.为了把这个学习笔记凑够 ...

  4. Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件

    Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件 插件是由PolyWorks加载的动态链接库(DLL文件),然后查询Polyworks模块,以确定它们具有哪些功能,提供给 ...

  5. Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件

    Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件 用Polyworks脚本开发,没有高级语言的支持,功能难免单一,一些比较复杂的交互实现不了,界面和报告也很 ...

  6. Polyworks脚本开发学习笔记(十)-互动式开发及出错控制

    Polyworks脚本开发学习笔记(十)-互动式开发及出错控制 第八章组合的各种命令,完成了一个对所选的测点名称进行命名的任务.但是,由于任务中没有交互环节,只能机械地将 曲面点 - 包边点改为Flu ...

  7. Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用

    Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用 大概要写到结尾了,最后几篇就将手册的各常用命令再看一遍,组合一下,并列举出常见的一些有用的操作. DATA_COLOR_MAP数 ...

  8. Polyworks脚本开发学习笔记(二)-TREEVIEW基本操作

    Polyworks脚本开发学习笔记(二)-TREEVIEW对象基本操作 TREEVIEW对象选择 选择/不选对象 TREEVIEW OBJECT SELECT ALL 全部对象选择,包括参考/数据/对 ...

  9. Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告

    Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告 Polyworks中,3D场景的视图可用标准视角及等轴侧视角.项目视角等方式调用,也可以用txt格式保存下来调用,如果以脚本的形 ...

最新文章

  1. React Native —— App
  2. 深入理解argparse模块中的add_argument的参数(如action等)
  3. css之命名规范 BEM
  4. 微服务架构如何保障双11狂欢下的99.99%高可用?
  5. python获取图片的颜色信息
  6. Windows mosek
  7. 通过 SSH 连接到 VMware NAT 模式下的 Ubuntu 虚拟机环境
  8. Linux启动提示Kernel panic - not syncing: Attempted to kill init解决办法
  9. 结构光双目视觉测距原理
  10. 怎么搞一个ORM出来用用呢???迷茫中
  11. solaris10下vim安装
  12. 计算机三级——数据库技术
  13. 面试 Redis 没底?这 40 道面试题让你不再慌
  14. html动态生成tr标签,JS动态添加tr元素
  15. R语言gganimate的使用与呈现
  16. 什么IT项目可以兼职在学校做
  17. 【金猿投融展】Kyligence——改变人类使用数据的习惯
  18. Android Studio开发-1 安装AS
  19. 5种css隐藏元素的方法_在CSS中隐藏元素的10种方法
  20. golang初始化数据库(MySQL)

热门文章

  1. wordpress账号无法登陆_解决WordPress后台管理用户无法登陆且一直停留在登录界面问题...
  2. 各种资源被封后android源码下载方法
  3. SQL2000装win10问题解决
  4. 中标麒麟Linux服务器5.0(mips64el)安装QT开发环境
  5. 数据透视表(图)中添加公式计算与汇总--计算项和计算字段
  6. 实时监控TCP Reset信息的二进制hook手艺
  7. UG拆电极的认识及注意事项
  8. 重庆软件测试培训学校学费,重庆软件测试培训费用多少
  9. 虚拟现实汽车模拟仿真项目
  10. java observer_Java观察者模式(Observer)