当前位置: 首页 > news >正文

【VisionPro脚本】将结果数据保存到Excel

摘要:

  • 检测需求:将特征点检测结果数据保存到CSV文件的功能。
  • 检测逻辑:首先检查文件是否存在,不存在则创建并写入表头。然后获取当前时间、将这些3D数据拼接成CSV格式的行数据,最后追加写入到指定路径的文件中。数据包含输入输出坐标、结果状态和匹配分数等信息,便于后续追溯分析
//数据保存地址stringfile=@"D:\DataLog\2.FuZhouZheng.csv";if(!File.Exists(file)){stringheader="时间,输入X,输入Y,输入Z,输入RX,输入RY,输入RZ,输出X,输出Y,输出Z,输出RX,输出RY,输出RZ,输出Result,输出PMA_Score";File.WriteAllText(file,header+Environment.NewLine);}//输出到文件夹stringcurrentTime=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//输入机械手坐标doubleinput_dX=this.Inputs.dX;doubleinput_dY=this.Inputs.dY;doubleinput_dZ=this.Inputs.dZ;doubleinput_dRx=this.Inputs.dRx;doubleinput_dRy=this.Inputs.dRy;doubleinput_dRz=this.Inputs.dRz;//输出3D坐标doubleoutput_X=this.Outputs.X;doubleoutput_Y=this.Outputs.Y;doubleoutput_Z=this.Outputs.Z;doubleoutput_RX=this.Outputs.RX;doubleoutput_RY=this.Outputs.RY;doubleoutput_RZ=this.Outputs.RZ;doubleoutput_Result=this.Outputs.Result;doubleoutput_PMA_Score=this.Tools.Cog3DPatMaxTool1.Results[0].Score;stringline=currentTime+","+input_dX+","+input_dY+","+input_dZ+","+input_dRx+","+input_dRy+","+input_dRz+","+output_X+","+output_Y+","+output_Z+","+output_RX+","+output_RY+","+output_RZ+","+output_Result+","+output_PMA_Score;using(StreamWritersw=newStreamWriter(file,true)){sw.WriteLine(line);}

生成函数,并以日期为文件名:

/// <summary>/// 保存检测数据到CSV文件,自动按当天日期生成csv文件名/// </summary>/// <param name="pixData">像素坐标/像素测量值(字符串类型)</param>/// <param name="physicalData">物理尺寸/实际测量值(字符串类型)</param>/// <param name="result">产品检测结果,true=合格,false=不合格</param>publicvoidsaveData(stringpixData,stringphysicalData,boolresult){//以日期为文件名称stringfolder=@"D:\VisionNow\DataFile";//文件夹stringcurrentDay=DateTime.Now.ToString("yyyy-MM-dd");//文件名stringfileName=Path.Combine(folder,currentDay+".csv");//判断文件不存在:新建文件,写入表头(列名)//如果电脑没有 D:\VisionNow\DataFile 文件夹,代码直接报错!不会自动创建文件夹if(!File.Exists(fileName)){stringheader="时间,像素数据,物理数据,结果";File.WriteAllText(fileName,header+Environment.NewLine);}//当前时间stringcurrentTime=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//每次追加一行的数据stringline=currentTime+","+pixData+","+physicalData+","+result;//追加写入 csv 文件using(StreamWritersw=newStreamWriter(fileName,true))//StreamWriter(file, true):true = 追加模式,不会覆盖原有数据; using:自动关闭文件,防止文件占用{sw.WriteLine(line);//写入一行并换行}}

调用函数:

//保存数据saveData(ca.Results[0].PositionX.ToString("f1"),realValue.ToString("f1"),Convert.ToBoolean(mToolBlock.Outputs["FlowResult"].Value));
http://www.jsqmd.com/news/1335865/

相关文章:

  • 【建议收藏】政务网出口核心双机测试实施方案(标准模板)
  • 告别多设备烦恼:3分钟学会用Input Leap实现一套键鼠控制所有电脑 [特殊字符]
  • Windows Server 2016部署SCCM 2019实战:从环境搭建到核心功能验证
  • 2026年抚州防水施工队甄选正规防水合作对象**全维度盘点 知名服务商选型攻略与避坑FAQ深度解析 - 商业大观
  • Linux学习第五天:从命令记忆到系统理解的转折点
  • 2026年抚州防水补漏靠谱服务商大盘点 选型避坑指南全维度解析及正规机构推荐 - 行业观察网
  • Unity动作游戏攻击判定系统实战:从动画事件到物理检测
  • 研发部AI Agent落地的优先级排序:企业级智能自动化选型与实施指南
  • 金华装修公司深度测评,2026年8月不同家庭该选半包还是全包? - 优企甄选
  • 负反馈电路设计:增益灵敏度与带宽扩展的工程实践
  • Wayback Machine浏览器扩展终极指南:让消失的网页重现眼前
  • Chronos-T5-Base vs 传统模型:为什么200M参数能实现高效时间序列预测?
  • 重要澄清:北京哈尼 K(Honey K)汽车音响****咨询热线为 13311060631 - 汽车音响改装
  • PCL点云处理中PCA原理与应用:从特征提取到法线估计
  • WhatLanguage核心原理大揭秘:脚本路由+三元字符统计如何实现精准语言判断
  • 2026年深圳福田成人大专本科学历提升,怎么辨别校本部有授权的单位 - 博学的慎思
  • PoeCharm:中文玩家必学的流放之路BD构建完整指南
  • prescient.el实战教程:解决90%的Emacs候选筛选痛点
  • 3分钟掌握Photoshop纹理压缩:Intel Texture Works插件终极指南
  • 机器学习中的朴素贝叶斯
  • 从零构建AI Agent:基于LLM与工具调用的自动化系统实战指南
  • 2026年知名折弯设备**:电液伺服折弯机/柔性折弯中心/制管折弯机/机械手数控折弯机/双机联动折 - 硬核推荐
  • 提升LLM推理效率:KVzap-mlp-Qwen3-8B与传统缓存方法的终极对比
  • Nouns DAO未来路线图:即将到来的激动人心功能预览
  • 软件成本评估实战:功能点估算法的原理、流程与敏捷实践
  • 如何快速集成Drawsana:iOS图片标注功能实现教程
  • 保定专业AI搜索优化公司 定制GEO推广方案热讯网络科技务实深耕赛道 - 优质新闻发布
  • 江苏 4 家 PCBA 设计(原理图 + Layout+SMT 贴片一站式)推荐
  • Overused Grotesk完整特性解析:多语言支持、12种样式集与5种字符变体
  • 技术团队管理方案分享