Cancel
Showing results for 
Search instead for 
Did you mean: 

Question to the Manufacturing Community - Redefined

Creator
Creator

 I would like to pose a question to the NX Manufacturing Community.

Say, you run Full Production of a part, and 5 out of 100 come out of the machine, with a surface +- 0.015 out of tolerance.

 How can you avoid that?

I can give one answer semi-finished.

You run your program normally. When you pin-point which operation gives the surface that comes out of tolerance, stop the program.

Create an inbetween program, that before that surface comes to finish or semi-finish, you input a tool change, with a probe mounted on that tool.

 Direct the probe to go to that specific surface and check the desired tolerance. Correct?

Now the tricky part is, How to direct the machine, if the value is + or - , to continue and finish that surface, or to move on with the program, without machining that surface?

 

8 REPLIES 8

Re: Question to the Manufacturing Community

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom
I hope, I understand you..
I did a same. Rough milling, with "huge" stock. Then semi-finish milling with fine tool, with well known stock as cutter compensation, +0.05 for example. Then probing milled features (slot, hole, boss or pad) and calculation exact cutcomp value. Then - finish milling and after it probing inspection.
I have some parts with +0.005 -0.005 tols......

Re: Question to the Manufacturing Community

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

Generally the same as @Chigishev

1) Cut the part, leave 2x the final stock you want.

2) use finishing tool, cut 1/2 the remaining stock (so tool deflection, etc. should be consistant with finish pass)

3) Probe the surface

4) adjust tool (diameter and/or length wear offset)

5) cut finish operation

if VERY tight tolerance...

6) probe surface again

7) if out of toler, but stock safe, re-run finish pass - step (5) above (optional to reset tool data)

8) if out of toler, but overcut, abort the program

 

You probably want to prevent an infinite loop if "out of tolerance but stock safe" condition recurs (i.e. you loop steps 5-6-7-5-6-7-5-6-7...).

This is not too bad if you are only cutting on (side OR end) of tool.

If you are cutting using both the side & end of a tool (e.g. bottom of pocket along the wall) it can get more complicated.

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: Question to the Manufacturing Community

Phenom
Phenom
In my opinion - 0.015mm is very small. The probe calibration will be critical. Depending what the dimensions references on the print and whether the surfaces are the same direction and in the same plane normal - you may want to measure both for relative dimension. There may be a need to use something in the fixture or an artifact in the probe sequence. The probe software and it's calibration method may be important as well. You would want to keep rotaries at the same place - and touch both surfaces (making the dimension) - hopefully in the same direction.
NX12.02
Windows 10 Pro

Re: Question to the Manufacturing Community

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

If you have issues with probing, then do the same sequence except use "M0" with a comment to manually measure the part & adjust the tool, then hit cycle start.

 

Your initial post implied some sort of batch run, without user intervention (at least to me).

 

If your question is how to know which features to probe...

That is governed by experience, knowledge of the machine & tool capabilities, and specific feature tolerances of the part.

 

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: Question to the Manufacturing Community

Creator
Creator

 I will redifine the issue a bit.

For example, i know which is the surface that comes out of tolerance.

And as the program runs, before that operation comes to semi-finish that surface, the program stops and calls the probe.

So the probe comes down and measures the desired surface, to check the tolerance.( As i had program it to)

And for example it is +0.025 out of tol.

Now, i want to direct the machine, through the program though, (Not Manually), that if the tol is + , to continue and semi-finish and finish that surface.

(IF the probe would have measured that surface, within the desired tolerance, the Program otherwise, it should skip that surface.)

Now, how will i continue?

Is that a User Defined Operation?

Do i have to go through NX OPEN API ?

Is there something, that i have to input in the post processor, for a specific User Defined Op?

Like IF (x, y, z...=  TRUE ) ?

 

Re: Question to the Manufacturing Community

Phenom
Phenom
You don't say what control so hard to be specific but if you have post writing expertise and you have various controls in your shop (may use programs on multiple machines/controls) then maybe a ude makes sense. Most use an insert to put in macro lines which they would prefer to avoid but don't have time or resource to do something else. If using insert - put a macro jump as start event of finish operation to a line number or end label (depends on control syntax) specified as an insert as end event of that finish operation. The jump should check the deviation to see if in finish tolerance already. Then the line below the jump - an update should be made to the tool length offset based on deviation from nominal semi location. See your control manual for syntax of macro statements. Fanuc macro B syntax is "IF [#1LE0.001] GOTO10 ..... N10" and Siemens is "if R1 <= 0.001 then ... endif" or something like that (don't have a manual handy.) You also don't mention with what software you probe (if any) and whether you use NX probe operations or generic motion or inserts for that. Maybe that could include api nxopen code or udo like you mention but I haven't seen this need. I have used generic motion and the probe module for the probe motion in NX (leading to outputting cycles) and it has been fine. Probe control software may have features to help apply the tool offset or jump to a line as a result of measurement. I guess what I am saying is start with the G code you want then decide what you would like to do in the part file to get it depending on how often you need to do it. If many NX programmers need to do the same thing in your company an elegant solution to do it requiring no knowledge of macro language or probe software may make sense. If this is a one time thing for you only maybe inserts make sense.
NX12.02
Windows 10 Pro

Re: Question to the Manufacturing Community

Creator
Creator

Hello Study.

 Firstly i would like to say that this is a hypothetical question, in a scenario, that "What would i do, if something like that would happen, and how would i solve it"

So i could use a Probe Operation, from NX to measeure the surface, and then write a macro expression in the G-Code So after the Probe Operation, gives a value (for exapmle +0.025) , then i should write in the G-Code , IF [... +0.025] GOTO ( a Block in the G-Code , where it compensates the Tool Length, and then after compensating the tool, continue and finish that Surface?)

Or , IF [...0] GOTO (a Block in the code, where it continues the Program, avoiding that surface?) 

Re: Question to the Manufacturing Community

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

Yes, I use UDEs to handle the logic.

E.g. "Process Probe Results" (this is my own UDE)

You can have it output logic depending if

- Part is within tolerance

- Part is out-of-tolerance, but has stock that can be cut

- Part is out of tolerance, but tool much stock has been removed.

 

If you are jumping back to a previous operation, I have users enter the NAME of the operation to jump to.  In my posts I keep track of the "start of path" block number (Nnnn), so I can insert it automatically for the user.

 

If you are jumping forwards, I have users enter BOTH the name of the operation, and the desired block number, so I can check (once that operation is reached) that they match.  I can also check at the end of the program that all the "jump forward" UDEs actually found an operation to "jump forward" to.

 

Typically if something is overcut, I abort the program (depending on control/machine, it could be #3000, #3006, M0, M2, M30, M99 or whatever)

 

While this can all be done with "Insert" statements, IMHO using the UDEs is far better, as it allows me to check (at time of posting) that everything is pointing to valid places.

 

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Learn online





Solution Information