RationalDMIS本身使用DMIS5.0作为内部测量编程语言,在RationalDMIS中创建的DMIS语言在运行时不需要进行转换。

在本节我们只介绍如何创建一段简单的DMIS程序,对于详细的DMIS部分操作,请查看DMIS系统介绍部分。

有两种方法创建DMIS程序,一种是新建立一个Text编辑环境,自己手动写入DMIS代码;另一种方法就是应用软件“自学习”创建零件程序。

我们这里介绍没有CAD情况下的自学习DMIS程序,如果您希望使用CAD,请参阅应用CAD创建一个简单的零件程序部分。

开始创建自学习程序,我们需要先打开自学习开关,用鼠标点击软件界面右上角的自学习图标。



当箭头处于绿色的状态,我们就可以开始产生自学习零件程序了。

自学习打开/关闭支持快捷键操作:Ctrl + Q

在双数据区中,使用鼠标左键点击程序数据区图标,打开程序数据区窗口,以便查看零件程序或进行编辑操作:


在开始建立程序之前,让我们先手动将DMIS程序区的DMIS功能工具条显示出来,

在程序面板的右边,你会看到一个小箭头图标,将鼠标放在这个小箭头上,DMIS功能工具条就会自动显示出来。

这个工具条有一个锁定功能,在弹出的功能工具条的最上边,可以用鼠标点击进行锁定状态的切换,这时我们用鼠标点击它将功能工具条锁定起来。

当功能工具条锁定后,点击模式命令图标,在弹出菜单中点击“MODE/MAN”,

如果你选择了手动模式,你可以看到RationalDMIS会自动为我们产生一段DMIS代码。

产生的这段代码不仅包含了“MODE/MAN”,同时也包含了一段状态头的代码。

产生的这段状态头代码是可以配置的,配置的这一章节请参看程序-DMIS状态头这一节。

现在我们正处于手动模式之下,我们将建立一个简单的3-2-1坐标系。

让我们先测量工件顶部的一个平面,测量平面部分的帮助,请参看元素测量部分。

下一步,我们再测量一条线,用于坐标系对齐的线,测量线请参看元素测量部分。

然后再测量一条线或者是一个点也可以,测量点请参考元素测量部分。

您可以看到您所做的测量操作都已经被自学习下来了

现在,我们使用“创建坐标系”去创建一个坐标系,创建坐标系的帮助青参看坐标系-创建坐标系部分。

一旦我们对建立的坐标系比较满意,我们可以使用顶部的平面作为一个安全平面,这样可以减少我们使用人工方法判断安全移动的操作。

让我们现在将命令模式切换为“MODE/PROG,MAN”模式,对命令模式的详细信息请参考程序-模式命令的章节。

注意:如果您使用的是手动机,在“MODE/MAN”和“MODE/PROG,MAN”模式之间切换对于您的手动测量是没有任何影响的。


您现在可以继续测量元素,例如我们现在再测量2个圆元素。

对于测量圆的帮助,请参考元素测量部分。

现在,我们可以计算一下这两个圆的距离公差是多少。对于公差的操作请参看公差操作部分。

公差计算和输出操作会被同时记录在程序中。

在程序的末尾,我们点击“Endfil”加入文件结束的语句,这个声明将会关闭所有打开的输出设备。

您可能希望在操作时程序可以给您一些提示,这些功能可以通过手动编写DMIS代码快速完成。

要编辑DMIS代码,点击“转移到DMIS编辑器”图标。

DMIS编辑器将会显示这些DMIS代码,而程序区面板会变为空的。


选择光标定位到您想插入提示文本的地方,然后按一下Enter键创建出一个空白行。

在空白行的地方,使用键盘敲入“text/”,您可以看到,当您键入/后,会自动弹出一个提示菜单供您选择,选择OPER(操作),然后键入“Enter”,OPER这个单词会自动加到您的DMIS代码中。

在“OPER”的后面,加入一个“,”(逗号),DMIS编辑器会自动提示您输入一些文本,然后键入您想要再程序中提示的内容。

如果将您要输入的文本编辑完成,请最后输入“Enter”键结束。

或者,通过‘插入注释行’快速实现上述功能:

结束编辑后,将程序发送回DMIS程序面板,在程序编辑器面板的工具栏中点击“传送到程序”图标。


DMIS程序会重新传回到程序数据区,

滚动到程序数据区的最上方然后点击第一行。

保证机器此刻可以安全移动并点击“运行”按钮。

程序将会开始执行。

$$/*  Header
DMISMN/'Created by [爱科腾瑞科技(北京)有限公司-031521-DEMO-11022A(力合)] on 星期一, 二月 22, 2021', 4.0
UNITS/MM, ANGDEC, MMPS
WKPLAN/XYPLAN
PRCOMP/ON
TECOMP/ON
FLY/1.0000
MODE/MAN
SNSET/APPRCH, 2.0000
SNSET/RETRCT, 2.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, 20.0000
RECALL/D(MCS)
SNSLCT/S(40-D2)
GEOALG/BF, LSTSQR
GEOALG/ANGLB, DEFALT
GEOALG/CIRCLE, LSTSQR
GEOALG/ARC, LSTSQR
GEOALG/PLANE, LSTSQR
$$
$$
$$*/
MODE/MANTEXT/OPER,'测量一个顶面,然后测量前方的直线,最后测量左侧的点。'F(PLN1)=FEAT/PLANE,CART,32.0068,35.4983,0.0000,0.0000,0.0000,1.0000
$$ Measurement points are created through actual points
MEAS/PLANE, F(PLN1), 4PTMEAS/CART,  4.9622, 54.1968, 0.0000, 0.0000, 0.0000, 1.0000PTMEAS/CART,  3.5285, 11.7327, 0.0000, 0.0000, 0.0000, 1.0000PTMEAS/CART, 58.7345,  8.5180, 0.0000, 0.0000, 0.0000, 1.0000PTMEAS/CART, 60.8020, 67.5454, 0.0000, 0.0000, 0.0000, 1.0000
ENDMES
F(LN1)=FEAT/LINE,BND,CART,4.1956,0.0000,-2.8969,60.1243,0.0000,-3.1040,0.0000,-1.0000,0.0000
$$ Measurement points are created through actual points
MEAS/LINE, F(LN1), 2PTMEAS/CART,  4.1956, 0.0000, -2.8969, 0.0000, -1.0000, 0.0000PTMEAS/CART, 60.1243, 0.0000, -3.1040, 0.0000, -1.0000, 0.0000
ENDMES
F(PT1)=FEAT/POINT,CART,0.0000,6.3489,-3.7005,-1.0000,0.0000,0.0000
MEAS/POINT, F(PT1), 1PTMEAS/CART, 0.0000,6.3489,-3.7005,-1.0000,0.0000,0.0000
ENDMES
MODE/PROG,MAN
$$ MACRO: EASI_CLEARPLN_GOTO
$$ FUNCTION: CLEARANCE SURFACE IMPLEMENTATION
$$      Move machine CLEAR SURFACE DIST above the current clear surface
$$      plane and then move machine parallel to the clear surface plane
$$      ALL Macro parameters are in PCS and Current UNITS
$$      Last update: 3-1-04 Add mode checking. only works in PROG MODE
$$      Last update: 8-24-04 Clear position is based on the surface of
$$
$$ This sample DMIS Macro is provided by External-Array Software, Inc.
$$ It should be modified for your own use. There is no guarantee for
$$ the quality of this Macro. November, 2003M(EASI_CLEARPLN_GOTO) = MACRO/ISNOM, TARX, TARY, TARZDECL/LOCAL, REAL, CCX, CCY, CCZ, CCI, CCJ, CCKDECL/LOCAL, REAL, CURX, CURY, CURZ, TD, CLRDIST, SDIAMDECL/LOCAL, CHAR, 255, CLRLABEL, FLABEL, MMODE, SNAMEMMODE = VALUE/MODECLRLABEL = VALUE/SNSET, CLRSRFIF/ ( (LEN(CLRLABEL) .GT. 0) .AND. (MMODE .EQ. 'PROG,MAN') )CLRDIST = VALUE/SNSET, CLRSRF, DISTFLABEL = ASSIGN/'FA'IF/ ISNOM .EQ. 0FLABEL = ASSIGN/'F'ENDIFCCX = OBTAIN/FLABEL(@CLRLABEL), 3CCY = OBTAIN/FLABEL(@CLRLABEL), 4CCZ = OBTAIN/FLABEL(@CLRLABEL), 5CCI = OBTAIN/FLABEL(@CLRLABEL), 6CCJ = OBTAIN/FLABEL(@CLRLABEL), 7CCK = OBTAIN/FLABEL(@CLRLABEL), 8SNAME = VALUE/SNSLCTSDIAM = OBTAIN/SS(SNAME), 8CCX = ASSIGN/CCX + CCI * SDIAM/2CCY = ASSIGN/CCY + CCJ * SDIAM/2CCZ = ASSIGN/CCZ + CCK * SDIAM/2CURX = VALUE/GOTOM, XAXISCURY = VALUE/GOTOM, YAXISCURZ = VALUE/GOTOM, ZAXISTD = ASSIGN/(CURX - CCX) * CCI + (CURY - CCY) * CCJ + (CURZ - CCZ) * CCKIF/ TD .LT. CLRDISTTD = ASSIGN/(CLRDIST - TD)GOTO/CURX+CCI*TD, CURY+CCJ*TD, CURZ+CCK*TDENDIFTD = ASSIGN/(TARX - CCX) * CCI + (TARY - CCY) * CCJ + (TARZ - CCZ) * CCKIF/ TD .LT. CLRDISTTD = ASSIGN/(CLRDIST - TD)GOTO/TARX+CCI*TD, TARY+CCJ*TD, TARZ+CCK*TDENDIFENDIFENDMAC
SNSET/APPRCH, 2.0000
SNSET/RETRCT, 2.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, FA(PLN1), 20.0000
F(CIR1)=FEAT/CIRCLE,INNER,CART,31.5000,31.5000,-3.0000,0.0000,0.0000,1.0000, 20.0000
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 25.8435, 27.3763, 21.0000
MEAS/CIRCLE, F(CIR1), 5GOTO/CART,   25.8435, 27.3763, 21.0000PTMEAS/CART, 23.4193, 25.6091, -3.0000,  0.8081,  0.5891, 0.0000GOTO/CART,   27.3947, 25.8302, -3.0000GOTO/CART,   29.3477, 24.8391, -3.0000GOTO/CART,   31.5113, 24.5000, -3.0000PTMEAS/CART, 34.6056, 21.9944, -3.0000, -0.3106,  0.9506, 0.0000GOTO/CART,   35.6237, 25.8435, -3.0000GOTO/CART,   37.1698, 27.3947, -3.0000GOTO/CART,   38.1609, 29.3477, -3.0000PTMEAS/CART, 41.5000, 31.5162, -3.0000, -1.0000, -0.0016, 0.0000GOTO/CART,   38.1539, 33.6739, -3.0000GOTO/CART,   37.1565, 35.6237, -3.0000GOTO/CART,   35.6053, 37.1698, -3.0000PTMEAS/CART, 34.5748, 41.0156, -3.0000, -0.3075, -0.9516, 0.0000GOTO/CART,   31.4887, 38.5000, -3.0000GOTO/CART,   29.3261, 38.1539, -3.0000GOTO/CART,   27.3763, 37.1565, -3.0000PTMEAS/CART, 23.4003, 37.3648, -3.0000,  0.8100, -0.5865, 0.0000GOTO/CART,   25.8302, 35.6053, 21.0000
ENDMES
F(CIR2)=FEAT/CIRCLE,INNER,CART,52.4500,11.5500,-3.0000,0.0000,0.0000,1.0000, 6.7960
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 52.0537, 11.5128, 21.0000
MEAS/CIRCLE, F(CIR2), 5GOTO/CART,   52.0537, 11.5128, 21.0000PTMEAS/CART, 49.0668, 11.2327, -3.0000,  0.9956,  0.0934, 0.0000PTMEAS/CART, 51.7063,  8.2344, -3.0000,  0.2188,  0.9758, 0.0000PTMEAS/CART, 55.3735,  9.8182, -3.0000, -0.8604,  0.5097, 0.0000PTMEAS/CART, 55.0005, 13.7953, -3.0000, -0.7506, -0.6608, 0.0000PTMEAS/CART, 51.1027, 14.6695, -3.0000,  0.3965, -0.9180, 0.0000GOTO/CART,   52.2922, 11.9154, 21.0000
ENDMES
T(TDST1)=TOL/DISTB,NOMINL,28.9500,-0.0500,0.0500,XYPLAN,AVG
OUTPUT/FA(CIR1),FA(CIR2),TA(TDST1)
ENDFIL

RationalDMIS 2020 快速学习DMIS程序制作相关推荐

  1. Java语法快速学习-黑马程序员(个人整理版本)

    Java入门基础视频教程,java零基础自学首选黑马程序员Java入门教程(含Java项目和Java真题)_哔哩哔哩_bilibili为了帮助广大对Java有兴趣和立志进入本行业的零基础学员,本套课程 ...

  2. 公需科目2020快速学习_2021公需科目快速学习方法

    1 如图所示,在这种情况下,驾驶机动车要停车让行.查看本题分析 2 机动车之间发生交通事故,不管是否有人员伤亡,只要双方当事人同意,都可自行协商解决.查看本题分析 3 风.雨.雪.雾等复杂气象条件,遇 ...

  3. RationalDMIS 2020快速输出极半径和极角

    方法一:极坐标系下输出 DMESW/COMAND,'CrdType/Pol' WKPLAN/XYPLAN$$ Set.OutputCtrl.Circle(XY) OUTPUT/FA(J-1) OUTP ...

  4. 公需科目2020快速学习_重庆2020公需科目快速学习方法

    browser.get('https://cqrl.21tb.com/') def url(): handles = browser.window_handles browser.switch_to. ...

  5. 学习前端第三天-----小程序制作

    几天没有更新,最近参加了前端学习的夏令营,收获了很多东西. 学习周期 7月26~8月4日 学习内容 1. 统一讲授基础的技术(前端 + 后端) 2. 暂定时间 7月30日 结束基础技术讲解 3. 7月 ...

  6. Python基础(编写程序制作英文学习词典)

    制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...

  7. 2020年转行做程序员_2020年制作教育应用程式需要多少费用

    2020年转行做程序员 Undoubtedly, 2020 has bought a drastic change in almost every industry, and education is ...

  8. 有 OC 经验的程序员快速学习 Swift 语法

    前言 苹果官方推出 Swift 语言至今,已经过了 7 年之久,Swift 也更新到了 5.5 版本, 它的语法和 API 也趋向于稳定.最近闲来无事,决定开始研究这 iOS 开发编程语言的语法.因为 ...

  9. 数据科学学习心得_如何快速学习数据科学

    数据科学学习心得 Learning R can take a lot of time. But while it's impossible to become an expert overnight, ...

最新文章

  1. Zookeeper集群部署和使用
  2. 北极星OKR斩获2021年阿里钉钉生态峰会开放平台年度银奖
  3. 使用expvar进行监控
  4. 【CyberSecurityLearning 57】XSS
  5. qwidget多个窗口同步_【好人BUG】本机多组控制 一台电脑使用一个帐号登录多个(省钱) !...
  6. C学习杂记(三)笔试题:字符串大小写字母切换
  7. xadmin与mysql数据库_十八、Django3.0学习之引入xadmin
  8. AliOS Things蓝牙协议栈及应用开发框架介绍
  9. ruby 执行函数_Ruby at()函数
  10. Android 系统性能优化(40)---Android LowMemoryKiller原理分析
  11. 前端开发之功能封装大全
  12. 第7月第25天 xcode bundle calayer动画
  13. 20191111每日一句
  14. ruby 1.9.3 字符和asscii转换
  15. 解决:“/****/kafka_2.13-3.0.0/bin/kafka-run-class.sh: line 342: exec: java: not found ”问题
  16. 报表热切换是什么意思?如何做到?
  17. 新买的华为Matebook,Office没激活,激活方法在这里!!!
  18. ​模拟人生3 Mac版自由性超高的模拟游戏
  19. Python猜数字项目源代码
  20. 湖南生物机电职院信息技术学院召开第一届思政工作会议

热门文章

  1. Unity3D C#数学系列之三角函数
  2. 吴恩达机器学习-课后习题
  3. zookpeer链接报错Socket is not connected
  4. 华为云计算正扬帆启航
  5. 医学图像分割文章阅读笔记
  6. Android第三方登录
  7. 80、90后员工管理八项注意
  8. HostEase虚拟主机融合先进科技 全面提升产品核心竞争力
  9. 开心的小明(ACM)
  10. Go语言核心36讲(Go语言实战与应用十三)--学习笔记