CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > CAM Software > SolidCam


SolidCam Discuss SolidCam software here.


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 08-15-2008, 11:18 AM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road
Transform problem

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.
Tweet this Post!Share on Facebook
Reply With Quote

  #2   Ban this user!
Old 08-15-2008, 07:41 PM
 
Join Date: Mar 2008
Location: USA
Posts: 22
Adam Hubert is on a distinguished road
use of G10 with transforms

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
Tweet this Post!Share on Facebook
Reply With Quote

  #3   Ban this user!
Old 08-15-2008, 10:37 PM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road

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.
Tweet this Post!Share on Facebook
Reply With Quote

  #4   Ban this user!
Old 08-15-2008, 11:33 PM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road

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.
Tweet this Post!Share on Facebook
Reply With Quote

  #5   Ban this user!
Old 08-16-2008, 04:43 AM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road
Admitting defeat......for now!

Well, I tried a couple more things, but no luck so I've carried on with the G54~59 setting. Which is working nicely.

Any help would be very handy though :-)
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 08-16-2008, 10:32 AM
 
Join Date: Mar 2008
Location: USA
Posts: 22
Adam Hubert is on a distinguished road

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
Tweet this Post!Share on Facebook
Reply With Quote

  #7   Ban this user!
Old 08-16-2008, 05:06 PM
 
Join Date: Jul 2006
Location: USA
Posts: 33
akedward is on a distinguished road

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.
Tweet this Post!Share on Facebook
Reply With Quote

  #8   Ban this user!
Old 08-17-2008, 10:46 AM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road

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.
Tweet this Post!Share on Facebook
Reply With Quote

  #9   Ban this user!
Old 08-17-2008, 12:20 PM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road

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.
Tweet this Post!Share on Facebook
Reply With Quote

  #10   Ban this user!
Old 08-18-2008, 09:35 PM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road



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.
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 08-22-2008, 03:52 AM
 
Join Date: Jan 2008
Location: USA
Posts: 92
jmcglynn is on a distinguished road

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
Tweet this Post!Share on Facebook
Reply With Quote

  #12   Ban this user!
Old 09-29-2008, 09:58 PM
 
Join Date: Nov 2007
Location: Thailand
Posts: 272
mattpatt is on a distinguished road

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.
Tweet this Post!Share on Facebook
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


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




All times are GMT -5. The time now is 02:52 PM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353