Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

NXpost 1

Status
Not open for further replies.

kukelyk

Industrial
Mar 21, 2005
315
hi!
we bought a new machine, and now we need a post for nx.
its 5ax XYZ,B-head C-Table.
The table-as you see in the picture (upper-right corner)- can move only underneath the head (spindle axis in vertical position) 80mm-s past with its center.
(click on the picture to get it in full size)
in the post builder, i can specify the 'linear axis travel limits'- as the size of the workspace, and the axis limits at rotary axes. Is it possible to define the 80mm somehow?

A simple 2-2,5D planar profile operation, if the workpiece big enough, needs to rotate the table, because of the machine :(
So we badly need it..
thx in advance.
kukely k

----
kukelyk
 
Replies continue below

Recommended for you

I do no think you can define it in postbuilder without adding your own smart code. You would need to activate the stroke limits anyway to get it to function.

Perhaps building an is&v pp would be an option then you can visualize before things turn bad.

Jelmer
 
yes, i know.
but how can the pp find the alternative motion? it has to change the coordinates ie X-100. to C180. X100. at B0.
i need some take-off, could anyone help?
the bigger problem is when the heads position is not vertical. When the head tilts to -B(backwards), the pp writes out even a correct coordinate (bigger then x-80. ie x-70) the tool lenght's correction shifts the needed phisical excursion (the table should be go through the -80 limit).


----
kukelyk
 
Our machining center had this same limitation (80mm past center travel limit @ vertial spindle position.)
For this reason, I usually mounted parts on a tombstone and machined them horizontally, or made sure that the part was mounted on the near side of the C axis center of rotation to avoid overtravels.

Dave
 
yes, it is the correct solution, but sometimes we have to mill heavy parts, which gains the weight limit of the machine. in that case it is impossible to use tombstone, and need to use the turning capability of the machine for the part's manufacturing. (and still we have no tombstone..:-/ )

----
kukelyk
 
Do you find that when you face a part in two stages at C0 and C180 that there is mismatch?
 
yes, but if this mismatch is in the tolerance range, there will be no problem..aand by the specification of the machine, there will be no problem...

----
kukelyk
 
This is a description of how I tend to solve axis limitations. I am not very fond of using some of the ugs code as it turns out to be broken before it arrives. If not in the current release it will be of no importance in the next.

The pp I have build so far have my own orientation calculation module and also I have code to push the machine over to a preferred position. You will first of all need the alternative solution before it is overwritten i.e. place a fetching module in PB_CMD_before_motion. With two solutions available you then put in a check in the linear motion procedure.

For multi-axis face milling you need to alter the mom_msys or mom_csys procedures depends upon how much customisation has been made.

You will need to think about how the machine is going to transfer to the alternative solution in simultaneous mode. If you do a retract you will need to plan the re-engage move. If you decide to keep the tool on the part you will need to choose an axis orientation that does not harm the part surface.
 
i thought that i make 2 different solution for 2 different case.
If the spindle axis is vertical, then i only have to rotate the c axis by 180 degrees, negate the x,y coordinates, and write out an arc with the negated x and y coordinates as its endpoint, and with the axis of the table as its center. (Still i dont know if the machine could make this movement simultaneously)
If the spindle axis not vertical, I have to retract the tool along its axis, rotate table with 180 degrees, negate x,y,b coordinates, and re-engage along its new axis-direction.
but still i dont know how can i make it in the tcl-code..
our vendor holds back the pui file, so i have to work without that..

still i dont know its algorithm..and did not find any documentation about it..do you have any?

----
kukelyk
 
I do not think you need the pui file to make it work. You can work without it but for future updates it would be better to be able to open the file in postbuilder.

What algorithm are you referring to?

Jelmer
rouwe-analysis
 
there are in the nx mom_pos (as i think) variables.
this variables go through an algorithm, which calculates the machine's coordinates about the kinematics. It is very simple at a 3 axis mill, not too complex, at 5ax, if the head has the rotary movings, but if there are one or two rotary tables, it gos more and more complicated. Still i dont know how the postprocessor makes this calculations. looking at the TCL code I hardly read it, there are lots of different coordinate variables, and lots of procedures, which calls other subprocedures etc.
I need to modify the output with my code, from the input mom_pos coordinates. i think so.

----
kukelyk
 
As far as I am aware that bit of code is in one of the encrypted files. It depends a bit how the postprocessor works if it is is&v or a straight post or one with a machine model.

If you know what to change then altering the mom_pos variable in the MOM_linear_move, MOM_circular_move and MOM_rapid_move is what you could do. As mentioned before you can save your self some of the headache by using mom_alt_pos but you will need to fetch it before nx overwrite it.

Jelmer
 
what i wrote above, is what i think. I dont know the whole process. In the post there are a lot of different ie. x coordinate, and b'cos of the procedures, which changes one to other...

It is a simple post, but later i will likely make the is&v too. What are the differences?
the pb's mom variable browser says:
mom_pos:
Data type: numeric array(5)
Category: Motion
"The machine tool coordinates of the goto point. For Lathes, this is the X and Z positions of the tool tip. For four and five milling machines, mom_pos(3) and mom_pos(4) represent the fourth and fifth axis rotary positions. The rotary positions are between 0 and 360. For three axis mill turns the output is X, Z and C. For WEDM machines, mom_pos(3) and mom_pos(4) are used for 4axis output."

to sum up what i think (pls correct it, if you know better.)
There are in the nx parameters of the tool path:X,Y,Z,I,J,K,F,S.
The post can read this values line-by-line.
There is in the post the machine's kinematics in a procedure. The post calculates about this parameters.
So i have to modify the kinematics algorithm, adding some more code, defining the limits or/and insert some more movings:retract and re-engage, or some linking move when the table and the head get on its new position.

----
kukelyk
 
You are right.

Difference between is&v and conventional is the availability of machine model. The kinematics are derived from the kinematics model.
 
"The kinematics are derived from the kinematics model."

the 3d-model, as it defined in the machine tool bulider?
really?
i thought that the is&v model uses an inverse post, the vnc post: the is&v works so that first uses the post, and after that the converted nc-code translated back by the inverse post.


----
kukelyk
 
#=============================================================
proc PB_CMD_reload_iks_parameters { } {
#=============================================================
# This command overloads new IKS params from a machine model.(NX4)
# It will be executed automatically at the start of each path
# or when CSYS has changed.
#
global mom_csys_matrix
global mom_kin_iks_usage

#----------------------------------------------------------
# Set a classification to fetch kinematic parameters from
# a particular set of K-components of a machine.
# - Default is NONE.
#----------------------------------------------------------
set custom_classification NONE

if { [info exists mom_kin_iks_usage] && $mom_kin_iks_usage == 1 } {
if [info exists mom_csys_matrix] {
if [llength [info commands MOM_validate_machine_model] ] {
if { [MOM_validate_machine_model] == "TRUE" } {
MOM_reload_iks_parameters "$custom_classification"
MOM_reload_kinematics
}
}
}
}
}
 
it sounds great. so the only thing i need, to avoid the output of the values smaller then -80 in x, to make the machine model? and then will the post alter that coordinates by rotating the table? i couldn't believe

----
kukelyk
 
Well it is too nice to be true, and it is not. Most of the time the simulation machine will do the intermediate motion the wrong way around.

When you are prepared to skip the slide length in vertical mode then it is an easy ride apart from a chance of having the rotation direction wrong.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor