首页/文章/ 详情

使用DMIS来给出点轮廓公差的算法实现

1年前浏览2075

   《使用DMIS来给出点轮廓公差的算法实现》本文的作者是傅海鑫(RationalDMIS 爱科腾瑞技术经理),我读了这篇文章,受益匪浅。


    在车身及薄壁件的测量当中,经常需要评价点轮廓公差并给出报告,但是点轮廓的具体意义是什么呢?


     很多人误以为是理论点和实际点的距离,这个理解是错误的;比较常用的一个说法将点轮廓公差叫做点的综合误差,也就是在法矢方向的误差,这个误差值有正负区分;当实际点相对于理论点及理论法矢在正方向,点轮廓为正;否则为负;


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



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

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


算法原型基于高中数学,空间向量的夹角和距离公式,可参考以下网址的材料辅助理解:

 https://wenku.baidu.com/view/0dc0a1dc7f1922791688e8e4.html

以下给出演示算法的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-01
最近编辑:1年前
山涧果子
大专 签名征集中
获赞 203粉丝 48文章 1203课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈