![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| SolidCam Discuss SolidCam software here. |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
Hi All, me again and yes, another problem that I hope you guys can help with. I've got a fixture set up in which I have 6 parts fitted. The plan at first was to manually pick each profile etc to machine the array of parts, but then I found the transform button. Oh what joy and how easy was that. Right up until I tried to run the program on the machine. I chose the transform - matrix and then set the parameters for 6 rows at 111mm step. Just for reference. I'm using a Fadal 3016 with Fanuc 0i control. I must apologise now as I'm sitting in an internerd cafe writing this so I don't have the generated program in front of me, but it used code I was unfamiliar with (being a newbie and all) such as a WHILE statement at the start and an END1 at the end. Also had a line: G10 G91 L2 P2 X111 Y0 Z0 Immediately followed by: G90 Anyway, the X111 relates to the fact that I want to move the datum inrementally 111mm in X, and 0mm in Y & Z. To give more idea of how I'm (trying) to do this, I've got a main program that calls each operation as a sub program using M98. It's worked perfectly for me so far, and is quick and easy to edit each sub program without having to scroll through pages of code, but all that happened was it jumped from the main program to the sub program and then machined the same pair of holes 6 times, instead of incrementing 111mm onto the next piece. I had a flick through the docs I have and it appears that you can't have a subroutine in a subprogram. So I messed with the program a little and put it in the main program, but it did exactly the same thing. The only way I've managed to solve this without completely redoing the CAM bit is to set the 6 datums as G54 thru to G59, calling the subprogram at each line. It works fine but is a little long winded, especially as a job I have coming up soon would be a piece of cake if I can get this transform thing to work. If anyone has any bright ideas I would be most grateful as I want to start cutting tomorrow, but I'll redo the code in the morning to use the G54~G59 codes as I've already tested, unless you chaps can help. I'll also make sure that I have the generated program to hand next time I log into this forum as I'm sure that it's be far more useful that me babbling on. Just as an example. Say you wanted to drill one hole, and then transform this a couple of times along the part, using the translate thingy. How should the code come out? Well, that's all for now. I'll go sleep on it. Thanks for listening. Matt. |
|
#2
| |||
| |||
Matt, First time I saw this in SolidCAM it was a bit different than I had been used to. I had previously done it the way you mentioned of G54, call a sub, G55 call a sub, G56 call a sub, and so on. I gave the SolidCAM way a try and though different it works perfectly and is something that I use almost every day. As long as you know the shift values ahead of time all is well. I always use fixtures or vises with fixed or known shifts. This also allows and unlimited number of shifts (I often have 50 or more) versus using G54-G59 and how ever many extended offsets you might have. I also don't have to goof around moving to positions and setting all the coordinate systems. G10 just means that your going to set an offset in this line. Could be coordinate system (G54, G55, etc), tool length offset, tool diameter, and depending on your machine a few others G91 of course is incremental. L2 lets it know which type of offset (coordinate, length, diameter, and so on). L1 is one type of offset, L2 is a coordinate system, L3 another type, L4 another type, and so on. P2 in your example is equivalent to G55. P1 would be G54, P3 is G56, P4 is G57 and so on. The rest of the values are obvious (your shifts) Essentially when it runs this way it is just automatically or programatically sets your G55, kicks back into G90, calls up the subprogram, makes the programmed moves in absolute, resets your G55 incrementally as compared to your previous G55, moves to the next location, back in to G90, calls up the subprogram, makes the programmed moves, and repeating this as many times as is necessary. At the end mine automatically sets it back to the starting point. Not sure why yours isn't working like mine. Perhaps this will help you troubleshoot the problem. Your controller is a very popular one so it should not be hard to sort out the problem. Hope this helps |
|
#3
| |||
| |||
| Thanks for the reply Adam. I kind of figured out what all the code means, but I just can't understand why it's not working. Having not used this before, I'm not sure if there's some code missing. It repeats the action without a problem, it's just that it doesn't reset the datum to the new position. Also, as you mention Adam, there's some code at the end that resets the datum back to G54. I hope I can get it figured out as it's save a bunch of time. I'll be at my shop in an hour or so, and I'll copy and paste the program here for some evaluation. Thanks. Matt. |
|
#4
| |||
| |||
| Here's my example program: % O1000 (DR13.TAP) ( MCV-OP ) (16-AUG-2008) N100 (SUBROUTINES: O1 .. O2) N102 G21 N104 ( TOOL -7- DRILL DIA 13.0 MM ) N106 G90 G0 X17. Y147. Z50. S1400 M3 N108 M8 N110 #21 = 0 N112 WHILE [#21 LT 6] DO 1 N114 (----------------) N116 (DR13-CSK - DRILL) N118 (----------------) N120 G0 X17. Y147. Z50. N122 G98 G83 Z1.395 R28. Q3. F280 N124 X83. Y9.5 N126 G80 N128 G10G91 L2 P2 X111. Y0. Z0. N130 G90 N132 #21 = #21 + 1 N134 G2 N136 END 1 N138 G10G91 L2 P2 X-666. Y0. Z0. N140 G90 N142 M5 N144 G91 G28 Z0. N146 M99 % The code in bold lettering is what I'm unfamiliar with. I'm also wondering if the problem is coming from the fact that I'm using G5.1 look ahead in the main program??? I'll give that a try now and get rid of it for the time being and see if it makes a difference. Spot anything wrong? I'm calling tool, tool heights, diameter offsets from the main program. Should I have a G54 in the subprogram so that the machine knows where it is? Help very much appreciated. Matt. |
|
#6
| |||
| |||
| Your output might be a bit different than mine depending on which post we each use. In this example I'm using the default Fanuc post. Most of the default posts are about the same. Perhaps I didn't read your post clearly but I thoughy you were using Translate/List, not Translate/Matrix. I see now from your code output that your are using Transform/Matrix (Rows and Columns). That code output of loops (N110 #21 = 0 N112 WHILE [#21 LT 6] DO 1) is not what I use. Though my machine accepts it and I know how it works I accomplish identically the same thing by using Transform/List (shifts in X,Y,Z values versus rows and columns). The code output using Transform/List is much simpler and is what I was referring to in my previous post. sample output using Translate/Matrix O5000 (MATRIX.TAP) ( MCV-OP ) (16-AUG-2008) (SUBROUTINES: O2 .. O3) G90 G17 G80 G49 G40 G54 G91 G28 Z0 G90 M01 N1 M6 T1 G90 G00 G40 G54 G43 H1 D31 G0 X1. Y1. Z2. S1200 M3 M8 #21 = 0 WHILE [#21 LT 2] DO 1 #22 = 0 WHILE [#22 LT 2] DO 2 (------------------) (D-DRILL-T1 - DRILL) (------------------) G0 X1. Y1. Z0.2 G98 G81 Z-0.15 R0.079 F2 G80 G10G91 L2 P1 X8. Y0. Z0. G90 #22 = #22 + 1 G1 END 2 G10G91 L2 P1 X-16. Y8. Z0. G90 #21 = #21 + 1 G1 END 1 G10G91 L2 P1 X0. Y-16. Z0. G90 M30 sample output using Translate/List % O5000 (1.TAP) ( MCV-OP ) (16-AUG-2008) (SUBROUTINES: O2 .. O0) G90 G17 G80 G49 G40 G54 G91 G28 Z0 G90 M01 N1 M6 T1 G90 G00 G40 G54 G43 H1 D31 G0 X1. Y1. Z2. S1200 M3 M8 (------------------) (D-DRILL-T1 - DRILL) (------------------) X1. Y1. Z0.2 G98 G81 Z-0.15 R0.079 F2 G80 G10G91 L2 P1 X8. Y0. Z0. G90 (------------------) (D-DRILL-T1 - DRILL) (------------------) G0 X1. Y1. Z0.2 G98 G81 Z-0.15 R0.079 F2 G80 G10G91 L2 P1 X8. Y0. Z0. G90 (------------------) (D-DRILL-T1 - DRILL) (------------------) G0 X1. Y1. Z0.2 G98 G81 Z-0.15 R0.079 F2 G80 G10G91 L2 P1 X8. Y0. Z0. G90 (------------------) (D-DRILL-T1 - DRILL) (------------------) G0 X1. Y1. Z0.2 G98 G81 Z-0.15 R0.079 F2 G80 G10G91 L2 P1 X-24. Y0. Z0. G90 M30 % Hope this clears it up |
|
#7
| |||
| |||
| I have had two separate issues while using the transform function in Solidcam. Both of these turned out to be issues with the post that Solidcam gave me for my HAAS VF-2. The first problem was that it would step exactly the opposite direction that I wanted it to. The second problem I had was that it would not retract to the correct Z clearance plane before it would step to the next part. As I already said, these were both post problems that were corrected by Solidcam and I have not seen any more problems so far. |
|
#8
| |||
| |||
| Thanks for the replies guys. Adam, I see in your post that you have: G10G91 L2 P1 X8. Y0. Z0. (Note P1) Whereas I have: G10G91 L2 P2 X111. Y0. Z0. (Note P2) Could this be the problem? I'll have a chance to test this tomorrow night as the job I'm doing should be done by then. I just tried the same operation (DR13.TAP) using the transform/list and I get the same as your example, but again, it's P2 in every datum shift, not P1. My 'home' position is G54 Sorry if I sound a little green here, but it's because I am! Thanks. Matt. |
|
#9
| |||
| |||
| I think I may have sussed what the problem is, and it's related to the P2, which (as Adam pointed out to me) is G55. Well I think that it's because this is the 2nd op, but I have reset the home position as G54 on the machine, but it's position 2 in SC, so the generated program is looking at the second datum for reference. I transformed an op from the first set up and it came out in the program as P1, just like Adam's post. So I'm reasonably confident that that's the problem. I just spent about 2 hours reading through the GPP tool thingy before this fell on me as I couldn't work out why it was generating G55 as the home and not G54, but after using the trace 'all':5 command I could see what was going on. I'll try this tomorrow evening when the current job is done, and I'm keeping my fingers and toes crossed. Thanks very much for all your help, and i'll let you know how it goes. Matt. |
|
#10
| |||
| |||
![]() And yes, we all know what the dancing banana means! Simply changed my original program from P2 to P1 and BINGO......everything worked perfectly. This was the transform/matrix option. Life is sweet.......for now ![]() Thanks for all the advice. To be honest, I think the some of the best advice when trying to solve a 'simple' problem like this is to use the trace all:5 option in the processor so you can actually see what's going down. Might not actually be able to understand it all yet, but it's definitely a big help. It also pays huge dividends when you actually understand the program! Oh well, back to work. Thanks again. Matt. |
| Sponsored Links |
|
#11
| |||
| |||
| I tried the translate on a part today, it totally didn't work. What I wanted to do was cut two identical parts out a a piece of stock. I had the translate set up with one row, two copies and an offset of 3.0". The generated G-Code had errors (invalid radius for G13). Taking out the translate the g-code ran fine. Joe |
|
#12
| |||
| |||
| Using this option a fair bit, but I've run into a slight problem. If for some reason I stop the program half way through (say it's on the 2nd or 3rd datum hop) and I want to restart the program, it doesn't go back to the original datum, but instead starts at the datum where I stopped it. I've managed (somehow!) to get it back to the original datum, but I don't know how and then just yesterday I managed to completely reset all my datums, which was rather a pain!Any help much appreciated. I'm sure there's something very simple. |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| machine problem or software problem? | bcnc | Syil Products | 8 | 10-26-2009 10:51 AM |
| Toolpath Transform problem... | kprice1658 | Mastercam | 6 | 03-13-2008 02:07 PM |
| Transform Stretch no dialog box | ZipSnipe | Mastercam | 7 | 12-17-2007 01:52 PM |
| Autobots, Transform! | Switcher | RC Robotics & Autonomous Robots | 1 | 07-13-2007 07:48 AM |
| Transform 2D Views into 3D CAD drawing...? | tdfsu | General CAM Discussion | 5 | 02-03-2006 03:05 PM |