UG常用件、通用件(单件)PTS制作手册一、PTS配置
右击“我的电脑”,选择属性。点击“高级”栏,选择“环境变量”,新建环境变量。
变量名为:java_home。
变量值:D:\UGS\NX\NXJRE(NX安装目录下NXJRE文件夹)。
图1.1
二、PTS相关介绍
1、PTS启动和界面
在“开始”->“程序”->“UGS NX 7.5”->“NX工具”->“Product Template Studio”,启动PTS。
图2.1
PTS界面由五个部分组成:如图2.2中,1处为PTS的操作工具条;2处为控件工具条;3处为工作窗口;4处为详细面板;5处为浏览器。
图2.2
浏览器中有四个面板:
模板浏览器:
图2.3 资源管理器:
图2.4 模型浏览器:
图2.5
对话框资源管理器:
图2.6
2、控件介绍
组:将一系列具有相同关系,或处于同一级别的控件封装在一起。
图2.7
表达式的相关控件:输入框、选择列表框、复选框和只读文本框。输入框:
图2.8
选择列表框:
图2.9
复选框:
图2.10
只读文本框:
图2.11
3、PTS相关操作
文件打开:通过工具条上“打开”按钮打开文件。
图2.12
刚打开文件时,工作窗口显示的是文件缩略图。点击缩略图上的放大按钮,可进入操作界面。
图2.13
“组”的操作:选择“组”的图标拖拉到对应位置。
图2.13
表达式操作:选择右边的“模型浏览器”中“表达式”文件夹下对应的表达式并拖拉到对应的位置。
图2.14
拖入对象时,要注意拖入的位置:拖拉控件会出现红色方框,通过红色方框可以控制对象的位置。
方框边框线一样细时,表示将拖拉的控件放在红色方框对象里;
图2.15
方框上边框线变粗,表示将拖拉的控件放在红色方框对象上面;
图2.16
方框下边框线变粗,表示将拖拉的控件放在红色方框对象的下面。
图2.17
表达式的相关控件在PTS下面的“属性”一栏的显示样式中选择。
4、PTS相关设置
对话框属性设置:
图2.18
对话框初始化设置:这里标准件中引用集为TRUE,组件为MODEL。
图2.19
位图属性设置:位图位置我们硬性规定放在D:\UGS\bitmap文件夹下。位图后缀不能没有。
图2.20
表达式相关控件设置:
(1)输入框:
图2.21
(2)下拉表:在下图1处有两个选项,返回索引是当前表达式的值为选中行的行数减一,比如,选择第二行,那么表达式返回的值为1。返回索引的值是当前表达式的值为选中行的内容,比如,选择第二行,第二行的内容为6,那么返回的值为6。使用返回索引的值时,列表中的内容跟表达式的类型一致,比如:表达式d类型为数量,那么列表的内容就应该填数值。
图2.22 (3)复选框:
图2.23 (4)只读文本:
图2.24
控件可见性设置:控件被某个表达式控制,只有当该表达式为特定的值,或某个范围时才能显示。每个控件都有可见性功能。
图2.25
三、PTS应用
1、单件(组件)创建
这里通过一个简单例子,说明下单件(组建)创建的过程。
图3.1
d M5 M6 M8
K 3.5 4 5.3
S 8 10 13
L L0
25
16
30
18
35
20
40
45
表3.1
1.1、数据结构分析
PTS里重要的是数据结构的分析。
首先,我们从图3.1和表3.1中分析出驱动尺寸为d(选择驱动
尺寸时,尽量选择主要或者规格尺寸)。
再分析其余尺寸跟驱动尺寸的关系。
d跟K、S是一对一的关系。
d跟L是一对多的关系。
d跟L0是一对一关系。
然后,我们得确认哪些尺寸需要手动输入。这里需要手动输入应该是L和L0。
1.2、表达式
在PTS中,所有跟NX的交互都是通过表达式来完成的。
1.2.1、if else
在介绍向NX的表达式中输入表达式前,先了解下if(…)else (…)结构。
If (判断)(值)else If (判断)(值)else (值)。
比如: IF (D=6)10 else 12。意思是:当D的值为6那么得到的值为10,当D不等于6时那么得到值为12。
关于嵌套语句,就是在值的这个部分里再次写if else语句。
If (判断)(if(判断)(值)else(值))else If (判断)(if(判断)(值)else(值))else (if(判断)(值)else(值))。
(注意:有if 必须有一个else跟其关联)
1.2.2、属性填写
这里介绍两个表达式: format()和ug_setPartAttrValue();
format("%0.0f",数值);将数值型转换为字符串型。
%0.0f中,第二个零表示为数值保留的小数位数。
format("%0.2f",1.3333)= "1.33"
ug_setPartAttrValue("STANDARD_PART_NO",属性值);将属性名为STANDARD_PART_NO的属性添加到NX属性中去。
属性值部分为字符串,在NX中为了区分字符串和参数,所有的字符窜的内容都是在双引号(" ")中。
如“aa”、”123”、aa、123。在表达式中“aa”结果为字符串aa;“123”结果为字符串123;aa表示为aa的值,假如aa值为数值23,那么结果显示为数值23;123结果为数值123。
字符串相关操作如:
“aa”+“123”=“aa123”
“aa”+ format("%0.0f",123)=“aa123”
“aa”+ format("%0.0f",aa)=“aa23”
比如:这里我们需要为属性STANDARD_PART_NO添加值为M5x6 PTS。
格式为ug_setPartAttrValue("STANDARD_PART_NO","M"+ format("%0.0f",5)+"x"+ format("%0.0f",6)+ " PTS")
如果是变量形式,直接将数值改成对应变量名即可。
1.2.3、参数填写
写表达式不是简单将所有字母和对应的值输入NX表达式中,还必须考虑数据的结构。
这里d为驱动尺寸,驱动尺寸都是用下拉表的方式,因此可以直接在表达式表示为D_=5。
(由于NX不区分大小写,因此我们自行定义当字母为小写时,在字母的后面加下划线“_”)
这里d表示的螺纹,螺纹跟d的关系肯定是一对一的关系,可以在表达式中表示为:
D_THREAD=IF (D_=5) 4.459 ELSE IF (D_=6) 5.188 ELSE 7.188
(建议将螺纹的小径表示为螺纹的大径字母加“_THREAD”)K、S跟d是一对一的关系我们可以在表达式中表示为:K= IF (D_=5) 3.5 ELSE IF (D_=6) 4 ELSE 5.3
S= IF (D_=5) 8 ELSE IF (D_=6) 10 ELSE 13
L跟d是一对多的关系,在表达式中无法表示。这时我们可以考虑在PTS中用下拉表的方式。因此在表达式中为:L=25。
L0跟D是一对一的关系,在表达式中可以表示出来;其又需要手动输入,这个在表达式中无法直接表示。因此,我们可以将L0拆分为三个参数,一个表示L0当前值,比如L0;一个表示L0跟D一
对一的关系,比如L0_AUTO;最后一个表示L0手动输入,比如L0_MENU。要将L0跟L0_AUTO和L0_MENU链接,需要一个判断,比如MENU。最后表达式为:
L0_AUTO=IF (D_=5) 16 ELSE IF (D_=6) 18 ELSE 22
L0_MENU=16
MENU=0
L0=IF (MENU=0) L0_AUTO ELSE L0_MENU
(建议:遇到类似情形时,可以用表达式控制部分直接在控制当前值字母后面加“_AUTO”,手动部分加“_MENU”)
图3.2
1.3、模型建立
1.3.1、定位点
定位点就是绝对坐标系的位置。绝对坐标系是无法通过表达式移动的,我们得通过移动模型来达到目的。方法很多大家可以参照自己
需求,选择最好的方法。这里稍微介绍一种:利用基准面移动。
建模的第一步根据自己需求创建一个基准面。该基准面可以通过表达式来控制的。
图3.3
1.3.2、模型建立
这里要保证创建的模型不能随定位点变化或尺寸变化变乱。
1.3.3、位图创建
在制图环境中,将制图改成单色。
图3.4
选择菜单->“首选项”->“可视化”,弹出的“可视化首选项”对话框。在“颜色”一栏中,在图纸部件设置里,将背景改为白色。
图3.5
制图中,只需将部件需要被PTS控制的参数或者一些主要参数标出来,并通过菜单->“编辑”->“注释”->“文本”将尺寸数值改