首页/文章/ 详情

RationalDMIS 7.1 矢量误差算法(使用DMIS来给出点轮廓公差的算法实现)

1年前浏览754

相关文章,在仿真秀官网搜索:

RationalDMIS 7.1变量取值最大偏差/最小偏差(面轮廓度)


RationalDMIS 7.1曲面测量与评价(面轮廓度)


RationalDMIS3.5—6.5面轮廓度如何评价


RationalDMIS  PC-DMIS   Metrolog XG关于测量中法向偏差的计算(点轮廓度,T值,ND)


PC-DMIS中的T值与RationalDMIS点轮廓度是分别如何评价的?


RationalDMIS 7.0 图形区点颜色显示点轮廓度(T值)是否超差


    在车身及薄壁件的测量当中,经常需要评价点轮廓公差并给出报告,但是点轮廓的具体意义是什么呢?很多人误以为是理论点和实际点的距离,这个理解是错误的;比较常用的一个说法将点轮廓公差叫做点的综合误差,也就是在法矢方向的误差,这个误差值有正负区分;当实际点相对于理论点及理论法矢在正方向,点轮廓为正;否则为负;


    如下图:黑色原点及箭头为理论点和理论法矢,红色原点和蓝色原点分别为在正方向和负方向的2个实测点,那么点轮廓绝对值就是将实测点投影到过理论点以理论法矢为方向的直线上得到的投影点和理论点之间的距离;



在DMIS标准中点轮廓公差的定义说明如下:


   TOL/PROFP:Specifies a profile tolerance applied to a point along the normal of the point's corresponding line(curve) or surface



算法原型基于高中数学,空间向量的夹角和距离公式:


   三坐标给出的面的矢量偏差通常是这样获得的:由CAD数模可以得到曲面上某点M的理论坐标值(x0,y0,z0),和过该点的法线向量m与X、Y、Z三个坐标轴的夹角θ10,θ20,θ30,建立M点的标准法向矢量。设实测点为M1,获得坐标为(x1,x2,x3),那么差值为:


Mx = x1-x0

My = y1-y0

Mz = z1-z0


M0-M1的向量为:



    P=DX*I+DY*J+DZ*K


M0M1向量在法线向量m上的投影就是通常三坐标测量给出的曲面的P - “法向偏差”。法向偏差通常是GD&T中的轮廓度的公差值。


P值为正,实测点在该点负值的切平面外侧(通常三坐标软件表示为黄或红色),工件做大了。P为负值,实测点在该点的切平面内侧(通常三坐标软件表示为蓝色),说明工件做小了。因此法向偏差P可以比较直观的显示零件的某处是做大了还是做小了。



以下给出演示算法的DMIS程序: 


$$ Calc point profile

$$ By FuHaixin,  Ver:20170511

M(PtProfile)=MACRO/'PtLabel'

 DECL/COMMON,DOUBLE,NOMX, NOMY, NOMZ, NOMI, NOMJ, NOMK

 DECL/COMMON,DOUBLE,ACTX, ACTY, ACTZ

 DECL/COMMON,DOUBLE,PtDist

 

 NOMX = OBTAIN/F(@PtLabel),3

 NOMY = OBTAIN/F(@PtLabel),4

 NOMZ = OBTAIN/F(@PtLabel),5

 NOMI = OBTAIN/F(@PtLabel),6

 NOMJ = OBTAIN/F(@PtLabel),7

 NOMK = OBTAIN/F(@PtLabel),8

 ACTX = OBTAIN/FA(@PtLabel),3

 ACTY = OBTAIN/FA(@PtLabel),4

 ACTZ = OBTAIN/FA(@PtLabel),5

 

 $$ 计算理论点实际点距离


 PtDist = ASSIGN/ SQRT( (NOMX-ACTX)*(NOMX-ACTX) + (NOMY-ACTY)*(NOMY-ACTY) + (NOMZ-ACTZ)*(NOMZ-ACTZ) )

 

 DECL/COMMON,VECTOR,VcAct2Nom

 DECL/COMMON,DOUBLE, VcAct2NomI, VcAct2NomJ, VcAct2NomK


 $$ 得到实际点和理论点连线的向量,并将向量单位化;


 VcAct2Nom = ASSIGN/ VCART( NOMX-ACTX, NOMY-ACTY, NOMZ-ACTZ )

 VcAct2Nom = ASSIGN/ VUNIT( VcAct2Nom )

 VcAct2NomI = ASSIGN/ VECX( VcAct2Nom )

 VcAct2NomJ = ASSIGN/ VECY( VcAct2Nom )

 VcAct2NomK = ASSIGN/ VECZ( VcAct2Nom )

 

 $$ 计算点轮廓结果;


 DECL/COMMON,DOUBLE,COSAngle , PtProf

 COSAngle=ASSIGN/(NOMI*VcAct2NomI+NOMJ*VcAct2NomJ +NOMK*VcAct2NomK)/SQRT(NOMI*NOMI+NOMJ*NOMJ+ NOMK*NOMK)/SQRT(VcAct2NomI*VcAct2NomI+ VcAct2NomJ*VcAct2NomJ+ VcAct2NomK*VcAct2NomK )

 PtProf = ASSIGN/ COSAngle * PtDist * -1

 

 $$ WRITE/DID(DefaultScreen),PtProf

 

ENDMAC


CALL/M(PtProfile),'PT1'

CALL/M(PtProfile),'PT2'

CALL/M(PtProfile),'PT3'

CALL/M(PtProfile),'PT4'

CALL/M(PtProfile),'PT5'

CALL/M(PtProfile),'PT6'

CALL/M(PtProfile),'PT7'

CALL/M(PtProfile),'PT8'

CALL/M(PtProfile),'PT9'

CALL/M(PtProfile),'PT10'



来源:RationalDMIS测量技术
ACT理论曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-07-11
最近编辑:1年前
山涧果子
大专 签名征集中
获赞 203粉丝 48文章 1203课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈