欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    QVA代码详解进阶篇.docx

    • 资源ID:548064       资源大小:27KB        全文页数:40页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    QVA代码详解进阶篇.docx

    1、QVA代码详解进阶篇=程序名称: 说明.QVB程序说明: 一般量测。程序目的: startup子程序及常用的量测工具说明=/ 子程序宣告区 /Declare Sub QVBlock_6Declare Sub QVBlock_5Declare Sub QVBlock_4Declare Sub QVBlock_3Declare Sub QVBlock_2Declare Sub QVBlock_1Option Explicit *所有变量子程序使用前都要事先宣告/ 量测前参数设定的子程序 / sub startup * 显示格式 *DistanceUnits = MM 量测尺寸单位 (MM or I

    2、NCH)CoordinateMode = CART 坐标模式 (直角坐标: CART 圆筒坐标: CYL)ResolutionMode = DECIMALS_5 小数点精度AngleRange = ZERO_TO_360 角度显示模式 0360度AngleUnits = DECIMAL_DEGREES_3 角度精度 * 镜头倍率设定 *Lens.Select Label:=1X (QV Objective) * 显示结果的格式 *Results.ShowColumnLabels = TRUE show 字段标签Results.ShowFeatureTypeInHdr = TRUE show 要

    3、素形式在标头Results.ShowFeatureLabelInHdr = TRUE show 要素标签在标头Results.ShowFeatureIDInHdr = TRUE show 要素序号在标头Results.ShowNumOfPointsInHdr = TRUE show 要素量测的点数量在标头设定要素数据格式的显示方法 Results.FormatColumns ELEMENT, ACTUAL, NOMINAL, DEVIATION, UPTOL, LOWTOL, PASSFAIL * 显示结果的讯息 *Results.ShowAlignmentMsg = FALSE show P

    4、CS 资料 Results.ShowUnitsChangeMsg = FALSE show 单位转变报告 Results.ShowConstructionMsg = FALSE show 要素的建筑报告 Results.ShowErrorMsg = FALSE show 错误报告 * 显示结果数据的等级 *Results.ReportLevel = ALLDATA * 结果输出记录 *Results.LogFileName = C:Documents and SettingsAdministrator桌面rep.txtResults.LogToFile = TRUEResults.LogToC

    5、OM1 = FALSEResults.LogToCOM2 = FALSE * 执行模式设定 *BreakOnErrors = TRUE 错误中断 ShowImageTools = TRUE show 影像工具 * 恢复 MCS *PCS.RestoreMCS * 参考面 *ReferencePlane = XY_PLANE * 量测驱动 *MeasuringDevice = QV_VIDEOQV.CylUsesRefPlane = true 允许使用圆筒坐标end sub startup=Main =sub Main start of main subroutinecall startupCa

    6、ll QVBlock_1Call QVBlock_2Call QVBlock_3Call QVBlock_4Call QVBlock_5Call QVBlock_6end sub Main=量测子程序 =Private Sub QVBlock_1 = 任意点一点为基准点/量测点要素 标签: Point0 无投影平面Measure.Point Label:=Point0, ProjPlane:=NO_PLANE/影像中心改变到 X,Y,Z 光源设定为 . Video.ChangeToImageContext X:=25.8001129, Y:=283.2850158, Z:=12.5829224

    7、, Coax:=0.00, Stage:=0.36, Back:=0.00, Front:=0.00, Right:=0.00, Left:=0.00, Angle:=0.00, Color:= qvWhite, NomMag:=1.000000/对焦工具设定 FocusTool.SetMode FocusType:=SURFACE, Speed:=MED, Range:=4.2314050/执行对焦工具 FocusTool.Run X:=24.2943612, Y:=282.8247008, Z:=12.5879225, W:=0.8463702, H:=0.7149573/执行量测工具 M

    8、anualTool.Run X:=23.8810176, Y:=282.5015010, Z:=12.5879225, Prompt:=输入原点/量测结束 Measure.EndMeas/设定PCS原点是 Point0PCS.AlignOrigin Axes:=ALL_AXES, Tag:=Point0End Sub QVBlock_1Private Sub QVBlock_2 = 量测一条线做为轴向Measure.Line Label:=Line1, ReverseDirection:=TRUEVideo.ChangeToImageContext X:=-0.0004923, Y:=-0.0

    9、004648, Z:=-0.0007515方框工具型式:一般方框BoxTool.Mode = NORMAL扫瞄像素间格 BoxTool.ScanInt = 20侦测方向设定 BoxTool.SamplingDirection = DIR_LEFT检出条件设定BoxTool.SetFilter Alg:=DYNAMIC_THRESH, EdgeSlope:=RISING, EdgeQuality:=STRONG, Outlier:=0, TH:=98.653061, THR:=0.393520, THS:=71.000000工具尺寸形状设定 BoxTool.Run X:=1.5741499, Y

    10、:=-0.1669617, Z:=-0.0007515, W:=0.9841514, H:=2.8696230, Angle:=89.6339量测结束 Measure.EndMeas显示的结果 Results.ReportFeature Show:=X_ and Y_ and Z_ and AN_ and XA_ and YA_ and ZA_ and ST_, Tag:=Line1坐标轴方向设定 PCS.AlignAxis AlignmentAxis:=X_AXIS, RotationAxis:=Z_AXIS, Offset:=0.0000000, Direction:=POS, Tag:=

    11、Line1End Sub QVBlock_2Private Sub QVBlock_3 = 量测一个圆Measure.Circle Label:=Circle1, ProjPlane:=NO_PLANEVideo.ChangeToImageContext X:=1.7166358, Y:=-2.5477576, Z:=-0.0003515/ 圆工具 CircleTool.ScanInt = 20检测方向 CircleTool.SamplingDirection = CWCircleTool.SetFilter Alg:=DYNAMIC_THRESH, EdgeSlope:=RISING, Ed

    12、geQuality:=STRONG, Outlier:=0, TH:=103.935000, THR:=0.445299, THS:=43.000000CircleTool.Run X:=3.0294651, Y:=-3.5513114, Z:=-0.0005515, R1:=0.7184305, R2:=1.6943508Measure.EndMeas结果输出Results.ReportFeature Show:=CR_ and D_ and RD_, Tag:=0End Sub QVBlock_3Private Sub QVBlock_4 = 量测一点Measure.Point Label

    13、:=Point1, ProjPlane:=NO_PLANEVideo.ChangeToImageContext X:=1.7166358, Y:=-2.5477576, Z:=-0.0003515, Coax:=0.00, Stage:=0.36, Back:=0.00, Front:=0.00, Right:=0.00, Left:=0.00, Angle:=0.00, Color:= qvWhite, NomMag:=1.000000/ 点工具 PointTool.SetFilter Alg:=DYNAMIC_THRESH, EdgeSlope:=RISING, EdgeQuality:=

    14、STRONG, TH:=114.447964, THR:=0.615292, THS:=56.500000PointTool.Run X:=3.6253062, Y:=-2.4226265, Z:=-0.0005515, L:=0.9841514, Angle:=27.2282/ 双区域对比工具 DualAreaContrastTool.SetFilter LightType:=STAGE_TYPE, LightAngle:=0.000000, MetricType:=AVE_BRIGHT, WeightedMetric:=true, OperationMode:=DEPENDENT, Met

    15、ricTol:=0.100000DualAreaContrastTool.Run X:=4.2993618, Y:=-3.6344991, Z:=-0.0007515, W:=0.4920757, H:=0.6170179, Angle:=0.2282Measure.EndMeas结果输出Results.ReportFeature Show:=X_ and Y_ and Z_, Tag:=Point1End Sub QVBlock_4Private Sub QVBlock_5 = 量测点并计算两点的距离Measure.Point Label:=Point2, ProjPlane:=NO_PLA

    16、NEVideo.ChangeToImageContext Coax:=0.14, Stage:=0.36, Back:=0.00, Front:=0.00, Right:=0.00, Left:=0.00, Angle:=0.00, Color:= qvWhite方框工具型式:找寻最大点BoxTool.Mode = MAXPTBoxTool.ScanInt = 20BoxTool.SamplingDirection = DIR_RIGHTBoxTool.SetFilter Alg:=DYNAMIC_THRESH, EdgeSlope:=RISING, EdgeQuality:=STRONG,

    17、Outlier:=0, TH:=92.823529, THR:=0.573975, THS:=21.500000BoxTool.Run X:=-0.1525784, Y:=-2.7707717, Z:=-0.0005515, W:=0.3149284, H:=1.5180599, Angle:=0.2282对焦工具 FocusTool.SetMode FocusType:=EDGE0, Speed:=MED, Range:=4.2314050FocusTool.EdgeSlope = BOTHFocusTool.Run X:=-0.1284158, Y:=-1.3995137, Z:=0.01

    18、06486, W:=0.3149284, H:=0.6366058Measure.EndMeas结果输出Results.ReportFeature Show:=X_ and Y_ and Z_, Tag:=Point2计算 Point2 到 Point2 的距离 Construct.Distance Tag1:=Point2, Tag2:=Point1, Label:=Dim1, ProjPlane:=NO_PLANE结果输出Results.ReportFeature Show:=DX_ and DY_ and DZ_ and LC_ and SC_, Tag:=Dim1End Sub QVB

    19、lock_5Private Sub QVBlock_6 = 量测一条线并计算交点 Measure.Line Label:=Line2方框工具型式:一般方框BoxTool.Mode = NORMALBoxTool.ScanInt = 20BoxTool.SamplingDirection = DIR_LEFTBoxTool.SetFilter Alg:=DYNAMIC_THRESH, EdgeSlope:=FALLING, EdgeQuality:=STRONG, Outlier:=0, TH:=99.045627, THR:=0.373051, THS:=71.000000BoxTool.Ru

    20、n X:=-0.2105517, Y:=-3.0158529, Z:=0.0106486, W:=0.9841514, H:=3.5551984, Angle:=-179.7718使用自动亮度工具 BrightnessTool.SetFilter LightType:=STAGE_TYPE, LightAngle:=0.000000, MetricType:=AVE_BRIGHT, WeightedMetric:=true, OperationMode:=DEPENDENT, MetricTol:=0.088212BrightnessTool.Run X:=0.8962639, Y:=-1.6

    21、892524, Z:=0.0105486, W:=0.4625512, H:=0.4015513, Angle:=0.2282, LightMetric:=0.664436Measure.EndMeas结果输出Results.ReportFeature Show:=X_ and Y_ and Z_ and AN_ and XA_ and YA_ and ZA_ and ST_, Tag:=Line2计算 Line2 与 Line1 的交点 Construct.IntersectPoint Tag1:=Line2, Tag2:=Line1, Label:=Point3, ProjPlane:=X

    22、Y_PLANE, PreferredPoint := 1结果输出Results.ReportFeature Show:=X_ and Y_ and Z_, Tag:=Point3End Sub QVBlock_6=程序名称: 档案IO.QVB程序说明: 1.在C根目录建立一个档案 TEMP001.txt 2.将文字写入档案,并关闭档案。 3.开启刚刚建立的档案 4.从档案读取数据 5.将读取的数据用讯息盒显示 6.将档案关闭 7.将档案删除 程序目的: 说明 开档-读档-写入档案-关档-删档=Declare Sub createfile / 宣告一个建立档案的子程序/= main =Sub m

    23、ain Dim msgtext as string dim i as integer Call createfile /建立一个档案 / 开启一个档案,数据输入用 档案代号 #1 Open C:TEMP001.txt For Input As #1 / 从档案取回前 10个字放至msgtext for i=1 to 10 msgtext=msgtext & Input(1, #1) next i / 将读取到的数据利用讯息盒显示出来 MsgBox msgtext / 使用完毕后务必将档案关闭 Close #1 / * 删除档案 * Kill C:TEMP001.txt End Sub= 建立档

    24、案的子程序 =Sub createfile / 开启一个档案,数据写出用 档案代号 #1 Open C:TEMP001.txt for Output as #1 / 将文字写入档案 Write #1, 这是刚建立的档案 / 使用完毕后务必将档案关闭 Close #1End Sub=程序名称: 变量宣告.QVB程序说明: 在子程序内与子程序外宣告变量,并由讯息框印出 两个变数的值。程序目的: 说明变量宣告,全区域变量与单区域变量的不同=Declare Sub use1 dim x as integer 宣告一个全区域整数变 = sub Main=sub Main x=5 Call use1 Ms

    25、gBox 这是全区域变量 x= & x 这个讯息盒显示的是全区域变量end Sub= sub use1=Sub use1 dim x 宣告一个单区域变量 x=6 MsgBox 这是单区域变量 x= & x 这个讯息盒显示的是单区域变量end sub=程序名称: 呼叫外部应用程序.QVB程序说明: 执行外部应用程序记事本并开启档案 aaa.dat, 将焦点放在开启的程序上。程序目的: 说明呼叫外部应用程序=sub main / 宣告一个传回植 dim id as Long / 执行记事本并开启档案 aaa.dat,参数1=将焦点放在开启的程序上 id= Shell(Notepad.exe aaa

    26、.txt, 1)End Sub=程序名称: 呼叫外部子程序.QVB程序说明: 呼叫开启外部子程序,显示变量值, 呼叫开启外部函式,计算三角斜边长。程序目的: 说明呼叫已编译过的外部 QVBasic 程序=/ 宣告子程序 名称:sss 来源档名:变量宣告.QVX 子程序: MainDeclare sub sss BasicLib 变量宣告.QVX Alias Main ()/ 宣告函式 名称:fun 来源档名:函式.QVX 函式: fun1(a as double,b as double) 传回的数据格式 double Declare Function fun BasicLib 函式.QVX alias fun1 (a as double,b as double) as double= Main() =sub Main call sss /呼叫子程序 sss dim c as double / c=呼叫函式 fun1 并给两个三角邻对边长度自变量(a,b) c=fun(3,4) / 将得到的值显示在讯息框 MsgBox 三角形的两边是 3,4 斜边长= & c end sub 重要: 呼叫的子程序前面不可以宣告为 private 备注: 扩展名 .QVX 是编译过的量测程序=程序名称: 函式.QVB程序


    注意事项

    本文(QVA代码详解进阶篇.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开