海德汉循环32是一个自定义模式的循环,其作用很强大,尤其曲面以及多轴!定义合理的话,使机床运行更顺畅,作者也发现大多数海德汉后处理没有合理运用这个循环,结果往往是适得其反!经过一段时间研究,NX提供了相应的变量,直接可以利用起来,做出原汁原味的后处理,当然,这个也是作者的追求!在此分享一下思路以及过程.
下来分析海德汉这个循环如何定义:
可以看出来,如果是在开粗,公差定义略大,可以提高开粗效率!
上图说明公差弦误差定义范围应该是CAM的110%-200%之间!
T为加工公差,HSC为模式,TA旋转轴公差
下图给出说明,当公差给定不合理,结果往往是相反的,还会引起机床振颤!
3轴或3+2程序如下
五轴联动格式:
下来看看NX提供的变量与策略:
从海德汉定义 T=(内公差+外公差)/2*(110%-200%) 作者取值120%
默认有5个参数:
"METHOD" "MILL_FINISH" "MILL_ROUGH" "MILL_SEMI_FINISH"
每次开粗,选用方法 "MILL_ROUGH" ,当然默认的是METHOD 每次选择当然比较麻烦,可以给出一个判断,当公差大于$a 模式为1 开粗 $a=0.02=(内公差+外公差)/2*(110%-200%)
下图给出tcl脚本
#定义T公差
set tolerance [expr ($mom_inside_outside_tolerances(0)+$mom_inside_outside_tolerances(1))/2*1.2]
#读取方法,设置模式
switch $mom_oper_method {
"METHOD" { set hsc_mode 0 ; set cycle32_t $tolerance }
"MILL_FINISH" { set hsc_mode 0 ; set cycle32_t $tolerance}
"MILL_ROUGH" { set hsc_mode 1 ; set cycle32_t $tolerance}
"MILL_SEMI_FINISH" { set hsc_mode 0 ; set cycle32_t $tolerance}
default { set hsc_mode 0 ; set cycle32_t 0.01 }
}
下来说说TA旋转轴公差如何设置:
经研究,多轴中球刀的公差可以给0.1-2度之间最佳,值太大没有任何意义....作者取0.3,这里的TA不会影响曲面轮廓,只会让机床更顺畅,(当然局限于球刀)这时候可以判断一下刀具类型,是否是球刀。
非球刀经过大量的测试,在0.1最佳,当然也可以自己调整。
因为设置球刀用多种方法,所以判断的时候也可以自行调整;
#判断类型
[string match "Milling Tool-BALL Mill" $mom_tool_type]
#判断 直径/圆角
[ expr $mom_tool_diameter / 2 > $mom_tool_corner1_radius ]
五轴模式与其他模式(包含3轴和3+2)在这里只需要判断是否5轴
#1方法
[string match "M128" $TNC_output_mode]
#2方法
[string match "AUTO" $mom_5axis_control_mode]
#3方法
[$dpp_ge(toolpath_axis_num)=="5" ]
方法多式多样,根据自己喜好判断!也可以判断操作类型,这里简单介绍3种,除了5轴模式其他的不用输出TA。注意有些操作没有公差,例如drill检查一下变量即可!
也可以当循环时不输出CYCL32,在加工圆弧时候,可以适当调整公差,使其逼近轮廓,精度更佳!
循环32很重要,当加工曲面和五轴联动更能体现出来,当联动机床震颤或者曲面质量差,大家可以加工时候调整,感受一下过程!欢迎留言指正!!!
安周2020-02-26