社区活动 技术论坛 [应用和编程技巧讲台]即将开通了!
[应用和编程技巧讲台]即将开通了!
2004-11-14 21:21 139 0 25
该栏目11月15日决定正式开通,欢迎大家积极参与。我先发表一个“傻瓜”式小程序段【NCHOLE】,作为开张吧!该程序用于半自动测孔,是对TUTOR功能的一种补充。为了考虑新手的学习,我将它编成即是一个独立的测量程序,又是一个子程序,会哪种应用方式都行。大家可以试一下。首次运行要注意安全! 程序没有任何参数询问,但程序运行之前要在测量页面上选择好投影平面“XY/YZ/ZX”,然后,将测头移动到孔的大致中心位置即可执行CNC方式了。里面有哪些编程技巧,请大家分析一下。源程序附后: program NSD[WM1,WM2] element_array MEMO[300] NCHO4 endstat procedure NCHO4 real C1,C2 real XC,YC,ZC,SA=0,EA=360 coord XYZ integer PLXYZ,HEAD,TIP,BL ! dy icon "c:\wtutor\dq\k00.bmp" dy ("") dy ("") dy ("") dy ("") dy ("") dy ("") dy ("") dy ("NC / HOLE<4> PROGRAM") dy ("") fly (off) mspeed 100 no_approach HEAD=info_func (2) TIP=info_func (3) probe (HEAD,TIP) dy ("") dy ("PROBE( ",HEAD,", ",TIP,")") dy ("") BL=info_func (7) PLXYZ=info_func (8) if PLXYZ eq 3 then dy ("=== XY ===") end_if if PLXYZ eq 1 then dy ("=== YZ ===") end_if if PLXYZ eq 2 then dy ("=== ZX ===") end_if dy ("") delay (40) for I=1 to 100 by 1 dist_approach 6.,12. manmove ncmove dist_approach 1.,100. get_position (XYZ) XC=XYZ|x YC=XYZ|y ZC=XYZ|z mcir (MEMO[BL+I],4) savepts for K=0 to 3 by 1 move (X=XC,Y=YC,Z=ZC) C1=0.5*cos (K*90) C2=0.5*sin (K*90) if PLXYZ eq 3 then movetf (X=XC+C1,Y=YC+C2,Z=ZC) end_if if PLXYZ eq 1 then movetf (X=XC,Y=YC+C1,Z=ZC+C2) end_if if PLXYZ eq 2 then movetf (X=XC+C2,Y=YC,Z=ZC+C1) end_if end_for move (X=XC,Y=YC,Z=ZC) end_for end_procedure end_program
我要回复

登陆后才能评论

登录
所有回贴(0)
在线咨询
关注我们

海克斯康制造智能

电话咨询
400-6580-400

热线电话(工作时间8:30-17:30)

关注我们 电话咨询 在线咨询

海克斯康制造智能