DMISMN/'Created by [山涧果子] on 星期六, 九月 15, 2018', 4.0
UNITS/MM, ANGDEC, MMPS
WKPLAN/XYPLAN
PRCOMP/ON
TECOMP/ON
FLY/1.000000
MODE/PROG, MAN
SNSET/APPRCH, 2.000000
SNSET/RETRCT, 2.000000
SNSET/DEPTH, 0.000000
SNSET/SEARCH, 10.000000
SNSET/CLRSRF, 10.000000
RECALL/D(MCS)
SNSLCT/S(21_5_1_21_5_A45D0_B135D0)
GEOALG/BF, LSTSQR
GEOALG/ANGLB, COMPLM
GEOALG/CIRCLE, LSTSQR
GEOALG/ARC, LSTSQR
GEOALG/PLANE, LSTSQR
$$
$$DECL/COMMON, CHAR, 256, KNPTC1KNPTC1 = PROMPT/'请输入测量轴向!'TEXT/OUTFIL, KNPTC1MODE/MAN
$$ Following block is generated by Quick 321 alignment
DECL/COMMON, DOUBLE, DPROBEX, DPROBEY, DPROBEZ
PRCOMP/OFF
F(PT1)=FEAT/POINT,CART,-396.864,32.175,428.648,-0.000,-1.000,-0.000
F(PT2)=FEAT/POINT,CART,-393.431,32.175,420.868,-0.000,-1.000,-0.000
F(PT3)=FEAT/POINT,CART,-368.566,32.175,427.241,-0.000,-1.000,-0.000
F(PT4)=FEAT/POINT,CART,-397.036,37.688,432.024,-0.020,0.000,1.000
F(PT5)=FEAT/POINT,CART,-373.089,37.085,432.496,-0.020,0.000,1.000
F(PT6)=FEAT/POINT,CART,-402.094,38.316,426.513,-1.000,-0.000,-0.020
MEAS/POINT, F(PT1), 1PTMEAS/CART, -396.864,32.175,428.648,-0.000,-1.000,-0.000, APPRCH, 3.000000, RETRCT, 3.000000
ENDMES
MEAS/POINT, F(PT2), 1PTMEAS/CART, -393.431,32.175,420.868,-0.000,-1.000,-0.000, APPRCH, 3.000000, RETRCT, 3.000000
ENDMES
MEAS/POINT, F(PT3), 1PTMEAS/CART, -368.566,32.175,427.241,-0.000,-1.000,-0.000, APPRCH, 3.000000, RETRCT, 3.000000
ENDMES
MEAS/POINT, F(PT4), 1PTMEAS/CART, -397.036,37.688,432.024,-0.020,0.000,1.000, APPRCH, 3.000000, RETRCT, 3.000000
ENDMES
MEAS/POINT, F(PT5), 1PTMEAS/CART, -373.089,37.085,432.496,-0.020,0.000,1.000, APPRCH, 3.000000, RETRCT, 3.000000
ENDMES
MEAS/POINT, F(PT6), 1PTMEAS/CART, -402.094,38.316,426.513,-1.000,-0.000,-0.020, APPRCH, 3.000000, RETRCT, 3.000000
ENDMES
KNPTR1 = OBTAIN/FA(PT1)[1], 5
KNPTR2 = OBTAIN/FA(PT1)[1], 6
KNPTR3 = OBTAIN/FA(PT1)[1], 7
F(PLN1) = FEAT/PLANE, CART, 0,0,0, KNPTR1,KNPTR2,KNPTR3
CONST/PLANE, F(PLN1), BF, FA(PT1), FA(PT2), FA(PT3)
KNPTR1 = OBTAIN/FA(PT4), 3
KNPTR2 = OBTAIN/FA(PT4), 4
KNPTR3 = OBTAIN/FA(PT4), 5
KNPTV1 = ASSIGN/VCART(KNPTR1,KNPTR2,KNPTR3)
KNPTR1 = OBTAIN/FA(PT5), 3
KNPTR2 = OBTAIN/FA(PT5), 4
KNPTR3 = OBTAIN/FA(PT5), 5
KNPTV2 = ASSIGN/VCART(KNPTR1,KNPTR2,KNPTR3)
KNPTV3 = ASSIGN/KNPTV2 - KNPTV1
KNPTV1 = ASSIGN/VUNIT(KNPTV3)
KNPTR1 = OBTAIN/FA(PT4)[1], 5
KNPTR2 = OBTAIN/FA(PT4)[1], 6
KNPTR3 = OBTAIN/FA(PT4)[1], 7
F(LN1) = FEAT/LINE, UNBND, CART, 0.000, 0.000, 0.000, VECX(KNPTV1), VECY(KNPTV1), VECZ(KNPTV1), KNPTR1, KNPTR2, KNPTR3
CONST/LINE, F(LN1), BF, FA(PT4), FA(PT5)
D(CRD1) =DATSET/FA(PLN1), ZDIR, ZORIG
D(CRD1) =ROTATE/ZAXIS, FA(LN1), XDIR
D(CRD1) =TRANS/YORIG, FA(LN1)
D(CRD1) =TRANS/XORIG, FA(PT6)
KNPTC1 =VALUE/SNSLCT
KNPTR1 =OBTAIN/SS(KNPTC1), 8
DPROBEZ =ASSIGN/(KNPTR1/2)
KNPTR1 = OBTAIN/FA(PT4)[1], 5
KNPTR2 = OBTAIN/FA(PT4)[1], 6
KNPTR3 = OBTAIN/FA(PT4)[1], 7
KNPTV1 = ASSIGN/VCART(KNPTR1,KNPTR2,KNPTR3)
KNPTV2 = ASSIGN/VCART(0,1,0)
IF/(VDOT(KNPTV1,KNPTV2) .GT. 0)DPROBEY = ASSIGN/(-DPROBEZ)
ELSEDPROBEY = ASSIGN/DPROBEZ
ENDIF
KNPTR1 = OBTAIN/FA(PT6)[1], 5
KNPTR2 = OBTAIN/FA(PT6)[1], 6
KNPTR3 = OBTAIN/FA(PT6)[1], 7
KNPTV1 = ASSIGN/VCART(KNPTR1,KNPTR2,KNPTR3)
KNPTV2 = ASSIGN/VCART(1,0,0)
IF/(VDOT(KNPTV1,KNPTV2) .GT. 0)DPROBEX = ASSIGN/(-DPROBEZ)
ELSEDPROBEX = ASSIGN/DPROBEZ
ENDIF
D(CRD1) =TRANS/XORIG, DPROBEX, YORIG, DPROBEY, ZORIG, -DPROBEZ
PRCOMP/ON
$$
RECALL/D(CRD1)
$$
TEXT/OPER, '请将测头移动到安全位置!'
$$
$$
MODE/PROG,MANGOTO/-5, 35.000, -4.5DECL/COMMON,INTGR,IDECL/COMMON,INTGR,JDECL/COMMON,CHAR,255,C1$$  量块长度!!DECL/COMMON,DOUBLE,LK[5]$$   LK[1] = PROMPT/'请输入量块1长度!', 800, 50
$$   LK[2] = PROMPT/'请输入量块2长度!', 800, 50
$$   LK[3] = PROMPT/'请输入量块3长度!', 800, 50
$$   LK[4] = PROMPT/'请输入量块4长度!', 800, 50
$$   LK[5] = PROMPT/'请输入量块5长度!', 800, 50
$$   LK[6] = PROMPT/'请输入量块5长度!', 800, 50LK[1] = ASSIGN/499.9998LK[2] = ASSIGN/400.0019LK[3] = ASSIGN/300.0002LK[4] = ASSIGN/125.0001LK[5] = ASSIGN/30.0003$$  请输入量块数量!DECL/COMMON,DOUBLE,KNKN = ASSIGN/5$$  KN = PROMPT/'请输入量块数量!', 10.000000, 1.000000$$  测量安全高度!!DECL/COMMON,DOUBLE,ZT$$ ZT = PROMPT/'请输入测量安全高度!', 100.000000, 10.000000ZT = ASSIGN/30$$  移动到安全位置!!
DO/I,1,KN,1C1 = ASSIGN/CONCAT('量块长度为:',STR(LK[I]))TEXT/OUTFIL, C1GOTO/-5.000, ZT, -4.500
F(DCC-1)=FEAT/POINT,CART,0.000,-5.000,-4.500,-1.000,0.000,-0.000
MEAS/POINT, F(DCC-1), 1PTMEAS/CART, 0.000,-5.000,-4.500,-1.000,0.000,-0.000, APPRCH, 2.000000, RETRCT, 2.000000
ENDMES
GOTO/-5.000, ZT, -4.500
GOTO/5.000, ZT, -4.500
F(DCC-2)=FEAT/POINT,CART,5.000,0.000,-4.500,0.000,1.000,0.000
MEAS/POINT, F(DCC-2), 1PTMEAS/CART, 5.000,0.000,-4.500,0.000,1.000,0.000, APPRCH, 2.000000, RETRCT, 2.000000
ENDMES
GOTO/5.000, ZT, -4.500
GOTO/5.000, ZT, 5.000
F(DCC-3)=FEAT/POINT,CART,5.000,-4.000,0.000,0.000,0.000,1.000
MEAS/POINT, F(DCC-3), 1PTMEAS/CART, 5.000,-4.000,0.000,0.000,0.000,1.000, APPRCH, 2.000000, RETRCT, 2.000000
ENDMES
F(DCC-4)=FEAT/POINT,CART,5.000,-10.000,0.000,0.000,0.000,1.000
MEAS/POINT, F(DCC-4), 1PTMEAS/CART, 5.000,-10.000,0.000,0.000,0.000,1.000, APPRCH,2.000000, RETRCT, 2.000000
ENDMES
GOTO/5.000, ZT, 5.000
GOTO/LK[I]-5, ZT, 5.000
F(DCC-5)=FEAT/POINT,CART,LK[I]-5,-10.000,0.000,0.000,0.000,1.000
MEAS/POINT, F(DCC-5), 1PTMEAS/CART, LK[I]-5,-10.000,0.000,0.000,0.000,1.000, APPRCH, 2.000000, RETRCT, 2.000000
ENDMES
F(DCC-6)=FEAT/POINT,CART,LK[I]-5,-4.000,0.000,0.000,0.000,1.000
MEAS/POINT, F(DCC-6), 1PTMEAS/CART, LK[I]-5,-4.000,0.000,0.000,0.000,1.000, APPRCH, 2.000000, RETRCT, 2.000000
ENDMES
GOTO/LK[I]-5, ZT, 5.000
GOTO/LK[I]-5, ZT, -4.5F(DCC-7)=FEAT/POINT,CART,LK[I]-5,0.000,-4.500,0.000,1.000,0.000
MEAS/POINT, F(DCC-7), 1PTMEAS/CART, LK[I]-5,0.000,-4.500,0.000,1.000,0.000, APPRCH, 2.000000, RETRCT, 2.000000
ENDMES
GOTO/LK[I]-5, ZT, -4.500
GOTO/LK[I]+5, ZT, -4.500
F(PLN_BF1)=FEAT/PLANE,CART,LK[I]/2,-7.000,0.000,0.000,0.000,1.000
CONST/PLANE,F(PLN_BF1),BF,FA(DCC-3),FA(DCC-4),FA(DCC-5),FA(DCC-6)CALL/M(EASI_2PT_TO_LINE),(DCC-2),(DCC-7),(LN_BF1), 0.000, 1.000, 0.000
CONST/LINE,F(LN_BF1),BF,FA(DCC-2),FA(DCC-7)
D(CRD2) = DATSET/FA(PLN_BF1), ZDIR, ZORIG, FA(LN_BF1), XDIR, YORIG, FA(DCC-1), XORIG
D(CRD2) = TRANS/ZORIG, -0, YORIG, -0, XORIG, -0
RECALL/D(CRD2)
$$
$$
$$ Set.OutputCtrl.USERDF.Decpl.Nom(5)
$$ Set.OutputCtrl.USERDF.Decpl.Act(5)
$$ Set.OutputCtrl.USERDF.Decpl.Dev(5)
$$ Set.OutputCtrl.USERDF.Decpl.Tol(5)$$  评价距离公差,循环次数!!$$  评价距离公差,循环次数!!DECL/COMMON,INTGR,NUMNUM = ASSIGN/3$$  NUM = PROMPT/'请输入循环次数!', 100, 3DECL/COMMON,REAL,T1[NUM]DECL/COMMON, DOUBLE, KNPTR1DECL/COMMON, DOUBLE, KNPTR2DECL/COMMON, DOUBLE, KNPTR3DECL/COMMON,DOUBLE,Z_MAX,Z_MINDECL/COMMON, DOUBLE,AVERAGDECL/COMMON,DOUBLE,V1DECL/COMMON,CHAR,255,C2DECL/COMMON,CHAR,255,C3DECL/COMMON,CHAR,255,C4DO/J,1,NUM,1C4 = ASSIGN/CONCAT('TDST1','-',STR(J))GOTO/LK[I]+10, ZT, -4.500F(TEST-1)=FEAT/POINT,CART,LK[I],-5.000,-4.500,1.000,0.000,0.000
MEAS/POINT, F(TEST-1), 1PTMEAS/CART, LK[I],-5.000,-4.500,1.000,0.000,0.000, APPRCH, 2.000000, RETRCT, 2.000000
ENDMES
GOTO/LK[I]+5, ZT, -4.500
GOTO/-5.000,ZT, -4.500
F(TEST-2)=FEAT/POINT,CART,0.000,-5.000,-4.500,-1.000,0.000,-0.000
MEAS/POINT, F(TEST-2), 1PTMEAS/CART, 0.000,-5.000,-4.500,-1.000,0.000,-0.000, APPRCH, 2.000000, RETRCT,2.000000
ENDMES
GOTO/-5.000, ZT, -4.500$$  KNPTR1 = PROMPT/'请输入探测误差!', 5.000000, 0.300000KNPTR1 = ASSIGN/1.4KNPTR2 = ASSIGN/(1.4+LK[I]/300)/1000$$  300需要更改为需要的数值!T(@C4)=TOL/DISTB,NOMINL,LK[I],-KNPTR2,KNPTR2,XAXIS,AVGOUTPUT/FA(TEST-1),FA(TEST-2),TA(@C4)T1[J]= VALUE/TA(@C4),ACTENDDOZ_MAX= ASSIGN/T1[1]Z_MIN= ASSIGN/T1[1]AVERAG= ASSIGN/T1[1]DO/J,1,NUM,1IF/(T1[J].GT.Z_MAX)Z_MAX = ASSIGN/T1[J]ENDIFIF/(T1[J].LT.Z_MIN)Z_MIN= ASSIGN/T1[J]ENDIFENDDODO/J,2,NUM,1AVERAG= ASSIGN/(AVERAG+T1[J])ENDDOKNPTR3 = ASSIGN/Z_MAX-Z_MINC2= ASSIGN/CONCAT('重复性误差为;',STR(KNPTR3))TEXT/OUTFIL,C2V1 = ASSIGN/AVERAG/NUMC3 = ASSIGN/CONCAT('实测平均值:',STR(V1))TEXT/OUTFIL, C3IF/(I.LT.4)D(CRD3) = TRANS/XORIG, 0, YORIG, 0, ZORIG, -20RECALL/D(CRD3)ENDIFIF/(I.EQ.4)D(CRD4) = TRANS/XORIG,54.48, YORIG, 0, ZORIG, -20RECALL/D(CRD4)ENDIFENDDO

RationalDMIS 7.1 量块程序 2020相关推荐

  1. RationalDMIS 7.0量块程序(力合)

    DMISMN/'Created by [深圳力合精密装备科技有限公司-030119] on 星期六, 九月 15, 2018', 4.0 UNITS/MM, ANGDEC, MMPS WKPLAN/X ...

  2. AC-DMIS 5.6量块程序 2020

    INITSAVE-COORSYS("INIT")!V40 绕行路径:左1右2上3!V41 前端避让距离>=1MM!V42 侧面避让距离>=20MM!V43 后端避让距离 ...

  3. RationalDMIS 2020 高级编程之量块程序示例2021(山涧果子)

    #山涧果子# DECL/LOCAL, REAL, LPNUM,HEIGHT, TOLERROR DECL/LOCAL, CHAR, 20, BARAXIS,PROB,ANS DECL/COMMON,D ...

  4. 次坐标从0开始_三坐标测量机安全使用+量块校准操作规程

    知识点:  CMM校准依据: <JJF1064-2010坐标测量机校准规范>(基本等同于ISO10360)标准器:尺寸实物标准器.检测球.二维靶标. 校准项目: (1)尺寸测量误差校准 对 ...

  5. TIA博途中如何设计报警功能块FB,来简化编写离散量报警程序的时间?

    TIA博途中如何设计报警功能块FB,来简化编写离散量报警程序的时间? 如何设计一个报警FB,来简化离散量报警的组态时间,这里介绍一种方法,即通过GetSymbolName指令来获取变量的名称,从而输出 ...

  6. 国产M0核风机量产程序开发方案… FOC电机控制开发方案…3电阻采样

    国产M0核风机量产程序开发方案- FOC电机控制开发方案-3电阻采样 出售一份基于国产M0核MCU平台, 风机量产程序,包含龙博格电机观测器,SVPWM,顺逆风启动,五段式与七段式调制等源码,完全可以 ...

  7. 西门子PLC模拟量滤波程序,西门子1200和1500通用,有电压或者电流或者热电偶选择

    西门子PLC模拟量滤波程序,西门子1200和1500通用,有电压或者电流或者热电偶选择,高低位和高高低低位报警,有滤波功能,非常实用的功能块,配有详细的注释,帮助快速理解. ID:6296593232 ...

  8. HDFS全量块汇报(FBR)的限流机制

    文章目录 前言 HDFS全量块汇报(FBR)的性能问题 NameNode的FBR限流机制 BR Lease的管理控制 基于BR Lease的FBR限流逻辑 引用 前言 众所周知在HDFS中,DataN ...

  9. 大数据量情况程序处理技巧

    批量更新: PreparedStatement并不能减少sql的执行数目. 参数传入多少次,就会执行多少条sql. 在一个事务中,由于Statement与PrestatedStatement都使用的同 ...

最新文章

  1. GlusterFS-FUSE
  2. Java并发编程(6):Runnable和Thread实现多线程的区别(含代码)
  3. Altium Designer -- PCB布线面试题(转)
  4. ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
  5. SQL Server---触发
  6. gcc __attribute__关键字举例之visibility
  7. nginx日志中文变成类型\xE9\xA6\x96\xE9\xA1\xB5-\xE6\x8E\xA8\xE8\x8D\x90的东西
  8. 八款Js框架介绍及比较~转载
  9. 关于JTAG,你知道的和不知道的都在这里
  10. java处理文本的方法
  11. dlan android手机,电脑与手机远程互通八款DLNA安卓手机推荐
  12. 《大数据之路-阿里巴巴大数据实践》拆书稿以及数仓架构的思考
  13. 威胁猎人|改机工具在黑灰产中的应用
  14. linux 网速限制
  15. BZOJ1189: [HNOI2007]紧急疏散evacuate(二分答案,最大流)
  16. js 数组entries迭代方法
  17. 免费视频教程!零基础学Python系列(7) - 数据类型之bytes(上)
  18. kettle多数据合并
  19. 网页导出pdf不完整_PDF 文件编辑方法和工具大全
  20. 直播报名 | Apache Kylin Meetup

热门文章

  1. 美学心得(第二百三十七集) 罗国正
  2. 大学物理实验 基本量的测量
  3. linux flock 命令安装,在Linux上使用flock命令控制程序的异步执行
  4. MyBatis-第三章 动态SQL
  5. scratch二级考纲
  6. python发邮件附件_python 发送带附件的邮件
  7. Mysql经典面试题(建议收藏)
  8. 英国名校TOP10对Alevel成绩要求汇总
  9. 利用audacity分析浊音、清音、爆破音的时域及频域特性
  10. 表单验证设计的用户体验基本原则