Creo工程图里使用系统形位公差标准,公差值没有和主参数和公差等级关联,我们有没有办法做到和他们关联呢?
经过摸索,我使用关系式将主参数和公差等级关联和形位公差值关联起来了,下面以形位公差中的平度垂直度、倾斜度公差作为列子来说明具体实现过程。
首先我们做一个形位公差关系式文件:pxczqx_tol.txt,放在指定文件夹里
这个文件编辑为如下内容:
/*一、几何公差精度查询(GB/1184-1996)
ld=d2
/*2、平行度、垂直度、倾斜度公差值
/*TOLPZQ:平行度、垂直度、倾斜度公差值:1-12
IF LD<=10
IF TZD==1
TOLPZQ=0.4/1000
ENDIF
IF TZD==2
TOLPZQ=0.8/1000
ENDIF
IF TZD==3
TOLPZQ=1.5/1000
ENDIF
IF TZD==4
TOLPZQ=3/1000
ENDIF
IF TZD==5
TOLPZQ=5/1000
ENDIF
IF TZD==6
TOLPZQ=8/1000
ENDIF
IF TZD==7
TOLPZQ=12/1000
ENDIF
IF TZD==8
TOLPZQ=20/1000
ENDIF IF TZD==9 TOLPZQ=30/1000 ENDIF
IF TZD==10 TOLPZQ=50/1000 ENDIF
IF TZD==11 TOLPZQ=80/1000 ENDIF
IF TZD==12 TOLPZQ=120/1000 ENDIF
ENDIF
IF LD>10&LD<=16 IF TZD==1 TOLPZQ=0.5/1000 ENDIF
IF TZD==2 TOLPZQ=1/1000 ENDIF
IF TZD==3 TOLPZQ=2/1000 ENDIF
IF TZD==4 TOLPZQ=4/1000 ENDIF
IF TZD==5 TOLPZQ=6/1000 ENDIF
IF TZD==6 TOLPZQ=10/1000 ENDIF
IF TZD==7 TOLPZQ=15/1000 ENDIF
IF TZD==8 TOLPZQ=25/1000 ENDIF
IF TZD==9 TOLPZQ=40/1000 ENDIF
IF TZD==10TOLPZQ=60/1000 ENDIF
IF TZD==11 TOLPZQ=100/1000 ENDIF
IF TZD==12 TOLPZQ=150/1000 ENDIF
ENDIF
IF LD>16&LD<=25 IF TZD==1 TOLPZQ=0.6/1000 ENDIF
IF TZD==2 TOLPZQ=1.2/1000 ENDIF
IF TZD==3 TOLPZQ=2.5/1000 ENDIF
IF TZD==4 TOLPZQ=5/1000 ENDIF
IF TZD==5 TOLPZQ=8/1000 ENDIF
IF TZD==6 TOLPZQ=12/1000 ENDIF
IF TZD==7 TOLPZQ=20/1000 ENDIF
IF TZD==8 TOLPZQ=30/1000 ENDIF
IF TZD==9 TOLPZQ=50/1000 ENDIF
IF TZD==10 TOLPZQ=80/1000 ENDIF
IF TZD==11 TOLPZQ=120/1000 ENDIF IF TZD==12 TOLPZQ=200/1000 ENDIF
ENDIF
IF LD>25&LD<=40 IF TZD==1 TOLPZQ=0.8/1000 ENDIF
IF TZD==2 TOLPZQ=1.5/1000 ENDIF
IF TZD==3 TOLPZQ=3/1000 ENDIF
IF TZD==4 TOLPZQ=6/1000 ENDIF
IF TZD==5 TOLPZQ=10/1000 ENDIF
IF TZD==6 TOLPZQ=15/1000 ENDIF
IF TZD==7 TOLPZQ=25/1000 ENDIF
IF TZD==8 TOLPZQ=40/1000 ENDIF
IF TZD==9 TOLPZQ=60/1000 ENDIF
IF TZD==10 TOLPZQ=100/1000 ENDIF
IF TZD==11 TOLPZQ=150/1000 ENDIF
IF TZD==12 TOLPZQ=250/1000 ENDIF
ENDIFIF LD>40&LD<=63 IF TZD==1 TOLPZQ=1/1000 ENDIF
IF TZD==2 TOLPZQ=2/1000 ENDIF
IF TZD==3 TOLPZQ=4/1000 ENDIF
IF TZD==4 TOLPZQ=8/1000 ENDIF
IF TZD==5 TOLPZQ=12/1000 ENDIF
IF TZD==6 TOLPZQ=20/1000 ENDIF
IF TZD==7 TOLPZQ=30/1000 ENDIF
IF TZD==8 TOLPZQ=50/1000 ENDIF
IF TZD==9 TOLPZQ=80/1000 ENDIF
IF TZD==10 TOLPZQ=120/1000 ENDIF
IF TZD==11 TOLPZQ=200/1000 ENDIF
IF TZD==12 TOLPZQ=300/1000 ENDIF
ENDIF
IF LD>63&LD<=100 IF TZD==1 TOLPZQ=1.2/1000 ENDIF
IF TZD==2 TOLPZQ=2.5/1000 ENDIF
IF TZD==3 TOLPZQ=5/1000 ENDIF
IF TZD==4 TOLPZQ=10/1000 ENDIF
IF TZD==5 TOLPZQ=15/1000 ENDIF
IF TZD==6 TOLPZQ=25/1000 ENDIF
IF TZD==7 TOLPZQ=40/1000 ENDIF
IF TZD==8 TOLPZQ=60/1000 ENDIF
IF TZD==9 TOLPZQ=100/1000 ENDIF
IF TZD==10 TOLPZQ=150/1000 ENDIF
IF TZD==11 TOLPZQ=250/1000 ENDIF
IF TZD==12 TOLPZQ=400/1000 ENDIF
ENDIF
IF LD>100&LD<=160 IF TZD==1 TOLPZQ=1.5/1000 ENDIF
IF TZD==2 TOLPZQ=3/1000 ENDIF
IF TZD==3 TOLPZQ=6/1000 ENDIFIF TZD==4 TOLPZQ=12/1000 ENDIF
IF TZD==5 TOLPZQ=20/1000 ENDIF
IF TZD==6 TOLPZQ=30/1000 ENDIF
IF TZD==7 TOLPZQ=50/1000 ENDIF
IF TZD==8 TOLPZQ=80/1000 ENDIF
IF TZD==9 TOLPZQ=120/1000 ENDIF
IF TZD==10 TOLPZQ=200/1000 ENDIF
IF TZD==11 TOLPZQ=300/1000 ENDIF
IF TZD==12 TOLPZQ=500/1000 ENDIF
ENDIF
IF LD>160&LD<=250 IF TZD==1 TOLPZQ=2/1000 ENDIF
IF TZD==2 TOLPZQ=4/1000 ENDIF
IF TZD==3 TOLPZQ=8/1000 ENDIF
IF TZD==4 TOLPZQ=15/1000 ENDIF
IF TZD==5 TOLPZQ=25/1000 ENDIF
IF TZD==6 TOLPZQ=40/1000 ENDIF
IF TZD==7 TOLPZQ=60/1000 ENDIF
IF TZD==8 TOLPZQ=100/1000 ENDIF
IF TZD==9 TOLPZQ=150/1000 ENDIF
IF TZD==10 TOLPZQ=250/1000 ENDIF
IF TZD==11 TOLPZQ=400/1000 ENDIF
IF TZD==12 TOLPZQ=600/1000 ENDIF
ENDIF
IF LD>250&LD<=400 IF TZD==1 TOLPZQ=2.5/1000 ENDIF
IF TZD==2 TOLPZQ=5/1000 ENDIF
IF TZD==3 TOLPZQ=10/1000 ENDIF
IF TZD==4 TOLPZQ=20/1000 ENDIF
IF TZD==5 TOLPZQ=30/1000 ENDIF
IF TZD==6 TOLPZQ=50/1000 ENDIF
IF TZD==7TOLPZQ=80/1000 ENDIF
IF TZD==8 TOLPZQ=120/1000 ENDIF
IF TZD==9 TOLPZQ=200/1000 ENDIF
IF TZD==10 TOLPZQ=300/1000 ENDIF
IF TZD==11 TOLPZQ=500/1000 ENDIF
IF TZD==12 TOLPZQ=800/1000 ENDIF
ENDIF
IF LD>400&LD<=630 IF TZD==1 TOLPZQ=3/1000 ENDIF
IF TZD==2 TOLPZQ=6/1000 ENDIF
IF TZD==3 TOLPZQ=12/1000 ENDIF
IF TZD==4 TOLPZQ=25/1000 ENDIF
IF TZD==5 TOLPZQ=40/1000 ENDIF
IF TZD==6 TOLPZQ=60/1000 ENDIF
IF TZD==7 TOLPZQ=100/1000 ENDIF
IF TZD==8 TOLPZQ=150/1000 ENDIF IF TZD==9 TOLPZQ=250/1000 ENDIF
IF TZD==10 TOLPZQ=400/1000 ENDIF
IF TZD==11 TOLPZQ=600/1000 ENDIF
IF TZD==12 TOLPZQ=1000/1000 ENDIF
ENDIF
IF LD>630&LD<=1000 IF TZD==1 TOLPZQ=4/1000 ENDIF
IF TZD==2 TOLPZQ=8/1000 ENDIF
IF TZD==3 TOLPZQ=15/1000 ENDIF
IF TZD==4 TOLPZQ=30/1000 ENDIF
IF TZD==5 TOLPZQ=50/1000 ENDIF
IF TZD==6 TOLPZQ=80/1000 ENDIF
IF TZD==7 TOLPZQ=120/1000 ENDIF
IF TZD==8 TOLPZQ=200/1000 ENDIF
IF TZD==9 TOLPZQ=300/1000 ENDIF
IF TZD==10 TOLPZQ=500/1000ENDIF
IF TZD==11 TOLPZQ=800/1000 ENDIF
IF TZD==12 TOLPZQ=1200/1000 ENDIF
ENDIF
IF LD>1000&LD<=1600 IF TZD==1
TOLPZQ=5/1000 ENDIF
IF TZD==2
TOLPZQ=10/1000 ENDIF
IF TZD==3
TOLPZQ=20/1000 ENDIF
IF TZD==4
TOLPZQ=40/1000 ENDIF
IF TZD==5
TOLPZQ=60/1000 ENDIF
IF TZD==6
TOLPZQ=100/1000 ENDIF
IF TZD==7
TOLPZQ=150/1000 ENDIF
IF TZD==8
TOLPZQ=250/1000 ENDIF
IF TZD==9
TOLPZQ=400/1000 ENDIF
IF TZD==10 TOLPZQ=600/1000 ENDIF
IF TZD==11 TOLPZQ=1000/1000 ENDIF
IF TZD==12 TOLPZQ=1500/1000 ENDIF
ENDIF
IF LD>16000&LD<=2500 IF TZD==1
TOLPZQ=6/1000
ENDIF
IF TZD==2
TOLPZQ=12/1000 ENDIF
IF TZD==3
TOLPZQ=25/1000 ENDIF
IF TZD==4
TOLPZQ=50/1000 ENDIF
IF TZD==5
TOLPZQ=80/1000 ENDIF
IF TZD==6
TOLPZQ=120/1000 ENDIF
IF TZD==7
TOLPZQ=200/1000 ENDIF
IF TZD==8
TOLPZQ=300/1000 ENDIF
IF TZD==9
TOLPZQ=500/1000 ENDIF
IF TZD==10
TOLPZQ=800/1000 ENDIF
IF TZD==11
TOLPZQ=1200/1000 ENDIF
IF TZD==12
TOLPZQ=2000/1000 ENDIF
ENDIF
IF LD>2500&LD<=4000
IF TZD==1
TOLPZQ=8/1000 ENDIF
IF TZD==2
TOLPZQ=15/1000 ENDIF
IF TZD==3
TOLPZQ=30/1000 ENDIF
IF TZD==4
TOLPZQ=60/1000 ENDIF
IF TZD==5
TOLPZQ=100/1000 ENDIF
IF TZD==6
TOLPZQ=150/1000 ENDIF
IF TZD==7
TOLPZQ=250/1000 ENDIF
IF TZD==8
TOLPZQ=400/1000 ENDIF
IF TZD==9
TOLPZQ=600/1000 ENDIF
IF TZD==10 TOLPZQ=1000/1000 ENDIF
IF TZD==11 TOLPZQ=1500/1000 ENDIF
IF TZD==12 TOLPZQ=2500/1000 ENDIF
ENDIF
IF LD>4000&LD<=6300 IF TZD==1
TOLPZQ=10/1000 ENDIF
IF TZD==2
TOLPZQ=20/1000 ENDIF
IF TZD==3
TOLPZQ=40/1000 ENDIF
IF TZD==4
TOLPZQ=80/1000 ENDIF
IF TZD==5
TOLPZQ=120/1000 ENDIF
IF TZD==6
TOLPZQ=200/1000 ENDIF
IF TZD==7
TOLPZQ=300/1000 ENDIF
IF TZD==8
TOLPZQ=500/1000 ENDIF
IF TZD==9
TOLPZQ=800/1000 ENDIF
IF TZD==10
TOLPZQ=1200/1000 ENDIF
IF TZD==11
TOLPZQ=2000/1000 ENDIF
IF TZD==12
TOLPZQ=3000/1000 ENDIF
ENDIF
IF LD>6300&LD<=10000 IF TZD==1
TOLPZQ=12/1000 ENDIF
IF TZD==2
TOLPZQ=25/1000 ENDIF
IF TZD==3
TOLPZQ=50/1000 ENDIF
IF TZD==4
TOLPZQ=100/1000 ENDIF IF TZD==5
TOLPZQ=150/1000 ENDIF IF TZD==6
TOLPZQ=250/1000 ENDIF IF TZD==7
TOLPZQ=400/1000
ENDIF
IF TZD==8 TOLPZQ=600/1000 ENDIF IF TZD==9 TOLPZQ=1000/1000 ENDIF IF TZD==10 TOLPZQ=1500/1000 ENDIF IF TZD==11 TOLPZQ=2500/1000 ENDIF IF TZD==12 TOLPZQ=4000/1000 ENDIF ENDIF
gp0 = TOLPZQ
这给文件是按照形位公差表编制的关系式,规定了公差等级从0到12级,尺寸范围到6300mm,
下面的工程图是我用关系式实现的视图:
我们修改长宽尺寸后,形位公差的值会自动变化:
如何将我们编制的关系式文件和标注的形位公差关联起来,下面分步骤说明: 1. 在工程图里或3D 里先标好基准A 和B,这个大家都会,不再说明了; 2. 在工程图里使用系统形位公差上面3个形位公差; 3. 开始关联各个形位公差的主参数和形位公差等级: a) 点击:工程图图上面的工具主菜单---点击关系式---切换查找范围为特征,这里我准备在拉伸特征1上标注3个平行度公差,我们点击那
个特征,就好
b) 导入上面已经保存pxczqx_tol.txt
的关系式文件:
LD = d2 /*主参数
TZD = 12 /*公差等级
在关系式最后写入:
gp0 = TOLPZQ
c)再生,看看关系式是否正确,这样就关
联好一个形位公差了;
4.剩下还有1平行度公差,我们将上面的关系
式全部复制,黏贴在后面,再分别指定主参
数和公差等级,及对用的形位公差参数gp1;
5.全部关联好,再生,没有错误,确认,退出
关系式,就可以了;
6.上面的关系式可以为平行度、垂直度和倾斜
度关联公差值;
7.当然其它的形位公差只要按照这关系式格
式,预先写出关系式,也是可以关联的下载本文