I have noticed when you helically interpolate to get to a cut level that my cutter pauses at the bottom of the helix and this is because there is a spindle speed command there i am adamant about making sure my spindle speeds are all the same im using a high feed mill and im take lots of .04 depth cuts how do i prevent fusion from outputting the spindle command at the bottom of the helix?
What post processor are you using?
Laurens Wijnschenk
3DTechDraw
AutoDesk CAM user & Post editor.
René for Legend.
I've tested this on our 0i-MC and that doesn't care. It just continues.
Only when you have a really big difference in ramp spindle speed and cutting spindle speed it needs to wait till spindle is to at leats 90% of the speed I believe.
But my Heidenhain has the same problem so I made some special code for it.
Make this:
function onSpindleSpeed(spindleSpeed) { writeBlock(sOutput.format(spindleSpeed)); }
Into this:
function onSpindleSpeed(spindleSpeed) { if(currentSpindleSpeed != spindleSpeed){ writeBlock(sOutput.format(spindleSpeed)); currentSpindleSpeed = spindleSpeed; } }
And after the tool change the spindle speed is called as well and you need to add this line(around line 750):
currentSpindleSpeed = spindleSpeed;
Laurens Wijnschenk
3DTechDraw
AutoDesk CAM user & Post editor.
René for Legend.
Just curious, when is the onSpindleSpeed() function ever called? I did a dump of several 2D and 3D operations and I don't ever see that function being called. Even when I specify a different ramp spindle speed I don't see it.
Also... since the sOutput object is of the Variable Class, it already has the built in capability to check if it has been changed and will return a null string if not.
"writeBlock(sOutput.format(spindleSpeed))" should do nothing if the spindleSpeed parameter is the same as the last time it was called. So you should be able to do this without having to maintain a separate currentSpindleSpeed value. I had to deal with this on my turret lathe to prevent pauses after a tool change when I was keeping the same spindle speed.
Just need to change:
var sOutput = createVariable({prefix:"S", force:true}, rpmFormat);
and get rid of the "force:true" parameter so it won't force it everytime. -- and make sure that this doesn't create other issues. 🙂
Dave
damincin wrote:Also... since the sOutput object is of the Variable Class, it already has the built in capability to check if it has been changed and will return a null string if not.
"writeBlock(sOutput.format(spindleSpeed))" should do nothing if the spindleSpeed parameter is the same as the last time it was called. So you should be able to do this without having to maintain a separate currentSpindleSpeed value. I had to deal with this on my turret lathe to prevent pauses after a tool change when I was keeping the same spindle speed.
Just need to change:
var sOutput = createVariable({prefix:"S", force:true}, rpmFormat);and get rid of the "force:true" parameter so it won't force it everytime. -- and make sure that this doesn't create other issues. 🙂
Dave
That is a possibility, but that would mean it doesn't output the spindle speed after a toolchange when it is the same. And people tend to want to be able to start anywhere in the program so the spindle speed would be needed.
Laurens Wijnschenk
3DTechDraw
AutoDesk CAM user & Post editor.
René for Legend.
True, guess that could be an issue. 🙂 An sOutput.reset() at the right place should fix that though. Just another instance where there's many ways to do it.
Thanks,
Dave
Can't find what you're looking for? Ask the community or share your knowledge.