588,684 active members*
5,985 visitors online*
Register for free
Login
Page 1 of 2 12
Results 1 to 20 of 28

Hybrid View

  1. #1
    Join Date
    Mar 2006
    Posts
    255

    Question 4th / multiaxis output

    Hi all

    Just a quick one, I have been trying the milling tutorials to learn this software. Basically the 2.5D which you can download. All was going well, but then I decided to try outputting Gcode from an exercise, lets say exercise 14.

    This in the download has the complete built part, I used the fanuc4ax mac file, which calls the fanuc.gpp

    So far so good, but then when reading the Gcode it was only using XYZ, no rotational movements etc. I looked through the gpp file, and notice there is a @fourth_axis in there, but this isn't called unless you do a Transform - 4 axis in solidcam operations.

    The solidwork file has been constucted to machine 4 sides of a block, so would have assumed some out of say "G00 C *******" or something along these lines. Not even a machine coordinate is output, i.e. G10 L2 G54 etc...

    Can someone shed some light on this, is the post missing something?

  2. #2
    Join Date
    Oct 2007
    Posts
    499
    The short answer is "Yes, the post is missing something". The something in question is some routines to generate code initiated by the changes declared when @tmatrix is output by the CAM.

    To generate C or B axis moves you need to set up something that checks if the value you need for your axis of rotation has changed and output the necessary code if it has. However, it isn't that straight forward as the CAM issues @tmatrix twice, before @start_of_job and after @start_of_job and of course if you are using the second one to check if a value has changed the change will not show up using the CHANGE method in GPP because the value changes on the instance before @start_of_job and consequently the change flag sets to FALSE on the call after @start_of_job. Looking back at what I have written it looks more complicated than it is - my advice is if you can structure your NC program to call the pallet rotation before the start of job and therefore sometime the tool change, go for it otherwise there lies ahead some significant post tweaking.

    Something to be aware of is when you rotate the part what happens to your MAC and hence your G54 etc. If the part is positioned on the centre of rotation when it is in the machine every is easy but if it is located some distance away from the axis of rotation, say on a tombstone fixture in the case of a HMC, then you have decisions to make about how you handle that.

  3. #3
    Join Date
    Mar 2006
    Posts
    255
    Brakeman Bob

    Are these things you have already done yourself in the @tmatrix etc?

    I have changed on my @tmatrix to just output the new XYZ position after a
    i.e. {newX, ' ' ,newY, ' ' ,newZ} just to clarify things when rotated on the X axis

    However this still says the machine home_number is 1, so code in places where code is G53 + home_number, is always G54.

    Looking at this, i'm assuming the gpp uses G54,G54,G55 etc only for different MAC positions, not positions to each MAC, so if I am rotating around X axis, should I just stick to using aroundX code and update my G54 everytime?

    (by the way this is on a VMC with 4th axis in x, (actually its a 5 axis unit, but just trying to get use to 4th axis movement))

    hopefully your not confused by what I have just written

  4. #4
    Join Date
    Oct 2007
    Posts
    499
    These are things that I have dabbled with in our posts here, yes, but the bulk of the work was done by SolidCAM UK when we bought the package and susequently added machines.

    The machine_home number is driven by the MAC number so when you are setting a CAM job up and you create the first MAC this is MAC 1 - POS 1. Subsequent MAC positions will be on MAC 1 (i.e. MAC 1 - POS 2, MAC 1 - POS 3) unless you tell SolidCAM that you want MAC 2 (or 3 etc.). Of course, you can re-write your post to output G54 for MAC 1 - POS 1 and G55 for MAC 1 - POS 2 if you want; it all depends on the way you want to work. There are lots of ways to program a CNC machine - noe of them is the "right" way, just some approaches are more suitable to some situations. If this sounds like a fudge I'm sorry, I didn't mean it to - what I am trying to say is that is up to you how the code looks because only you know how the machine is going to be run, you know the unwritten rules of of your machine shop (like "G54 = B0, G55 = B90, G56 = B270" to quote one of ours), only you know the different methodologies you deploy.
    One of the main reasons I chose SolidCAM is this freedom to configure the post processor to give exactly what we need in terms of code and the way it is called; most CAM systems don't give you that choice or if they do it costs a lot of money.

    Back to you question about G54 and the X axis - the short answer is I don't know. You could update G54 for each MAC 1 - POS n or you could (if your control has it) use a G53 local offset. Bear in mind that at sometime you might want to tweak offsets so how do you find them in the middle of a program? Alternatively you could calculate the trig for the cutter position relating to MAC 1 POS 1 and control the tool like that having only a C axis move in the code (by the way, isn't rotation around the X axis defined as an A axis move? the C axis is rotation around the Z). A lot will be hinge on where the part is in relation to the centre of rotation as this is a variable not easily depicted in the CAM. What sort of set up is in your machine? You say it is a five axis, so is it an A & C like our Hermle C20U or is it a "bolt on" like a driven dividing head for A axis mounted on a trunnion for B axis?

  5. #5
    Join Date
    Mar 2006
    Posts
    255
    Ours is a trunniun based unit (Nikken) so it uses A and B.

    I have been looking for hours and I can't locate the parameter that sapecifies the positions. i.e. Mac 1 - Pos 1 << (parameter for Pos)

    I know the Mac parameter is home_number, but where the hell has the Pos one gone? Knowing this makes position setting a hell of a lot easier for the work I would be doing, as I have not advanced to full 5 axis yet.

    Also I know this isn't the correct forum, but do you know if Fanuc 18i handles simultaniuos 5 axis or only a max of 4. Currently I can only use 4 simultaniuosly although all 5 can be moved (XYZAB)

    Harm

  6. #6
    Join Date
    Oct 2007
    Posts
    499
    Quote Originally Posted by pinguS View Post
    I have been looking for hours and I can't locate the parameter that sapecifies the positions. i.e. Mac 1 - Pos 1 << (parameter for Pos)
    This is the first line of @tmatrix from a "trace" program

    (1)@tmatrix ==> mac_number:3 position:1 home_user_name:'G56 B270'

    "Mac_number" is the MAC number and "position" is the position

    Quote Originally Posted by pinguS View Post
    Also I know this isn't the correct forum, but do you know if Fanuc 18i handles simultaniuos 5 axis or only a max of 4. Currently I can only use 4 simultaniuosly although all 5 can be moved (XYZAB)
    Fanuc 18 can handle 5 axes if you have paid for them and obviously you have as (a) they are visible in the control and (b) you can move them. However 5 axis simultaneous is a different kettle of fish when it comes to programming and Fanuc 18 ain't exactly user friendly as the post needs to calculate all the angular movements in relation to the pivot point, so to create the program you will need the exact distance from the centes of rotation for both A & B to the MAC and the exact tool length & geometry as the tool contact point with the part changes as the angular axes change. Given that, if you want to change a tool offset for a 5 axis job is it can only be done in the CAM and must be reposted. Also, it is a really good idea to position the part so that the MAC (preferably MAC 1 - POS 1) at least lies on one of the axes of rotation at a known distance from the pivot point (or centre of rotation).

    Also be aware that 4 & 5 axis moves in Fanuc usually requires the feed rate to be programmed in "inverse time" (the G code of which I don't remember but is in the Fanuc manual) and is called on every line thus

    G[inverse time]
    G1 X? Y? Z? A? B? Ft

    where "t" is the time that the move takes (and the axes all move proportionally to each other).

    Creating a five axis post in Fanuc is not for the faint hearted and requires a strong understanding spatial geometry and trigonometry. Good luck.

  7. #7
    Join Date
    Mar 2006
    Posts
    255
    Ok wow,

    Anyway, i do have the inverse time stuff somewhere, also when i say 5 axis move, if I even program a simple 5 axis movement in 1 line, i get the error too many axis commanded. with 4 it is fine.

    I have the fanuc parameter manual to hand as I have changed a fair bit in the past, but never got round to 5 axis stuff, so was just wondering.

  8. #8
    Join Date
    Mar 2006
    Posts
    255
    Another quick one, i'm sure your mind has already conquered this, but in 2008, how do you if you can part machine lets say a blank material on a turning process.

    Then load that part onto lets say milling with the turning areas complete, like an updated material. (p.s. not turn-mill, but from a lathe setup to a VMC)

    I can't seem to save the updated machined part after turning to load into a new milling file??? What a Friday night...

  9. #9
    Join Date
    Oct 2007
    Posts
    499
    You're right about the GPP manual - it is really more a glossary than a manual. I find when there something I can't quite understand that it is often quicker to post out with "Trace" active and see what is changing after editing the CAM part.

    Regarding the machine initialisation settings in the MAC. Be aware that for my 5 axis trunnion machine the following settings apply

    _4th_axes_around =
    first_rotation_angle = Z
    _5th_axes_around = Z
    _5x_rotary_axes = ZXY
    direction_4x = CW
    tilt_axis_dir = CCW

  10. #10
    Join Date
    Mar 2006
    Posts
    255
    Ok cheers,

    However for curiosity:
    My trunnion (sounds rude) at home faces upwards towards the Z axis/spindle. So A is 0(this is rotary). B is 0 (facing upwards), when B goes to 90deg it tilts anti clockwise facing left (like a clock hand dropping from 12 to 9, if this makes sense).

    So after a 90 deg move the rotary axis A has moved from being around Z to being around X.

    So the big question is, is this trunnion a ZY or XY or does it make it a ZYX.

    If ZYX, then when does just ZY or XY, or any 2 axis types apply, I'm sure this is something you have already questioned?

    Also if you know, how come your setting for first_rotation_angle and _5th_axes_around are both Z, should these not have been different, ok maybe not in your setup, but when reading the confusing gpp manual, I just assumed they must be different to relate to the 2 different axes's....

  11. #11
    Join Date
    Oct 2007
    Posts
    499
    That sounds a bit arse-backwards (as we say in Birmingham). An A axis rotates around the natural X axis of the machine, the B axis around the Y and the C axis around the Z (and Z is always the axis of rotation of the spindle in machining cente or lathe. By this reckoning, your A axis should be the C axis. I would presume that SolidCAM does the maths based on this ISO standard so you should work that way and just transpose the axis addresses in the post. All post output is from B0 & C0 and those are set by MAC 1 - POS 1

    Based on the description you have given, your machine is a TABLE- TABLE type with axes B & C which makes your trunnion a ZY.

    Also if you know, how come your setting for first_rotation_angle and _5th_axes_around are both Z, should these not have been different, ok maybe not in your setup, but when reading the confusing gpp manual, I just assumed they must be different to relate to the 2 different axes's....

    I can't answer that because I don't know. Mark from SolidCAM Uk laid the foundations of this post-processor. I think that one variable refers to the order of precedence when making movements (which if you get that wrong will have some very weird movements) and the other to the position of A0 but I'm guessing. Have you read the section on building MachSim in the Five Axis manual? That has some very good pointers on how to get a five axis post working.

  12. #12
    Join Date
    Mar 2006
    Posts
    255
    Will read this up, looks like an interesting read.

    Still trying to figure out what Dev_angles are, but after the read hopefully more will come to mind.

    I'm taking a break for 2 days on this, my brain hurts...

  13. #13
    Join Date
    Oct 2007
    Posts
    499
    The dev_angle is the angle the rotary axis needs to move. Consider a machine with A & C rotary axes; what do you program for a move of B90? The answer is A-90, C+90 (or A+90, C-90. I think you'll find that the values in the dev_angle relate to what is required by the machine Kinematics. When you get the kinematics right the post chould output five axis moves with "dev_angle_x" (the A axis) and "dev_angle_z" (which is the C axis).

    Sophisticated controls like Heidenhain iTNC 530 don't need the dev_angle (older H'hain controls did and utilsied them with CYCLE 19) but Fanuc 18 will and of course the linear movements will need to trigged out to position the tool in the right place relative to the part.

  14. #14
    Join Date
    Mar 2006
    Posts
    255
    I think i'm getting there..

    Does the output in the coord sys display in Solidcam always show angles in the same orientation when you check your coordinate positions. What I mean is that regardless of what the .MAC has been changed to
    i.e. CW or CCW for tilt direction etc.
    Does solidcam still visually do movements in clockwise calculation, if your looking down the axis, just for the data coord sys screen?
    This does sound confusing I know...But why I'm asking is that when I orient a part, on screen coord sys displays Y90 and Z-90 rotation angles, which is exactly in the tmatrix rotation angles. But I need Z-90 to be Z90.

    Also in the .GPP do the Sim Five Axis parameters have no effect on the tmatrix, i.e. spindle_direction, kinematic_type, rotate_axis_dir2, etc ??

    Should i rewrite this post !!!

  15. #15
    Join Date
    Mar 2006
    Posts
    255
    Right I keep getting one of the directions in the wrond sign..
    i.e. if its supposed to be Z+ I get Z- value and the other two right, same with either of the others X and Y.

    So now I'm looking at the tmatrix_I_1, tmatrix_i_2 etc, does anybody have any idea on what these refer to, the gpp manual doesn't seem to explain?

  16. #16
    Join Date
    Oct 2007
    Posts
    499
    Quote Originally Posted by pinguS View Post
    So now I'm looking at the tmatrix_I_1, tmatrix_i_2 etc, does anybody have any idea on what these refer to, the gpp manual doesn't seem to explain?
    tmatrix_i_* refers the the transformation matrix so that if @tmatrix doesn't give you exactly the output you need you can create your own. This requires a strong understanding of spatial geometry. Have a look at the link below (there are many more sites dealing this subject too). Also have a look at the SolidWorks API help on matrix transforms as this really helped my understanding.

    http://www.kwon3d.com/theory/transform/transform.html

    Regarding your other points about SolidCAM and co-ordinate system rotation. I'm not sure if @tmatrix reverses the directions of rotation according to values in the MAC; my inclination would be set the MAC as per international standards and handle local variances in the GPP by simply multiplying by -1.

    There are two different types of five axis work - positional (sometimes called 3 + 2) which is handled by multiple MAC positions and five axis simultaneous which is handled by the @5x output in the CAM. I can only speak for myself but our practice here is to use only one MAC and have multiple positions for positional machining )drilling holes etc.) and then use MAC 1 - POS 1 for the simultaneous stuff. I imagine this would translate to FANUC 18 as only one work offset (G54) and let the CAM work out the positions of machined features to the offset. You might want to deploy G68 if you have it but I don't see why when you have the CAM to do it for you.

  17. #17
    Join Date
    Mar 2006
    Posts
    255
    Ok I'm getting somewhere with the axis movements.

    But just wondering, whether this is possible, can you restrict the mac position choices to only the capability of the 4/5 axis.
    i.e. if the tilt axis can only move 0 - 90 deg, then trying to set up a mac position of 92 deg should throw an error??

    I know this can be done for the machine / rapid verify as this reads from the sim five axis parameters i.e. rot_axis_max_limit1.

    But what about in the initial setting up? This is for example if milling a box, then you cant move to underneith it as this is where the rotary axis is holding the part?

  18. #18
    Join Date
    Oct 2007
    Posts
    499
    I am working from memory as I don't have access to SolidCAM at the moment but I think the initial settings in @tmatrix are the orientation of the models origin. I know that if the part program does not use the same origin as the model a calculation is made in @tmatrix.

    I'm in the middle of upgrading to Windows 7 and I expect it will be next week before I can check what my CAM parts are chucking out.

  19. #19
    Join Date
    Mar 2006
    Posts
    255
    That would be help full

    All I am simple doing at the moment to check if my calculations are working is:

    1. I have made a simple box in solidworks/solidcam, (X-30mm wide, Y-20mm long, Z-10mm deep)
    2. I have set my MAC/POS 1 to the bottom right corner / top face (box size from home position would be 30mm in x minus, 20mm in y plus and 10mm in z minus)
    3. I have picked various drill points around the part, for the trunnion, by just setting new MAC 1 / POS x <<< all working from MAC 1
    4. The gpp/mac is set as follows

    tilt_axis_dir_CW_CCW = N
    ;4th_axes_around = Z <<<< doesn't make diff so removed to tmatrix
    first_rotation_angle = Z
    _5th_axes_around = Z <<<< have tried Y here also, no tmatrix change that i picked up on
    _5x_rotary_axes = ZY
    direction_4x = CW
    tilt_axis_dir = CCW
    pos_to_coord = N

    5. The tmatrix is using simple output of the following:
    x = cosy*cosz*x - sinz*cosy*y + siny*z
    y = (-sinx*siny*cosz + cosx*sinz)*x + (sinx*siny*sinz + cosx*cosz)*y - sinx*cosy*z
    z = (cosx*cosz*siny + sinx*sinz)*x + (-sinz*cosx*siny + sinx*cosz)*y - cosx*cosy*z

    (I believe that the x / y / z are the shift_x etc.)
    for the sinx cosx etc I have used the values from:
    x_angle_const_z
    y_angle_const_z
    dev_angle_const_z
    also tried the normal rotate_angle_x etc

    But I always have either a X Y or Z shift value move in the opposite direction, i.e. minus- instead of plus+. This from the above said x y z calculation...

    Does the x y z need more than the calculations given by tmatrix, i.e. square roots and some other trig....

    God help if I ever work this one out, which I need too as I just can't quit until I understand....

  20. #20
    Join Date
    Oct 2007
    Posts
    499
    Quote Originally Posted by pinguS View Post
    Does the x y z need more than the calculations given by tmatrix, i.e. square roots and some other trig....
    The short answer is yes. @tmatrix just provides the building blocks and the rest is calculated in the post or in the control of the machine (assuming you have a nice powerful 5 axis control like H'hain iTNC 530).

Page 1 of 2 12

Similar Threads

  1. 3d scanning probe multiaxis
    By hpghost in forum Digitizing and Laser Digitizing
    Replies: 7
    Last Post: 07-17-2023, 11:12 AM
  2. Arc output - I,J,K or R's
    By jcnewbie in forum Uncategorised CAM Discussion
    Replies: 2
    Last Post: 10-07-2009, 11:32 PM
  3. Output 2
    By fourwheeler in forum Machines running Mach Software
    Replies: 1
    Last Post: 07-24-2009, 11:44 PM
  4. I&J arc output instead of R
    By zelaznog in forum Post Processors for MC
    Replies: 6
    Last Post: 06-15-2009, 02:30 PM
  5. Multiaxis gurus out there?
    By WingNutz in forum Mastercam
    Replies: 9
    Last Post: 02-05-2009, 11:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •