Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Guess_who

Customers
  • Posts

    336
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Guess_who

  1. OK, thanks for the replies. I also use Horizontal. But I was more concerned with not wanting to leave too much stock during roughing. Seems like a handy feature to add.

     

    It always amazes me how quickly you guys reply.

     

    We use three different brands of programming software here at my company, and MasterCam, by far, has the best forum support by tenfold.

     

    Thanks again.

  2. OK, hopefully I'm just missing it, but can anyone tell me where I can find the "critical depth" function within the Surface high speed cycles?

     

    I have been in the process of training my brain to use the new cycles in MC7 rather than the old surfacing type of paths. But I can't seem to find a way to force an endmill to a critical depth.

     

    Does anyone know if this is a feature that has been forgotten or possible abandoned?

     

    If so, I'd love to launch a protest. :rtfm:

  3. To be honest, it was the only software that our customer recommended to us. They are a very large aerospace company here in the US. so it's really the only one we looked at. We did get some other quotes, but we never really compared feature by feature.

     

    We asked for, and received a 30 day evaluation copy before we purchased. Maybe try that. The salesperson I worked with, her name was Tracy, last name starts with a 'K' I think. Nice enough company. Good service.

  4. We had to get a similar software to comply with one of our customers to. We ended up with Capvidia. Works OK. No complaints. But to be honest we really only bought it because one of our customers demanded it.

     

    It does give piece of mind that the translated files match. Anyone whose ever had a missing radii, or bad surface can appreciate the value in it.

  5. OK, I did a quick search and didn't see this reported yet. I am hoping someone can give me a quick work-around.

     

    The issue is that when I turn on the custom drill parameters, it doesn't stay on. I click the box, hit apply and then "ok". When I go back into the operation the check mark is removed.

    post-1192-0-91896800-1369161608_thumb.jpg

  6. We use strictly DFO on our Jidic HD5 and it works great. We use TCP on our Makino D500, and we had issues getting MasterCam to program it properly. I am only referring to full 5th axis. We ended up programming the Makino with NX. But Mastercam programs the Jidic just fine.

     

    When we first got the Makino we have to switch the parameter back to DFO while we reprogrammed the first part in NX.

     

    But other that programming, we never had any issues with either one at the machine. I would say it a lot easier to follow the code when using DFO though.

     

    Just my 2 cents

  7. My work-around for this was to use the brackets "[" and "]" in order to engrave the parentheses "(" and ")".

     

    The control can hand having the brackets in the comments, so it's a non issue. I would still be interested in learning why the scan function wasn't working for me.

     

    So as it stands right now everything is working great. In order to use our in-house custom engraving macros on of Makinos, I only have to type what I want engraved in the operation comment field. That information gets translated and put into our macro.

     

    Our macro line looks something like this

     

    G65 P9970 A0. B.125 I134. J127. K123. I115. J118. K111. I119. J127. K107. I118. J105. K101. I120. J127. K135.

     

    That will engrave "( WORKS GREAT )"

     

    I want to thank Colin for all the help.

  8. Hello Colin. Here is my comment section where I am performing the scan and the outputted code.

     

    Right now "scheck_error1" is defined as a ")"

     

    pcomment$	 #Comment from manual entry (must call pcomment2 if booleans)
     if (modheader = 0), pcomment3
     else, pcomment2
    pcomment2	 #Comment from manual entry
    
     scomm$ = ucase(scomm$)
     pcomment4
    
     if gcode$ = 1007, "(", scomm$, ")"
     else, "(", scomm$, ")", e$
    pcomment3
     scomm$ = ucase(scomm$)	
     if gcode$ = 1006, scomm$, e$
     if gcode$ = 1005, "(", scomm$, ")", e$
     if gcode$ = 1007, "(", scomm$, ")"
     if gcode$ = 1008,
    		 [
    		 pcomment4
    		 string1008 = scomm$
    		 ]
    pcomment4
     sengrave_comment = scomm$
     comment_error = scan(sengrave_comment,scheck_error1)
     e$
     "(*** SCAN RESULTS =", *comment_error, e$
     e$
    

     

     

     

     

    Outputted Code:

     

     

    %
    O0000
    (*** SCAN RESULTS =-9999.
    ( LAST SAVED )
    ( B2 PROGRAM NUMBER = 0000 .NC )
    G20 G0 G17 G40 G80
    G90 G10 L2 P1 X0 Y0 Z0 B0
    G11
    T22013070
    M98 P8888
    M01
    N1 T22013070 M6
    ( T22013070 = .125 DIA. BULL MILL -R.01 )
    ( () )
    S8500 M3
    G00 G53 G90 Z26.
    G0 G90 G54
    G65 P9999 A1. B0.
    X-3.3186 Y1.4861
    G43 H1 D2 Z10. M8
    X-3.3186 Y1.4861
    R.1
    G01 Z.093 F8.
    ( ENGRAVE = () )
    G65 P9970 A5. B.125 C10. I999. J999.
    (** CHARACTER(S) NOT FOUND SEE 999'S)
    Z10.
    (*** SCAN RESULTS =-9999.
    ( () )
    X-3.3186 Y1.4861
    R.1
    G01 Z.093 F8.
    ( ENGRAVE = () )
    G65 P9970 A5. B.125 C10. I999. J999.
    (** CHARACTER(S) NOT FOUND SEE 999'S)
    Z10.
    G0 G80 M9
    M98 P8888
    M01
    M30
    
    %

     

    The "CHARACTER(S) NOT FOUND SEE 999'S" is a separate check I do that will put a 999 in the macro if it finds a character that is not in the defined table. The 999 will kick out an operator message and leave a space for a special character to be programmed manually

  9. Awesome advice. Thanks again.

     

    Since we're on the topic, I am trying to use the scan function to search for a "(" or a ")" within the comment so that I can flag it as not allowed because the Fanuc might bomb out on it. But it seems like I am not using it right. Here is some simple code example

     

    sengrave_comment = the operational comment

    sbad_ascii1 = ")"

     

    if scan(sengrave_comment,sbad_ascii1)<>-9999, "(found bad character)", e

     

    No matter what I put in the operational comment it always equals -9999 which as my post book says mean "No match found "

     

     

    And thanks again for all the help. I happen to have a few days until I'll be assigned another project and I'd figure I'd play a little and learn something in the process. First break in years.

     

    Ray

  10. Awesome suggestions, thanks everyone. I think I will go back and redo some of this and try some of everyone's suggestions. Mine works, but I wouldn't mind trying some of the other suggestions to clean it up a bit.

     

    Right now I am working on trying to weed out the characters that wont work in a comment on a Fanuc Makino D500. I'll just do a test for specific character and replace them in the comment line but I'll still convert to a integer to preform the engraving.

     

    Here is what I have right now.

     

    pengraving_macro

     

    engrave_counter = 1

    IJK_counter = 1

    engrave_length = strlen(sengrave_comment)

    IF engrave_length > 30,

    [

    "( *** TOO LONG - MUST BE UNDER 30 *** IS= ", *engrave_length, "***)"

    engrave_length = 0

    ]

    while engrave_counter < engrave_length + 1,

    [

    sengrave_letter = brksps(2, sengrave_comment)

    pengraving_macro2

     

    IF IJK_counter = 1, *P9970_I

    IF IJK_counter = 2, *P9970_J

    IF IJK_counter = 3, *P9970_K

     

    sengrave_comment = sengrave_letter

    engrave_counter = engrave_counter + 1

    IJK_counter = IJK_counter + 1

    IF IJK_counter > 3, IJK_counter = 1

    ]

     

     

     

    pengraving_macro2

    IJK_ascii_holder = 999.

    if sengrave_comment = "0", IJK_ascii_holder = 0

    if sengrave_comment = "1", IJK_ascii_holder = 1

    if sengrave_comment = "2", IJK_ascii_holder = 2

    if sengrave_comment = "3", IJK_ascii_holder = 3

    if sengrave_comment = "4", IJK_ascii_holder = 4

    if sengrave_comment = "5", IJK_ascii_holder = 5

    if sengrave_comment = "6", IJK_ascii_holder = 6

    if sengrave_comment = "7", IJK_ascii_holder = 7

    if sengrave_comment = "8", IJK_ascii_holder = 8

    if sengrave_comment = "9", IJK_ascii_holder = 9

    if sengrave_comment = "A", IJK_ascii_holder = 101

    if sengrave_comment = "B", IJK_ascii_holder = 102

    if sengrave_comment = "C", IJK_ascii_holder = 103

    if sengrave_comment = "D", IJK_ascii_holder = 104

    if sengrave_comment = "E", IJK_ascii_holder = 105

    if sengrave_comment = "F", IJK_ascii_holder = 106

    if sengrave_comment = "G", IJK_ascii_holder = 107

    if sengrave_comment = "H", IJK_ascii_holder = 108

    if sengrave_comment = "I", IJK_ascii_holder = 109

    if sengrave_comment = "J", IJK_ascii_holder = 110

    if sengrave_comment = "K", IJK_ascii_holder = 111

    if sengrave_comment = "L", IJK_ascii_holder = 112

    if sengrave_comment = "M", IJK_ascii_holder = 113

    if sengrave_comment = "N", IJK_ascii_holder = 114

    if sengrave_comment = "O", IJK_ascii_holder = 115

    if sengrave_comment = "P", IJK_ascii_holder = 116

    if sengrave_comment = "Q", IJK_ascii_holder = 117

    if sengrave_comment = "R", IJK_ascii_holder = 118

    if sengrave_comment = "S", IJK_ascii_holder = 119

    if sengrave_comment = "T", IJK_ascii_holder = 120

    if sengrave_comment = "U", IJK_ascii_holder = 121

    if sengrave_comment = "V", IJK_ascii_holder = 122

    if sengrave_comment = "W", IJK_ascii_holder = 123

    if sengrave_comment = "X", IJK_ascii_holder = 124

    if sengrave_comment = "Y", IJK_ascii_holder = 125

    if sengrave_comment = "Z", IJK_ascii_holder = 126

    if sengrave_comment = " ", IJK_ascii_holder = 127

    if sengrave_comment = ".", IJK_ascii_holder = 128

    if sengrave_comment = "-", IJK_ascii_holder = 129

    if sengrave_comment = "*", IJK_ascii_holder = 130

    if sengrave_comment = "/", IJK_ascii_holder = 131

    if sengrave_comment = "=", IJK_ascii_holder = 132

    if sengrave_comment = "#", IJK_ascii_holder = 133

    if sengrave_comment = "(", IJK_ascii_holder = 134

    if sengrave_comment = ")", IJK_ascii_holder = 135

    if sengrave_comment = "@", IJK_ascii_holder = 150

    if sengrave_comment = "$", IJK_ascii_holder = 98

    if sengrave_comment = "%", IJK_ascii_holder = 99

    if sengrave_comment = "?", IJK_ascii_holder = 100

     

    P9970_I = IJK_ascii_holder

    P9970_J = IJK_ascii_holder

    P9970_K = IJK_ascii_holder

     

     

     

    Here is a sample posted out.

     

    N1 T22013070 M6

    ( T22013070 = .125 DIA. BULL MILL -R.01 )

    (*** TEST 12345-0 ( ) )

    S8500 M3

    G00 G53 G90 Z26.

    G0 G90 G54

    G65 P9999 A1. B0.

    X-3.3186 Y1.4861

    G43 H1 D2 Z10. M8

    (** ENGRAVE = ) TEST 12345-0 ( )

    X-3.3186 Y1.4861

    R.1

    G01 Z.093 F8.

    G65 P9970 A5. B.125 C10. I120. J105. K119. I120. J127. K1. I2. J3. K4. I5. J129. K0. I127. J134. K127. I135.

    Z10.

    G0 G80 M9

    M98 P8888

    M01

    M30

  11. The scan function will search a comment for a specific string, and assign the associated value to a variable.

     

    Yes, because the scan function can give a placement of the match found, I figure there was another command that could read the variable given a placement to look. But I have not been successful in finding any command that will do this.

     

    Thanks for the reply

  12. I am trying to update some of our posts to utilize all of the custom Fanuc macros we use here. So what I need to be able to do is pull out the individual letters, numbers or Characters from the operation comment so that I can convert it to an integer and use it in our custom macro. I know how do all of the logic needed the only thing I cannot find is a way to put each character from the comment into its own string variable. Similar to how the plcval function works for numbers.

     

    For example: If the operation comment is “ 12345-12 REV A” I would need to identify each character and assign it to its own string variable.

     

    I do know how to use the brksps function, but that will only take a string and divide it at a location into two strings.

     

    I have the last three versions of MasterCam installed on my box up to and including X7 B3, but our Company is still officially using X6 MU3. Unfortunately my post reference manuals are from X5. I am really hoping there is a list of new functions that are available for X6 or even X7

     

    Or maybe something like this would be easier using a Nethook? I have never created a Nethook, and I’m not sure I even have all of the licensing or software needed to make one. But I could do some research.

     

    Thanks

     

    Ray

  13. This seems very strange to me. I have never had this happen. Is it one a particular type of operation? or maybe the NCI is corrupt. When funny stuff starts happening to me, I'll try and delete the offending operation and re-create it.

     

    You mentioned that you re-installed MC on a new computer. Are you saying that this same program was posting fine before the move?

     

    A bit more information might help. What Version MC are you using? and is your post located on you local computer or is it on a network?

  14. I could not replicate this issue.

    When you say you are selecting "finish face" do you mean you are selecting a contour operation then trying to chain geometry

    I selected a contour then followed your steps and was still able to select geometry

     

    a possible workaround

    Try hitting "Regerate dispaly list'

    The icon looksl like a paintbrush on an orange bacjground

     

     

    Yes to your first question. I am selecting a finish face toolpath but they all seem to do the same thing. I try hitting the regen display and that didn't change anything.

     

    I did find a work around but going into TOOLPATH and C-AXIS, it will allow me to start choosing geometry again. I believe this issue is related to my install only. I bet if I uninstalled, and wiped my registry clean, and then reinstall, that might fix the issue.

     

    So as long as I can work around it, it's really not a big deal. Hopefully the next update will fix it for me.

     

    Thanks for the feedback

  15. I did a search but I'm guessing this bug might be unique to me. Here's what happens,

     

    I choose and operation type, let’s say finish face, then the chaining box opens. If I pick single chain icon then partial chain icon, then click back on single chain, the ability to actually choose the geometry goes away. And I cannot select any geometry to chain during the remainder of that MasterCam session. I need to exit out of MasterCam and restart.

     

    I am using MasterCam X6, MU2.

     

    But I uninstalled and went back to X6, and it still happened. Then tried MU1 and same thing.

     

    Has anyone else seen anything like this?

  16. So does anyone know if this option is going to be changed or removed anytime soon. It is very annoying. And I realize you can turn the level off, but if you have a very large solid, turning this on and off sometime takes a long time.

     

    I think they need to add an option to the autocursor setting or the config, to allow us to turn this feature off.

     

    Beside why would you every want to prioritize trimming a line to a solid rather than other created geo? :realmad:

  17. Just for clarity,

    You would like to make a 2D toolpath (contour/pocket/drill.... whatever)

    The geo you need to toolpath is below your machines Y axis limit.

    You would like Mcam to know this Y value is not valid and compensate for this by rotating the part 180 deg...

     

     

    Yes, I think that would be great. I know there are a few work arounds, like rotating my geo and fat finger a B180 in the code, but I guess I was just thinking that MC should be smart enough to realize that I have only Y-2.0 and by rotating to B180 it could do the path without violating the Y. There are machine limits in the machine definition and in the post but neither one does anything for X, Y, and Z. They do work well for A, B, and C however.

     

    BTW - I did just find a fairly simple work-around. Luckily my machine can position to A.00001, so as long as I'm not at A0, the -B- axis will go whereever I tell it.

  18. Hi all. I haven't posted much lately but I am a frequent visitor.

     

    My Issue: I am running an impeller on a 5 axis horizontal Jidic HD5. But I am limited on my -Y- axis to -2.000 max. My -A- axis is perpendicular the spindle and my -B- axis is rotates around the -Z-. Hopefully everyone can get what I mean.

     

    Anyway

    The 5th axis operations I don’t have an issue because I can give axis limitations in the parameters of the operation, but simple 2d pocketing or surfacing, there is no option for this.

     

    I have tried putting limits in the machine configuration as well as in the pst file, but neither have any effect on the code output. I have also tried rotating the -B- 180 degrees so that the -Y- will be +, but because I am perpendicular the spindle, Mastercam just leaves the -B- at 0 (which is a big complaint of mine). Mastercam should take my -B- to whatever angle I want.

     

    Does anyone have any ideas to keep my -Y- axis from going more that -2.000 ( and moving the part off centerline is not an option.

     

     

     

    Thanks all

     

    Ray

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...