Cancel
Showing results for
Did you mean:

# Variable Depth Per Cut Function

Pioneer

Hi,

Some operations in NX works cut levels.I used cavity mill operation in this topic.

As you can see the image, at the last range of cut level (range depth 121.0 and depth per Cut 6.0), I must write decreasing function to depth per cut box. I wrote (variable) word to show only.

I need a decreasing function 118-121 range depth .I need eliminate "Incorrect value in Depth per cut" alert.

For example

118

119.5

120.5

121

Is there a function to solve it.

Thanks,

7 REPLIES 7

# Re: Variable Depth Per Cut Function

Gears Esteemed Contributor

As far as I know, there is no variable cut depth, but you can add additional levels instead.

Could you explain in detail what the problem is and not what you think the solution could be?

It is easier to find a solution for a problem, than telling you that your solution is not possible.

Why would you need to constantly reduce the cut depth in the last range?

Stefan Pendl, Systemmanager CAx, HAIDLMAIR GmbH
Production: NX12.0.2, VERICUT 8.2, FBM, MRL 3.1.7 | TcUA 10.1 MP7 Patch 0 (10.1.7.0) | TcVis 11.4
Development: C (ITK), .NET, Tcl/Tk Testing: NX (1876) | AWC 3.4 Preparing: -

Employees of the customers, together we are strong
How to Get the Most from Your Signature in the Community
NX Customization - Best Practice Guide
Highlighted

# Re: Variable Depth Per Cut Function

Pioneer

We are manufacturing long parts by highfeed tool. We use 1.0 mm to 2.0 mm depth per cut for this tool types.We start climb cut direction at the begining of operation.For  Dia 50 mm Highfeed tool we are getting 1600rpm and 9000 mmpm. Expectations keep us under pressure.  Towards to end of part, DOC and Climb Cut effects getting tool crashing or exploding.

There is two solutions. At the end of operation we are getting a new operation to be continues to first operation.We use conventional cut. And the other choise is at the end of operation cut levels decreasing setp by step.

But I aimed that only operation achieve this. But how?

I try expression to fill in the DOC box. But Cut levels is CONSTANT.I need a help from expert users for nxcam.

thats all.

# Re: Variable Depth Per Cut Function

Siemens Phenom

Hi drafter006,

interesting topic. I would like to know more about your issue.

You said "Towards to end of part, DOC and Climb Cut effects getting tool crashing or exploding.". What is the reason for that?

It is working in the first part of the toolpath, but then the same cutting conditions cause a crash or explosion (never seen that before). So by decreasing the cut depth you are trying to compensate tool wear in the later stages of this roughing process?

Can it be that the cutting speeds are too aggressive, so that it wears out the indexable plates too much?

Cheers,
Alexander

Lead Product Manager - Mold & Die

# Re: Variable Depth Per Cut Function

Pioneer
Hi,

We are using cylindirical bar stock. Long parts are between 150-300 mm lenght. It does not matter starting tool. It may be shorter tool used insted of a long tool at the start.But our manufacturing logic that this long part will be roughed manufacturing fully from start to end of part. Operation must be completed only one operation.There is believing that more operation wasted manufacturing time. I agree that opinion partly.

But I divided operation two. Tool starts and towards to end of part, rest of bar stock after end of manufacturing part,is a problem for us. This material stretching tool cutting over.

1-Conventional cut suitable than climb cut because of direction of cutting.There is less load to rest of bar.

2- DOC must be decreasing step by step.

3- Feed of tool must be decreasing.

We are preparing one operation cilimb to conventional direction and feed decreasing and DOC decreasing only one operation.

But some problems occurs.

I am testing NX this three manner.

# Re: Variable Depth Per Cut Function

Gears Esteemed Contributor

Variable depth-of-cut can only be achieved in cavity milling by adding additional ranges.

You will have to create an enhancement request at GTAC to have variable cut depth included in a future release.

Do you machine the part from both sides? You could machine a chamfer from the back side to avoid braking the tool.

The above has a chamfer machined from the back to avoid destroying the tool by the material left when reaching the bottom of the blank.

Stefan Pendl, Systemmanager CAx, HAIDLMAIR GmbH
Production: NX12.0.2, VERICUT 8.2, FBM, MRL 3.1.7 | TcUA 10.1 MP7 Patch 0 (10.1.7.0) | TcVis 11.4
Development: C (ITK), .NET, Tcl/Tk Testing: NX (1876) | AWC 3.4 Preparing: -

Employees of the customers, together we are strong
How to Get the Most from Your Signature in the Community
NX Customization - Best Practice Guide

# Re: Variable Depth Per Cut Function

Legend

I think you cannot use expressions for this

Hopefully this will be possible in the future, but, for now, as a workaround, you could use a journal to set up ranges:

using System;
using NXOpen;
using NXOpen.CAM;

public class NXJournal
{
public static void Main(string[] args)
{

double firstRangeDepth = 118;
double firstRangeDepthPerCut = 2;
double lowestLevelDepth = 121;
double startingDepthPerCut = 1.5;
double degressionRatio = (2.0/3.0);
double minimumDepthPerCut = .25;

Session theSession = Session.GetSession();
UI theUI = UI.GetUI();

NXOpen.CAM.CavityMillingBuilder cavityMillingBuilder;
cavityMillingBuilder = theSession.Parts.Work.CAMSetup.CAMOperationCollection.CreateCavityMillingBuilder((NXOpen.CAM.CavityMilling)theUI.SelectionManager.GetSelectedObject(0));

NXOpen.NXObject nXObject;
nXObject = cavityMillingBuilder.Commit();

bool isupdated;
isupdated = cavityMillingBuilder.CutLevel.InitializeData();

cavityMillingBuilder.CutLevel.RangeType = CutLevel.RangeTypes.Single;
cavityMillingBuilder.CutLevel.SetRangeDepth(0,firstRangeDepth ,CutLevel.MeasureTypes.TopLevel);
cavityMillingBuilder.CutLevel.SetRangeDepthPerCut(0,firstRangeDepthPerCut);
cavityMillingBuilder.CutLevel.RangeType = CutLevel.RangeTypes.UserDefined;

double lastDepth = firstRangeDepth + startingDepthPerCut ;
double lastDepthPerCut = startingDepthPerCut;

double currentDepthPerCut = lastDepthPerCut;

while (true) {
currentDepthPerCut = currentDepthPerCut * degressionRatio;
if (currentDepthPerCut < minimumDepthPerCut) currentDepthPerCut = minimumDepthPerCut;
if (lastDepth + currentDepthPerCut >= lowestLevelDepth) break;
lastDepth += currentDepthPerCut;
}

cavityMillingBuilder.CutLevel.AddRangeFromDepth(lowestLevelDepth,lowestLevelDepth - lastDepth,CutLevel.MeasureTypes.TopLevel, 0);

nXObject = cavityMillingBuilder.Commit();

cavityMillingBuilder.Destroy();

}
public static int GetUnloadOption(string dummy) { return (int)NXOpen.Session.LibraryUnloadOption.Immediately; }
}

copy and paste text into a file  with cs extension then select the operation in the operation navigator, press Alt+F8, select and run the journal file and the levels should be set up.

you can edit the values at top of the journal to change the parameters:

double firstRangeDepth = 118;
double firstRangeDepthPerCut = 2;
double lowestLevelDepth = 121;
double startingDepthPerCut = 1.5;
double degressionRatio = (2.0/3.0);
double minimumDepthPerCut = .25;

hope this helps

ciao

# Re: Variable Depth Per Cut Function

Pioneer
First of all, I appreciate to all. Everything that has writen by precious users is in my mind. I will try all of what is said.

Thank you.