584,842 active members*
4,398 visitors online*
Register for free
Login
Results 1 to 2 of 2
  1. #1
    Join Date
    Apr 2017
    Posts
    5

    Post processor for Solidcam

    Hi guys!

    I've ran into a nasty post processor problem when doing 4th axis machining with solidcam. I suspect the problem lies within @usr_rapid code. (see below)



    The post processor generated multiple A axis movements in the same line. This happens for G00 rapid movement only.

    For G01 movements the post processor sometimes generates unnecessary A axis movements, for example lines N362 and N364.

    The code for @usr_rapid:

    Code:
    @usr_rapid
        ; Handle output for Rapid Move (G00)
        ; Note: XYZ not allowed together on a single line
        ; ---- 4x
        ;   - Set Rotary Position
        call @usr_r1pos_calc
        if !bSkipxyrapid
            if change(apos) and !change(xmpos) and !change(ympos) and !change(zmpos) and !change(bpos) ;Ignore apos prepositioning, handled at toolchange
                skipline = false
            endif
            if bCoolspinaftertc and bTlchg
                skipline = true
                call @start_tool
                if bCoolExist
                    skipline = true
                    call @usr_coolant
                endif
            endif
            if !bSyncdrapid
                if job_type eq '3-d model'
                    iMotionmode = 1
                else
                    iMotionmode = 0
                endif
            else
                iMotionmode = 0
            endif
            if (change(xmpos)or change(ympos)) and change(zmpos) ;!@#$% clear change
                bTest = true
            endif
            {nb,['G'iMotionmode:mcode_f ' '],['G'iMplane' '],[cWo,iWorkoffset' '],['G'iAbsincmode ' '],['X'xmpos ' '],['Y'ympos ' '],[cR1,nR1pos ' '],[cR2,nR2pos ' ']}
            if change(zmpos)
                ;if change(xmpos) eq true or change(ympos) eq true
                if bTlchg
                    if !bCoolspinaftertc
                        skipline = false
                        call @start_tool
                        if !bHeightComponToolCh
                            call @usr_heightcomp_on
                            {'Z'zmnext_start_tool_level ' '}
                        endif
                        if bCoolExist
                            if !bCoolAfterHeightComp
                                skipline = false
                            endif
                            call @usr_coolant
                            skipline = true          ;!@#$%AC Incase no coolant output, need to override 'skipline = false' 3 lines above
                        endif
                    else
                        if !bHeightComponToolCh
                            call @usr_heightcomp_on
                            {'Z'zmnext_start_tool_level ' '}
                            skipline = false
                        endif
                    endif
                else
                    if bTest  ;!@#$% clear change
                        {nb,['Z'zmpos ' ']}
                        bTest = false
                    else
                        {['Z'zmpos ' ']}
                    endif
                endif
            endif
            if !bSyncdrapid
                if job_type eq '3-d model'
                    {['F'nRapidfeed' ']}
                endif
            endif
            bSkipxyrapid = false
        else
            {nb,['Z'zmpos ' ']}
            if !bSyncdrapid
                if job_type eq '3-d model'
                    {['F'nRapidfeed' ']}
                endif
            endif
            bSkipxyrapid = false
        endif
        if bTlchg
            if bCoolExist
                skipline = false
                call @usr_coolant
            endif
        endif
        if change(iMotionmode)
            change(iMotionmode) = false
        endif
        if change(iMplane)
            change(iMplane) = false
        endif
        if change(iWorkoffset)
            change(iWorkoffset) = false
        endif
        if change(iAbsincmode)
            change(iAbsincmode) = false
        endif
        if change(nRapidfeed)
            change(nRapidfeed) = false
        endif
        if !bSyncdrapid
            bFeedoutput        = true
        endif
        change(cWo) = FALSE ;!@#$%AC Fix for ChangeBit Intermittent problem
        if bMultiplefixtures and bTlchg
            mltfixxmpos = xmpos
            mltfixympos = ympos
            mltfixzmpos = zmpos
            bFromendchangetool = True
            call @Multiple_Fixtures
        endif
        bTlchg = false
        bfirst_rapid = false
        skipline = true
        bTest = false
    endp
    The post processor is for a 5 axis machine(CNC Router + 2 axis rotary table). Post processor has been downloaded from this forum if I'm not mistaken.
    I must mention that I have little knowledge in programming and let alone in post processor programming.

    If someone has any fix for this I'd be very greatful.

  2. #2
    Join Date
    Apr 2017
    Posts
    5

    Re: Post processor for Solidcam

    Never mind! I seem to have fixed it by myself.

Similar Threads

  1. Post processor for Solidcam
    By Eatonbrayer in forum PlanetCNC
    Replies: 4
    Last Post: 01-01-2019, 12:26 AM
  2. Need Fadal post processor for Solidcam
    By bird19 in forum Post Processor Files
    Replies: 1
    Last Post: 05-16-2014, 02:23 AM

Tags for this Thread

Posting Permissions

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