QVA代码详解进阶篇Word下载.docx

上传人:b****2 文档编号:781819 上传时间:2023-04-29 格式:DOCX 页数:40 大小:27KB
下载 相关 举报
QVA代码详解进阶篇Word下载.docx_第1页
第1页 / 共40页
QVA代码详解进阶篇Word下载.docx_第2页
第2页 / 共40页
QVA代码详解进阶篇Word下载.docx_第3页
第3页 / 共40页
QVA代码详解进阶篇Word下载.docx_第4页
第4页 / 共40页
QVA代码详解进阶篇Word下载.docx_第5页
第5页 / 共40页
QVA代码详解进阶篇Word下载.docx_第6页
第6页 / 共40页
QVA代码详解进阶篇Word下载.docx_第7页
第7页 / 共40页
QVA代码详解进阶篇Word下载.docx_第8页
第8页 / 共40页
QVA代码详解进阶篇Word下载.docx_第9页
第9页 / 共40页
QVA代码详解进阶篇Word下载.docx_第10页
第10页 / 共40页
QVA代码详解进阶篇Word下载.docx_第11页
第11页 / 共40页
QVA代码详解进阶篇Word下载.docx_第12页
第12页 / 共40页
QVA代码详解进阶篇Word下载.docx_第13页
第13页 / 共40页
QVA代码详解进阶篇Word下载.docx_第14页
第14页 / 共40页
QVA代码详解进阶篇Word下载.docx_第15页
第15页 / 共40页
QVA代码详解进阶篇Word下载.docx_第16页
第16页 / 共40页
QVA代码详解进阶篇Word下载.docx_第17页
第17页 / 共40页
QVA代码详解进阶篇Word下载.docx_第18页
第18页 / 共40页
QVA代码详解进阶篇Word下载.docx_第19页
第19页 / 共40页
QVA代码详解进阶篇Word下载.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

QVA代码详解进阶篇Word下载.docx

《QVA代码详解进阶篇Word下载.docx》由会员分享,可在线阅读,更多相关《QVA代码详解进阶篇Word下载.docx(40页珍藏版)》请在冰点文库上搜索。

QVA代码详解进阶篇Word下载.docx

show要素形式在标头

Results.ShowFeatureLabelInHdr=TRUE'

show要素标签在标头

Results.ShowFeatureIDInHdr=TRUE'

show要素序号在标头

Results.ShowNumOfPointsInHdr=TRUE'

show要素量测的点数量在标头

设定要素数据格式的显示方法

Results.FormatColumnsELEMENT,ACTUAL,NOMINAL,DEVIATION,UPTOL,LOWTOL,PASSFAIL

***显示结果的讯息***

Results.ShowAlignmentMsg=FALSE'

showPCS资料

Results.ShowUnitsChangeMsg=FALSE'

show单位转变报告

Results.ShowConstructionMsg=FALSE'

show要素的建筑报告

Results.ShowErrorMsg=FALSE'

show错误报告

***显示结果数据的等级***

Results.ReportLevel=ALLDATA

***结果输出记录***

Results.LogFileName="

C:

\DocumentsandSettings\Administrator\桌面\rep.txt"

Results.LogToFile=TRUE

Results.LogToCOM1=FALSE

Results.LogToCOM2=FALSE

***执行模式设定***

BreakOnErrors=TRUE'

错误中断

ShowImageTools=TRUE'

show影像工具

***恢复MCS***

PCS.RestoreMCS

***参考面***

ReferencePlane=XY_PLANE

***量测驱动***

MeasuringDevice=QV_VIDEO

QV.CylUsesRefPlane=true'

允许使用圆筒坐标

endsub'

startup

===================================================

=====================Main=========================

subMain'

startofmainsubroutine

callstartup

CallQVBlock_1

CallQVBlock_2

CallQVBlock_3

CallQVBlock_4

CallQVBlock_5

CallQVBlock_6

Main

=========================================================

=====================量测子程序=========================

PrivateSubQVBlock_1'

======任意点一点为基准点

//量测点要素标签:

Point0无投影平面

Measure.PointLabel:

Point0"

ProjPlane:

=NO_PLANE

//影像中心改变到X,Y,Z光源设定为.......

Video.ChangeToImageContextX:

=25.8001129,Y:

=283.2850158,Z:

=12.5829224,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.SetModeFocusType:

=SURFACE,Speed:

=MED,Range:

=4.2314050

//执行对焦工具

FocusTool.RunX:

=24.2943612,Y:

=282.8247008,Z:

=12.5879225,W:

=0.8463702,H:

=0.7149573

//执行量测工具

ManualTool.RunX:

=23.8810176,Y:

=282.5015010,Z:

=12.5879225,Prompt:

输入原点"

//量测结束

Measure.EndMeas

//设定PCS原点是Point0

PCS.AlignOriginAxes:

=ALL_AXES,Tag:

EndSub'

QVBlock_1

PrivateSubQVBlock_2'

============量测一条线做为轴向

Measure.LineLabel:

Line1"

ReverseDirection:

=TRUE

=-0.0004923,Y:

=-0.0004648,Z:

=-0.0007515

方框工具型式:

一般方框

BoxTool.Mode=NORMAL

扫瞄像素间格

BoxTool.ScanInt=20

侦测方向设定

BoxTool.SamplingDirection=DIR_LEFT

检出条件设定

BoxTool.SetFilterAlg:

=DYNAMIC_THRESH,EdgeSlope:

=RISING,EdgeQuality:

=STRONG,Outlier:

=0,TH:

=98.653061,THR:

=0.393520,THS:

=71.000000

工具尺寸形状设定

BoxTool.RunX:

=1.5741499,Y:

=-0.1669617,Z:

=-0.0007515,W:

=0.9841514,H:

=2.8696230,Angle:

=89.6339

量测结束

显示的结果

Results.ReportFeatureShow:

=X_andY_andZ_andAN_andXA_andYA_andZA_andST_,Tag:

坐标轴方向设定

PCS.AlignAxisAlignmentAxis:

=X_AXIS,RotationAxis:

=Z_AXIS,Offset:

=0.0000000,Direction:

=POS,Tag:

QVBlock_2

PrivateSubQVBlock_3'

===========量测一个圆

Measure.CircleLabel:

Circle1"

=1.7166358,Y:

=-2.5477576,Z:

=-0.0003515

//圆工具

CircleTool.ScanInt=20

检测方向

CircleTool.SamplingDirection=CW

CircleTool.SetFilterAlg:

=103.935000,THR:

=0.445299,THS:

=43.000000

CircleTool.RunX:

=3.0294651,Y:

=-3.5513114,Z:

=-0.0005515,R1:

=0.7184305,R2:

=1.6943508

结果输出

=CR_andD_andRD_,Tag:

=0

QVBlock_3

PrivateSubQVBlock_4'

===========量测一点

Point1"

=-0.0003515,Coax:

//点工具

PointTool.SetFilterAlg:

=STRONG,TH:

=114.447964,THR:

=0.615292,THS:

=56.500000

PointTool.RunX:

=3.6253062,Y:

=-2.4226265,Z:

=-0.0005515,L:

=0.9841514,Angle:

=27.2282

//双区域对比工具

DualAreaContrastTool.SetFilterLightType:

=STAGE_TYPE,LightAngle:

=0.000000,MetricType:

=AVE_BRIGHT,WeightedMetric:

=true,OperationMode:

=DEPENDENT,MetricTol:

=0.100000

DualAreaContrastTool.RunX:

=4.2993618,Y:

=-3.6344991,Z:

=0.4920757,H:

=0.6170179,Angle:

=0.2282

=X_andY_andZ_,Tag:

QVBlock_4

PrivateSubQVBlock_5'

=============量测点并计算两点的距离

Point2"

Video.ChangeToImageContextCoax:

=0.14,Stage:

=qvWhite

找寻最大点

BoxTool.Mode=MAXPT

BoxTool.SamplingDirection=DIR_RIGHT

=92.823529,THR:

=0.573975,THS:

=21.500000

=-0.1525784,Y:

=-2.7707717,Z:

=-0.0005515,W:

=0.3149284,H:

=1.5180599,Angle:

对焦工具

=EDGE0,Speed:

FocusTool.EdgeSlope=BOTH

=-0.1284158,Y:

=-1.3995137,Z:

=0.0106486,W:

=0.6366058

计算Point2到Point2的距离

Construct.DistanceTag1:

Tag2:

Label:

Dim1"

=DX_andDY_andDZ_andLC_andSC_,Tag:

QVBlock_5

PrivateSubQVBlock_6'

=======量测一条线并计算交点

Line2"

=FALLING,EdgeQuality:

=99.045627,THR:

=0.373051,THS:

=-0.2105517,Y:

=-3.0158529,Z:

=3.5551984,Angle:

=-179.7718

使用自动亮度工具

BrightnessTool.SetFilterLightType:

=0.088212

BrightnessTool.RunX:

=0.8962639,Y:

=-1.6892524,Z:

=0.0105486,W:

=0.4625512,H:

=0.4015513,Angle:

=0.2282,LightMetric:

=0.664436

计算Line2与Line1的交点

Construct.IntersectPointTag1:

Point3"

=XY_PLANE,PreferredPoint:

=1

QVBlock_6

档案IO.QVB

1.在C根目录建立一个档案"

TEMP001.txt"

2.将文字写入档案,并关闭档案。

3.开启刚刚建立的档案

4.从档案读取数据

5.将读取的数据用讯息盒显示

6.将档案关闭

7.将档案删除

说明开档->

读档->

写入档案->

关档->

删档

DeclareSubcreatefile'

//宣告一个建立档案的子程序

//====main====

Submain

Dimmsgtextasstring

dimiasinteger

Callcreatefile'

//建立一个档案

'

//开启一个档案,数据输入用档案代号#1

Open"

\TEMP001.txt"

ForInputAs#1

//从档案取回前10个字放至msgtext

fori=1to10

msgtext=msgtext&

Input(1,#1)

nexti

//将读取到的数据利用讯息盒显示出来

MsgBoxmsgtext

//使用完毕后务必将档案关闭

Close#1

//***删除档案***

Kill"

EndSub

=======建立档案的子程序==============

Subcreatefile

//开启一个档案,数据写出用档案代号#1

forOutputas#1

//将文字写入档案

Write#1,"

这是刚建立的档案"

变量宣告.QVB

在子程序内与子程序外宣告变量,并由讯息框印出

两个变数的值。

说明变量宣告,全区域变量与单区域变量的不同

DeclareSubuse1

dimxasinteger'

宣告一个全区域整数变

=====subMain=====

subMain

x=5

Calluse1

MsgBox"

这是全区域变量x="

&

x'

这个讯息盒显示的是全区域变量

endSub

=====subuse1=====

Subuse1

dimx'

宣告一个单区域变量

x=6

这是单区域变量x="

这个讯息盒显示的是单区域变量

endsub

呼叫外部应用程序.QVB

执行外部应用程序记事本并开启档案aaa.dat,

将焦点放在开启的程序上。

说明呼叫外部应用程序

submain

//宣告一个传回植

dimidasLong

//执行记事本并开启档案aaa.dat,参数1=>

将焦点放在开启的程序上

id=Shell("

Notepad.exeaaa.txt"

1)

呼叫外部子程序.QVB

呼叫开启外部子程序,显示变量值,

呼叫开启外部函式,计算三角斜边长。

说明呼叫已编译过的外部QVBasic程序

//宣告子程序名称:

sss来源档名:

变量宣告.QVX子程序:

Main

DeclaresubsssBasicLib"

变量宣告.QVX"

Alias"

Main"

()

//宣告函式名称:

fun来源档名:

函式.QVX函式:

fun1(aasdouble,basdouble)传回的数据格式double

DeclareFunctionfunBasicLib"

函式.QVX"

alias"

fun1"

(aasdouble,basdouble)asdouble

==================Main()=====================

callsss'

//呼叫子程序sss

dimcasdouble

//c=呼叫函式fun1并给两个三角邻对边长度自变量(a,b)

c=fun(3,4)

//将得到的值显示在讯息框

三角形的两边是3,4斜边长="

c

endsub

※重要:

呼叫的子程序前面不可以宣告为private

※备注:

扩展名.QVX是编译过的量测程序

函式.QVB

程序

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

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

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