[gerber] Incorrect extra trace in Gerber

Issue #117 resolved
Juan Pablo Caram repo owner created an issue

See attachments.

Screenshot.png

Comments (4)

  1. Juan Pablo Caram reporter

    Simplified G-Code causing the problem:

    %MOIN*%
    %FSLAX25Y25*%
    %IPPOS*%
    %LPD*%
    %AMOC8*
    5,1,8,0,0,1.08239X$1,22.5*
    %
    
    %ADD13C,0.07200*%
    %ADD14OC8,0.12400*%
    %ADD15C,0.03200*%
    
    D13*
    X0182350Y0093750D02*
    X0175150Y0093750D01*
    X0175150Y0103750D02*
    X0182350Y0103750D01*
    D14*
    X0158750Y0128250D03*
    X0158750Y0059250D03*
    X0063750Y0133750D03*
    X0043750Y0133750D03*
    D15*
    X0045750Y0132150D01*
    X0052150Y0125750D01*
    X0052150Y0122550D01*
    
    M02*
    

    The incorrect line is from the last point in D13* to the first in D15*, which indicates that the "current position" is not being updated during flashes D03 using the tool D14* from aperture macro %AMOC8*.

  2. Juan Pablo Caram reporter

    Fixed in commit 873db32. Solution was to reset the current path origin:

    # Flash
    elif current_operation_code == 3:
    
        # --- BUFFERED ---
        flash = Gerber.create_flash_geometry(Point([current_x, current_y]),
            self.apertures[current_aperture])
        poly_buffer.append(flash)
    
        path = [[current_x, current_y]]  # Reset path starting point
    
  3. Log in to comment