前两天跟朋友聊到了圆弧输出,朋友那边的一种机床在走大于180°的圆弧时,如果此时以-R输出,则会发生过切可能。而如果以象限点的方式输出圆弧,则正常切削。

蜗牛也初次听说这样的情况,思考了一下,可以直接用象限的方式输出所有的圆弧,便可解决过切问题。
不过这样一来,整圆就无法输出IJK了吗?作为UG爱好者的一员,显然不能对这样的情况无动于衷。
蜗牛通过分析,觉得可以从两个方向入手实现目的。
方向一:添加预读指令,判断mom_nxt_arc_angle的值是否符合输出条件,免费领取资料、UG提升、学历提升请联系:一三零一八六三九九七七,然后对变量mom_kin_arc_output_mode进行定义,其值可为FULL_CIRCLE或QUADRANT。
方向二:通过已知条件计算圆弧以象限方式运动的过程。
本贴旨在对上述方向二进行思路及做法详解。
首先呢,在圆弧运动事件里添加一些块,适配R的输出环境。

Tips:不要忘记把IJK定义为非模态哦,R也要定义为强制输出。
接下来,我们在输出IJK的块上右键,添加一个条件,输入以下的代码。

#ijk
global mom_arc_angle
global mom_arc_radius
if {[EQ_is_equal_tol $mom_arc_angle 360 0.0001]} {
return 1
} else {
return 0
}
注意这里为什么要用到“EQ_is_equal_tol”这个过程呢,免费领取资料、UG提升、学历提升请联系:一三零一八六三九九七七,相信有读者会不太明白。这个过程可以帮助我们更便捷的管理误差,也是一个直观、安全的后处理的优质体现。0.0001便是此时允许的最大误差。蜗牛在这里精确了四位小数,这个可以根据实际情况自行调整。如果读者有兴趣可以引入弦高作为参数,同样能有效的对误差进行控制。
然后同样的,对输出R的块也要添加一个条件,输入以下代码。


#R
global mom_arc_angle mom_pos DEG2RAD RAD2DEG mom_prev_pos mom_pos_arc_center
global mom_arc_radius mom_arc_direction
if {![EQ_is_equal_tol $mom_arc_angle 360 0.0001]} {
if [expr $mom_arc_angle > 90.0001] {
set current_angle [expr atan2($mom_prev_pos(1)-$mom_pos_arc_center(1),$mom_prev_pos(0)-$mom_pos_arc_center(0))*$RAD2DEG]
if {$current_angle < 0} {set current_angle [expr $current_angle+360]}
set quadrant [expr int($current_angle/90)+1]
if {$mom_arc_direction == "CLW"} {
set factor -1
switch $quadrant {
1 {set first_step 0}
2 {set first_step 90}
3 {set first_step 180}
4 {set first_step 270}
}
} else {
set factor 1
switch $quadrant {
1 {set first_step 90}
2 {set first_step 180}
3 {set first_step 270}
4 {set first_step 0}
}
}
VMOV 2 mom_pos last_pos
set mom_pos(0) [expr $mom_arc_radius*cos($first_step*$DEG2RAD)+$mom_pos_arc_center(0)]
set mom_pos(1) [expr $mom_arc_radius*sin($first_step*$DEG2RAD)+$mom_pos_arc_center(1)]
if {![EQ_is_equal_tol $current_angle $first_step 0.001]} {
MOM_force once R
MOM_do_template circular_move_1
}
VMOV 2 last_pos mom_pos
set turn [expr ($mom_arc_angle-abs($current_angle-$first_step)) / 90]
set turn_int [expr int($turn)]
for {set i 1} {$i <= $turn_int} {incr i} {
set pos($i,0) [expr $mom_arc_radius*cos(($first_step+$i*90*$factor)*$DEG2RAD)+$mom_pos_arc_center(0)]
set pos($i,1) [expr $mom_arc_radius*sin(($first_step+$i*90*$factor)*$DEG2RAD)+$mom_pos_arc_center(1)]
VMOV 2 mom_pos last_pos
set mom_pos(0) $pos($i,0); set mom_pos(1) $pos($i,1)
MOM_force once R
MOM_do_template circular_move_1
VMOV 2 last_pos mom_pos
}
if {$turn > $turn_int} {
return 1
}
return 0
}
return 1
}
return 0
相信读者在这里已经明白所有的思路了:
通过圆心角mom_arc_angle判断输出环境——免费领取资料、UG提升、学历提升请联系:一三零一八六三九九七七,计算圆弧运动前于笛卡尔坐标系下的位置——判断下一个象限点并输出圆弧——得出过程点位并输出——输出最后的点位,完成圆弧运动。
这样看来是不是很简单呢。

NX后处理给我们提供了广阔的空间,可以任我们的思想翱翔。
东莞潇洒职业培训学校开设课程有:数控编程培训、塑胶模具设计培训,冲压模具设计培训,精雕、ZBrush圆雕培训、Solidworks产品设计培训、pro/E产品设计培训、AutoformR7工艺分析培训,潇洒职业培训学校线下、线上网络学习方式,随到随学,上班学习两不误,欢迎免费试学!联系电话:13018639977
联系电话:13018639977(微信同号)QQ:2033825601
学习地址:东莞市横沥镇新城工业区兴业路121号-潇洒职业培训学校
免责声明:
1;所有标注为智造资料网zl.fbzzw.cn的内容均为本站所有,版权均属本站所有,若您需要引用、转载,必须注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取《授权协议》。
2;本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除,相关侵权责任均由相应上传用户自行承担。
内容投诉
智造资料网打造智能制造3D图纸下载,在线视频,软件下载,在线问答综合平台 » 圆弧输出的一种新解--整圆IJK,非整圆输出正R,避免负R的输出
1;所有标注为智造资料网zl.fbzzw.cn的内容均为本站所有,版权均属本站所有,若您需要引用、转载,必须注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取《授权协议》。
2;本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除,相关侵权责任均由相应上传用户自行承担。
内容投诉
智造资料网打造智能制造3D图纸下载,在线视频,软件下载,在线问答综合平台 » 圆弧输出的一种新解--整圆IJK,非整圆输出正R,避免负R的输出