588,366 active members*
7,410 visitors online*
Register for free
Login
Page 1 of 2 12
Results 1 to 20 of 28
  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
    Quote Originally Posted by pinguS View Post
    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...
    Ha, now you are coming up to one of my more frequent rants regarding SolidCAM. The short answer is to save the part machined solid out of the turning SoildVerify as a STL file then reposition its origin / orientation so that you can pick it up in SolidVerify during the milling. I do this all the time as I program OP1 and OP1 for our calipers in two separate SolidCAM parts. To manipulate the STL file generated by the first to be in the right place for the second I use a program called "CtrlView" which was about $45 and does everything I want easily and without fuss. My rant? The fact that I cannot pull the STL file into SolidWorks to manipulate because invariably the STL has too many triangles for SolidWorks to cope with; if you are machining nice curvy surfaces it is not unknow for my parts to have 15 million triangles and up (I think my record is about 38M but that was a killer part). SolidCAM buy SolidVerify from a company called MachineWorks (as indeed do a lot of CAM software companies) so perhaps it is to MachineWorks and to SolidWorks I should be complaining.

  10. #10
    Join Date
    Mar 2006
    Posts
    255
    Thanks for the graphics update, I would have expected something simpler, but hey...

    Ok, so i've started to mess around with the trunnion set up, no machine graphics as of yet, but now I'm sort of getting use to the tmatrix thing, still confused on the dev_angle_x (y) (z) < what the hell are these, gpp manual is not the easiest to read.

    Secondly I've started change the pre processor .mac file, but am confused as to the _5th_axis_around, I know the default is ZYX, but because I have a trunion table fitted on a VMC, so I have set this to YX (I believe writing XY won't work). I chose this assuming that my rotationals are A for rotary and B for tilt of 0-90 deg (although I haven't set the 0-90 in any parameter yet).

    However whenever I set an axis in solidcam, lets say on a face at a rotation Y90 Deg, the Z deg also rotates 180 deg and I can't stop this from happening, i.e. I can't flip around the Z. Using setting ZYX this is not a problem. I'm thinking that the YX setting is for mill turn type machines.

    God this is started to get complicated.

  11. #11
    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

  12. #12
    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....

  13. #13
    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.

  14. #14
    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...

  15. #15
    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.

  16. #16
    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 !!!

  17. #17
    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?

  18. #18
    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.

  19. #19
    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?

  20. #20
    Join Date
    Oct 2007
    Posts
    499
    Quote Originally Posted by pinguS View Post
    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??
    The short answer is no, not in SolidCAM. Not aware of any CAM system that can do it either as most apply machine restrictions at the post processor stage.

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
  •