PROE-Program程序设计全解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PROE/PROGRAM程序设计全解析
前言:本文对PROE/PROGRAM的所有语句及语法进行了详细的解说,并配备实例讲解。
关键字:Program、Input……End Input、Relations……End Relations、Add……End Add、Execute……End Execute、If……End If、Massprop……End Massprop、Lookup_in st、Suppressed、Modify、Choose、Interact。
PROE/PROGRAM其实是一门很简单的程序设计语言。这门语言的基本词语总共就只有11个:Input……End Input、Relations……End Relations、Add……End Add、Execute……E nd Execute、If……End If、Massprop……End Massprop、Lookup_inst、Suppressed、Mo dify、Choose、Interact。所有的一切,都是这里11个词组合出来。
PROE/PROGRAM的入口,在2001里是“菜单管理器”—>PART(或Assembly) ”程序”,在WF里是“工具” “程序”.
我们先看一下一般的程序都是什么样子:
两图上可看到,程序可分成几个部份,第一部份是版本与文件信息.第二部份是一个Inp ut……End Input语句.第三部份是一个Relations……End Relations语句.第四部份是若干个Add……End Add语句.第五部份是一个Massprop……End Massprop语句.
第一部份不用管它,系统自动生成的.第二部份就是设置变量的地方.第三部份就是设置关系式的地方.第四部份是管理所有的特征及零件的地方.第五部份是设置质量属性的地方.我们用PROGRAM的重点,就在第二/三/四这三块.
下面我先一个个说说这11个词都什么意思及如何使用.基本上兄弟们理解了它们的用法,也就自然而然理解了程序的设计与修改了.
第一个,IF……End If
这个就是各种编程语言里都有的大名鼎鼎的条件语句了.实际上它是:
IF 条件1
……(执行语句段1)
Else
……(执行语句段2)
End If.
其含义是:如果满足条件1,则执行第一段的各种语句,否则,执行第二段的各种语句.El se和第二段是可以没有的,但End If是不可少的,且一个IF对应一个End IF,其数量是相等的.IF语句是一个逻辑语句,使用它的目的就是实现分支设计.单独使用是没有意义的,它必须和其它的语句一起使用(也就是必须有执行语句段----至少有一句).它本身可以嵌套,因此也就可以实现多重条件的组合运用.
第二个,Input……End Input.
Input……End Input是一个复合词,它实际上是一个程序段,这个程序段以Input为第一行,以End Input为最后一行,中间的就是我们这个程序中需要人工输入的变量和变量类型以及相关提示信息.程序每次再生的时候,系统会提示我们输入这个做里列出的每一个变量的新值.典型的Input段如下:
Input
A Number
B
C String
D Yes-No
Endinput
这里有几点要记住:
A.所有的变量都要以字母开头.
B.变量的类型有三种:Number,String,Yes-NO.Number就是实数型,其值是任意一个实数,String就是字符型,取值是任意一个字符串,Yes-No就是布尔型,也就是取值为YES或NO 之一.
C.如果设置时不指定变量类型(像上面的那个B),则系统当它是实数型.
D.当提示输入时我们不输入新值,则各个变量系统会取当前值,如是第一次运行时也不输入,则系统将实数型变量取值为0,布尔型变量取值为NO,字符串型变量取值为空。
在Input段中可使用IF……Else……End If,以实现选择性输入.
在Input段中也可为输入变量加提示,加提示要注意:
A.提示信息必须包含在引号里
B.提示信息必须紧跟在相应的输入变量之后.
示例:
Input
Hole Yes-No
“请确认有无工艺孔:”
If Hole==Yes
Hole_Dia Number
“请输入孔直径:”
Hole_Num Number
“请输入孔数:”
Endif
……
End Input
(以上,先确认有无孔,如果有孔,再输入孔数与直径,如果无孔,则不用输入孔数与直径)
第三个,Relations……End Relations
这个词也是一个语句段,第一行是Relations,最后一行是End Relations,中间是零件/组件中需要用到的各种关系式.在零件/组件中加入的各种关系式都放在这里(不含草图关系式及阵列关系式).在编程时也可直接在这里增加关系,所有在这里的关系,都可以在”特征”- ”关系”里编辑.如果一行关系式太长(最长80个字符一行),可以在行尾写一个反斜杠(\),然后接着在下一行写.示例如下:
Relations
A=“Part0007”
B=20.0
C=d5*5/d2
D=cos(d6)
End Relations
注:众所周知,Relations语句段中,也可使用IF语句.
第四个,Add……End Add
它又可细分为三种:Add Feature 特征名……End Add,Add Part 零件名……End Add, Add Subassembly 子组件名……End Add.它们也是语句段,第一行是Add Feature(Part/Su bassembly) 特征名(零件名/子组件名),最后一行是End Add,中间是特征(零件/子组件)的具体信息,这些具体信息一般来说不用去管它.因为没有能让我们编辑的东西.
这个语句可与IF和Suppressed联用,以控制特征(零件/子组件)的显示与隐含.
对于特征,这个语句段里列出了特征的主要参数,如尺寸/拉伸深度等,但是,要记住的是,直接在这里改这些参数是没用的!!!
这里的特征名/零件名/子组件名,可以是字符型变量。如果是字符型变量的话,要用括号括起来,示例:(PartName)
第五个,Execute……End Execute
这个语句只用于组件中.它的作用是从组件向零件传递参数,以通过组件中的某些参数去控制构成组件的零件(的形状/尺寸……).它也是个语句段,第一行是Execute,最后一行
是End Execute,中间的每一行是一个赋值语句.典型的结构如下:
Execute
Part变量名1=ASM变量名1
Part变量名2=ASM变量名2
……
End Execute
通常,在组件中的Input段和零件中的Input段,都设置相同的变量名,代表同一个参数. (这是为了方便,当然也可以不同,只不过不同的话就要小心点,以免搞错).然后将零件装配