587,067 active members*
3,564 visitors online*
Register for free
Login Register
CIMATRON Forum
SolidCAM for SolidWorks and SolidCAM for Inventor > NEED HELP WITH .GPP FILE
Results 1 to 20 of 20
  1. #1
    Join Date
    Oct 2007
    Posts
    38
    Hi! I'm trying to edit an old .GPP file for a deckel Fp4MA. Everithing is working just fime but since this machine need that z compensation must be wrote after any z changes i've discovered a mistake. It puts the D+ code after Z changes but it does this change aven after a x or y change and i can't discover where is the problem into the .GPP file. Could someone check this .GPP file? Thanks a lot...
    Attached Thumbnails Attached Thumbnails SolidCAM.gif  
    Attached Files Attached Files

  2. #2
    Join Date
    Sep 2006
    Posts
    735
    Hi,
    would you like to give a short example where I can see the NC code directly from the actual GPP file.
    Please mark the mistakes or how it should work correctly.

    Sorry, I didn't open the attached picture.

    I will have a look.
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  3. #3
    Join Date
    Sep 2006
    Posts
    735
    Try this:

    {[' X'xpos], [' Y'ypos], [' Z'zpos,' D+'tool_number]} <- insert here
    if save_feed <> feed or change(feed) then
    m_feed_flag = true
    endif
    if m_feed_flag eq true then
    m_feed_flag = false
    {' F',feed,' D+'tool_number} <- delete this
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  4. #4
    Join Date
    Oct 2007
    Posts
    38
    OK I have solved that part in this way:

    if m_feed_flag eq true then
    m_feed_flag = false
    {' D+'tool_number' F',feed} <== putting ' D+'tool_number just befor ' F'

    Now the problem comes here

    @move_xy

    gcode = 0

    if first_rapid_move eq true then
    {nb,'G'gcode,[' X'xpos], [' Y'ypos]}
    call @start_tool
    {' M08'}
    {nb,'G'gcode,[' Z'zpos],' D+'tool_number}
    first_rapid_move = false
    else
    {nb,'G'gcode [' X'xpos], [' Y'ypos], [' Z'zpos],' D+'tool_number} <===i've put the compensation here!
    endif

    endp

    This works but effect X and Y too... besides Z must be in a new block lonely with d+ compensation.
    Her's what I get:

    N0010 G00 X-163400 Y+22510 S+2000 M08
    N0020 G00 Z+10000 D+01 <== Good Here
    N0030 G00 Z+2000 D+01 <== Good Here
    N0040 G01 Z-25500 D+01 F500
    N0050 G02 X-152470 Y+34400 I+36400 J-22510 F1000
    N0060 G02 X-152040 Y+34600 I+730 J-980
    N0070 G01 X-143720 Y+36700
    N0080 G02 X-142910 Y+34400 I+300 J-1190
    N0090 G03 X-163400 Y+10560 I+15910 J-34400
    N0100 G00 Z+10000 D+01 <== Good Here
    N0110 G00 Y-22510 D+01 <== BAD HERE
    N0120 G00 Z+2000 D+01 <== Good Here
    N0130 G01 Z-25500 D+01 F500

    I've tryed to but D+ inside [' Z'zpos] but it mess up the things too:

    N0010 G00 X-163400 Y+22510 S+2000 M08
    N0020 G00 Z+10000 D+01
    N0030 G00 Z+2000 D+01
    N0040 G01 Z-25500 D+01 F500
    N0050 G02 X-152470 Y+34400 I+36400 J-22510 F1000
    N0060 G02 X-152040 Y+34600 I+730 J-980
    N0070 G01 X-143720 Y+36700
    N0080 G02 X-142910 Y+34400 I+300 J-1190
    N0090 G03 X-163400 Y+10560 I+15910 J-34400
    N0100 G00 Z+10000 D+01
    N0110 G00 Y-22510 Z+10000 D+01 <== It goes with Z but move Z into Y line
    N0120 G00 Z+2000 D+01
    N0130 G01 Z-25500 D+01 F500

    Anyone hase a solution please... thanks a lot...

  5. #5
    Join Date
    Sep 2006
    Posts
    735
    Quote Originally Posted by IlFincoITA View Post
    N0110 G00 Y-22510 Z+10000 D+01 <== It goes with Z but move Z into Y line
    Is this the only mistake ? When "yes", you have to set a flag for the "D+01" output. Is it so ? Every sentence with single axis output in Z must have the "D+01" ?

    Try something like that:

    if ( (change(xpos) eq false) and (change(ypos) eq false) and (change(zpos) eq true) then
    {'D+',tool_number}
    endif
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  6. #6
    Join Date
    Oct 2007
    Posts
    38
    Quote Originally Posted by G00Z0 View Post
    Is this the only mistake ? When "yes", you have to set a flag for the "D+01" output. Is it so ? Every sentence with single axis output in Z must have the "D+01" ?

    Try something like that:

    if ( (change(xpos) eq false) and (change(ypos) eq false) and (change(zpos) eq true) then
    {'D+',tool_number}
    endif
    GREAT! IT HELPS ME THANKS A LOT

  7. #7
    Join Date
    Oct 2007
    Posts
    38
    Quote Originally Posted by IlFincoITA View Post
    GREAT! IT HELPS ME THANKS A LOT

  8. #8
    Join Date
    Oct 2007
    Posts
    38
    Hi! It is a last thing that i don't understand...

    @call_proc
    integer_def_f = BLKNUM_F

    {nb,'L1 N*'start_line}
    {' N*'end_line}


    integer_def_f = INTEGER_DEF_F
    endp

    this suppose to repeat blocks of program.... but it doesn't work. I didn't see any repetition in my generated G code. What is activating this procedure? I've seen in .MAC file that "loop_exist = Y".

  9. #9
    Join Date
    Sep 2006
    Posts
    735
    This section is important if you use subprograms.

    look at this lines in *.MAC:

    gen_procs = N
    gen_internal_proc = Y
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  10. #10
    Join Date
    Oct 2007
    Posts
    38
    Hi! I've check it out and the setting are as you wrote in .MAC file but still no L01 repetition in my G Code...

    It suppose to generate something like this:

    N0481 L01 N0081 N0401

    Is there any setting that I must flag into solidcam operation idalog boxes or general machine setting... I can't figure out what it is?

  11. #11
    Join Date
    Sep 2006
    Posts
    735
    Do you want to get sub programs or not ?

    If not, just write

    gen_internal_proc = N

    in the *.MAC

    If "yes", why ?
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  12. #12
    Join Date
    Oct 2007
    Posts
    38
    Of course I want to use subprogram... the memory on FP4MA is very small... I need to short the program as much as possible.

    I mean sub program is when a piece of program is repeated inside the main program... for example a toolpath that is equal but has a different Z depth: Because what I see is that Solidcam generates the full G code repeating the complete toolpath aven wen it is the same ad the only thig different is the Z depth. That wath I need to avoid...

    You see (this is generated with gen_internal_proc = Y) :

    N0010 G00 X-129500 Y+0 S+1000 M08
    N0020 G00 Z+10000 D+05
    N0030 G00 Z+1000 D+05
    N0040 G01 Z-6000 D+05 F33
    N0050 G01 Y-5500 F100
    N0060 G03 X-129500 Y-5500 I+0 J+5500
    N0070 G01 Y+0
    N0080 G01 Z-11000 D+05 F33
    N0090 G01 Y-5500 F100
    N0100 G03 X-129500 Y-5500 I+0 J+5500
    N0110 G01 Y+0
    N0120 G01 Z-16000 D+05 F33
    N0130 G01 Y-5500 F100
    N0140 G03 X-129500 Y-5500 I+0 J+5500
    N0150 G01 Y+0
    N0160 G01 Z-21000 D+05 F33
    N0170 G01 Y-5500 F100
    N0180 G03 X-129500 Y-5500 I+0 J+5500
    N0190 G01 Y+0
    N0200 G01 Z-22000 D+05 F33
    N0210 G01 Y-5500 F100
    N0220 G03 X-129500 Y-5500 I+0 J+5500
    N0230 G01 Y+0
    N0240 G00 Z+10000 D+05

  13. #13
    Join Date
    Sep 2006
    Posts
    735
    So is your sequence in *.MAC:
    gen_internal_proc = Y

    Then in *.GPP you need the sections:


    @proc -> this calls the sub programm in main programm
    @call_proc -> start sequence from sub program
    @end_proc -> end sequence from sub program

    Where is still your problem ?
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  14. #14
    Join Date
    Oct 2007
    Posts
    38
    In my .GPP I only find...

    @call_proc
    integer_def_f = BLKNUM_F

    {nb,'L1 N*'start_line}
    {' N*'end_line}


    integer_def_f = INTEGER_DEF_F
    endp


    @proc
    flag_start_job = true
    endp

    What is wrong is this

    N0080 G01 Z-11000 D+05 F33
    N0090 G01 Y-5500 F100
    N0100 G03 X-129500 Y-5500 I+0 J+5500
    N0110 G01 Y+0
    N0120 G01 Z-16000 D+05 F33
    N0130 G01 Y-5500 F100--------------------------------->This is a repetiion
    N0140 G03 X-129500 Y-5500 I+0 J+5500----------->This is a repetition
    N0150 G01 Y+0
    N0160 G01 Z-21000 D+05 F33
    N0170 G01 Y-5500 F100--------------------------------->This is a repetiion
    N0180 G03 X-129500 Y-5500 I+0 J+5500----------->This is a repetiion
    N0190 G01 Y+0
    N0200 G01 Z-22000 D+05 F33
    N0210 G01 Y-5500 F100--------------------------------->This is a repetiion
    N0220 G03 X-129500 Y-5500 I+0 J+5500----------->This is a repetiion
    N0230 G01 Y+0

    Why it doesn't writhe those blocks under
    L01

    Like this

    N0200 G01 Z-22000 D+05 F33
    N0201 L01 N0170 N0190

    and so on...

    See attached file...
    Attached Files Attached Files

  15. #15
    Join Date
    Sep 2006
    Posts
    735
    I think at this point I have to see the PP.
    If you would mind, send me the *.GPP and *.MAC and I will have look.
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  16. #16
    Join Date
    Oct 2007
    Posts
    38
    You're so kind... here it is...
    Attached Files Attached Files

  17. #17
    Join Date
    Oct 2007
    Posts
    38
    Quote Originally Posted by IlFincoITA View Post
    You're so kind... here it is...
    I'm sorry I did a mistake... don't which file a was looking at but after a double check i found

    gen_internal_proc = Y was set to N

    Now I've chage it and everything is just fine.

    Sorry to have bother you guys out there... you have helped me a lot...

  18. #18
    Join Date
    Sep 2006
    Posts
    735
    Everything is fine now ?
    The thread is closed ?

    Thanks for the conversation,

    Bye
    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Wir haben doch keine Zeit<!--sizec--></span><!--/sizec--> <!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->--&#62; G00Z0<!--sizec--></span><!--/sizec--><br /><br /><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->Diesem User wurde verliehen:<!--sizec--></span><!--/sizec--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--> &quot;<i>Das Nordeutsche Qualitätsposting Siegel</i>&quot;<!--sizec--></span><!--/sizec-->

  19. #19
    Join Date
    Oct 2007
    Posts
    38
    I'm trying the G Code this morning... i'll confirm that everithig is OK within today...

    Thnaks a lot...

  20. #20
    Join Date
    Oct 2007
    Posts
    38
    Nope there is still onothe issue. The line after L01 mess up the Z this is a simple program:

    ;SPALLA ALBERO MOTORE
    ;
    %
    (&P01/0000)
    T07
    ;
    ; Fresa Piatta Ø14 mm.
    ;
    ; --------------------
    ;
    ; F-CONTOUR7 - PROFILE
    ;
    ; --------------------
    ;
    N0010 G00 X-129500 Y+0 S+1250 M08
    N0020 G00 Z+10000 D+07
    N0030 G00 Z+2000 D+07
    N0040 G01 Z-7000 D+07 F500
    N0050 L01 N0180 N0220
    N0060 G01 X-129500 Y+0 Z-14000 D+07 F500 ========>Z must go into a separate block
    N0070 L01 N0180 N0220
    N0080 G01 X-129500 Y+0 Z-18500 D+07 F500========>Z must go into a separate block
    N0090 L01 N0180 N0220
    N0100 G01 X-129500 Y+0 Z-19000 D+07 F500========>Z must go into a separate block
    N0110 L01 N0180 N0220
    N0120 G00 X-129500 Y+0 Z-19000========>Z must go into a separate block ==>Where is Dz Compensation?
    N0130 L01 N0230 N0270
    N0140 G00 X-129500 Y+0 Z+10000========>Z must go into a separate block==>Where is Dz Compensation?
    N0150 M09
    N0160 G00 Z+150000 D+07
    N0170 M30
    N0180 F750
    N0190 G41 D+57 G47 A+1000 X-129500 Y-17000 G01 G60 M61
    N0200 G03 X-129500 Y-17000 I+0 J+17000 F750
    N0210 G40 D+57 G47 A+1000
    N0220 G01 Y+0
    N0230 F750
    N0240 G41 D+57 G47 A+1000 X-129500 Y-17500 G01 G60 M61
    N0250 G03 X-129500 Y-17500 I+0 J+17500
    N0260 G40 D+57 G47 A+1000
    N0270 G01 Y+0
    ?
    0000

Posting Permissions

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