几何尺寸与公差论坛

 找回密码
 注册
查看: 1103|回复: 0

坐标系的建立

[复制链接]
发表于 2009-4-7 06:08:49 | 显示全部楼层 |阅读模式
坐标系的建立
有一齿轮,其模型和任意截面如图
如果您的零件真如图所示,可用手动方法测上面的圆弧和下面的圆弧,以两圆弧的中心为坐标轴建坐标系,再以中心孔作为坐标原点。
我有一个零件是圆弧形式的,但这个零件的齿廓曲线是摆线轮
我想可以不用找精确的“最大点”、“最小点”。
如果对这个零件测量后,要在曲线曲面软件中进行比对的话,可以不要精确找零点。只要近似找“最小点”、“最大点”就可以了。
在曲线曲面软件中可以进行拟和计算(平移和旋转),消除因建坐标形成的误差。
下面是更符合习惯的截面坐标图
式中除了角度是变量外,其余全是常数;zg=zb-1
edited by - cqu2072105 on 2005/03/01 15:34:58
to:sun
你说:在曲线曲面软件中可以进行拟和计算(平移和旋转),消除因建坐标形成的误差。
ezdmis包含一部分,与ezdmis配套的有ezisis,是曲线曲面软件,如果你们没有,可以联系购买。
下面是我暂时没全面考虑坐标系建立而编制的程序。
谢谢大家给我下面的程序提些建议。
units/mm,angdec
snset/arch, 5.0000
snset/retrct, 5.0000
snset/search, 25.0000
decl/real,rr
decl/real,xx,yy,zz,dx,dy,dz
decl/intgr,nn,num
decl/real,rz,k1,rz,zb
mode/man
text/query,(rr),20,an,l,'请输入内圆半径'
text/query,(nn),20,an,l,'请输入需要测量的点数。'
text/query,(zz),20,an,l,'请输入测量深度'
text/query,(rz),20,an,l,'请输入rz'
text/query,(k1),20,an,l,'请输入k1'
text/query,(rz),20,an,l,'请输入rz'
text/query,(zb),20,an,l,'请输入zb'
text/oer,'请在平面中间测量一点。'
zz=-1*abs(zz)
f(w01)=feat/oint,cart,-26.3469,5.0323,-32.0313,$
0.0000,0.0000,1.0000
meas/oint,f(w01),1
tmeas/cart,-26.3469,5.0323,-30.0313,0.0000,0.0000,1.0000
endmes
outut/fa(w01)
d(q01)=trans/xorig,fa(w01)
d(q01)=trans/yorig,fa(w01)
d(q01)=trans/zorig,fa(w01)
mode/rog,man
snset/arch,3
snset/retrct,3
f(la01)=feat/lane,cart,0,0,0,$
-0.0000,0.0000,1.0000
meas/lane,f(la01),4
tmeas/cart,rr+4,0,0,-0.0000,0.0000,1.0000
tmeas/cart,0,rr+4,0,-0.0000,0.0000,1.0000
tmeas/cart,-(rr+4),0,0,-0.0000,0.0000,1.0000
tmeas/cart,0,-(rr+4),0,-0.0000,0.0000,1.0000
endmes
outut/fa(la01)
snset/arch,5
snset/retrct,5
f(cia01)=feat/circle,inner,cart,0,0,zz,$
0.0000,0.0000,1.0000,2*rr
meas/circle,f(cia01),4
goto/rr-5,0,5
tmeas/cart,rr,0,zz,1,0,0
goto/rr-5,rr-5,zz
tmeas/cart,0,rr,zz,0,1,0
goto/-(rr-5),rr-5,zz
tmeas/cart,-rr,0,zz,-1,0,0
goto/-(rr-5),-(rr-5),zz
tmeas/cart,0,-rr,zz,0,-1,0
endmes
outut/fa(cia01)
goto/0,-rr,5
decl/real,anl,ste,ddx,ddy,vax,vay,vaz
decl/char,20,,name1,name2
name1='c:\ezdmis\reort\'
name2=concat(name1,'data.out')
did(datafile)=device/stor,name2
oen/did(datafile),fdata,v(label),outut,aend
write/did(datafile),'',nn
write/did(datafile),'
'
close/did(datafile)
close/did(datafile)
anl=360/nn
ste=10
do/num,1,nn,1
xx=rz*cos(ste)-e*sin(zb*ste)-rz*(cos(ste)-k1*cos(zb*ste))/sqrt(1+k1^2-2*k1*cos((zb-1)*ste))
yy=rz*sin(ste)-e*sin(zb*ste)+rz*(sin(ste)+k1*sin(zb*ste))/sqrt(1+k1^2-2*k1*cos((zb-1)*ste))
dx=cos(ste)-k1*cos(zb*ste)/sqrt(1+k1^2-2*k1*cos((zb-1)*ste))
dy=sin(ste)+k1*sin(zb*ste)/sqrt(1+k1^2-2*k1*cos((zb-1)*ste))
dz=0
goto/rz*cos(ste)-e*sin(zb*ste),rz*sin(ste)-e*sin(zb*ste),20
goto/rz*cos(ste)-e*sin(zb*ste),rz*sin(ste)-e*sin(zb*ste),zz
=assign/concat('qt',str(num))
f()=feat/oint,cart,xx,yy,zz,dx,dy,dz
meas/oint,f(),1
tmeas/cart,xx,yy,zz,dx,dy,dz
endmes
outut/fa()
vax=obtain/fa(),2
vay=obtain/fa(),3
vaz=obtain/fa(),4
oen/did(datafile),fdata,v(label),outut,aend
write/did(datafile),'',vax,vay,vaz
write/did(datafile),'
'
close/did(datafile)
if/(nn<5)
goto/(rr-5)*cos(ste+anl/2),(rr-5)*sin(ste+anl/2),zz
endif
ste=ste+anl
enddo
endfil
我突然有一个新的想法,因为时间长了,把这个方法忘了。
我们似乎可以不用把精力放在编程上。
ezdmis中与之配套的ezisis有一个功能,就是能够生成曲线的测量程序。
1。首先按照数学公式,以一定步长的角度生成零件的理论点。
2。将这些点调入ezisis软件,在软件中生成零件外形的曲线。
3。可以根据需要,加密并生成点的矢量。
4。输出这些点为dmis测量语句。
5。将这些语句直接加入到建立零件坐标系的程序中。
6。测量并将测量点输出到文件中。
7。将测量后的数据与前面的理论数据进行比对,可以看出零件的误差,并输出误差报告。
这种方法适合於小批量或单个零件的测量。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2025-4-20 19:23 , Processed in 0.036756 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表