Gerbview: rename a file with a better name. Add a test file to test aperture macros which include a negative object (currently incorrectly displayed by Gerbview)

This commit is contained in:
jean-pierre charras 2016-06-03 09:05:25 +02:00
parent 185dc2bbdf
commit 55a44f3cfc
4 changed files with 76 additions and 4 deletions

View File

@ -34,6 +34,7 @@ set( GERBVIEW_SRCS
class_gerbview_layer_widget.cpp class_gerbview_layer_widget.cpp
class_gbr_layer_box_selector.cpp class_gbr_layer_box_selector.cpp
class_X2_gerber_attributes.cpp class_X2_gerber_attributes.cpp
clear_gbr_drawlayers.cpp
controle.cpp controle.cpp
dcode.cpp dcode.cpp
draw_gerber_screen.cpp draw_gerber_screen.cpp
@ -44,7 +45,7 @@ set( GERBVIEW_SRCS
gerbview_config.cpp gerbview_config.cpp
gerbview_frame.cpp gerbview_frame.cpp
hotkeys.cpp hotkeys.cpp
init_gbr_drawlayers.cpp clear_gbr_drawlayers.cpp
locate.cpp locate.cpp
menubar.cpp menubar.cpp
onleftclick.cpp onleftclick.cpp

View File

@ -91,7 +91,7 @@ bool AM_PRIMITIVE::mapExposure( GERBER_DRAW_ITEM* aParent )
break; break;
default: default:
case 1: // exposure always OON case 1: // exposure always ON
exposure = true; exposure = true;
break; break;

View File

@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr * Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 1992-2013 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
@ -23,7 +23,8 @@
*/ */
/** /**
* @file init_gbr_drawlayers.cpp * @file clear_gbr_drawlayers.cpp
* @brief erase a given or all draw layers, an free memory relative to the cleared layer(s)
*/ */
#include <fctsys.h> #include <fctsys.h>

View File

@ -0,0 +1,70 @@
%TF.GerberVersion,J4*%
%TF.Part,Single*%
%TF.FileFunction,Other,BugReportExample*%
%FSLAX26Y26*%
%MOIN*%
%LPD*%
%SRX1Y1I0J0*%
G04 ===================================================*
G04 Aperture Macros*
G04 AMHALFCIRCLE draws a half circle by drawing a full circle and then
G04 a rectangular negative object overlapping the other half circle
G04 ===================================================*
%AMHALFCIRCLE*
1,1,1,0,0,0,0*
2,0,1,0,0,-.5,0,0*%
G04 ===================================================*
G04 Aperture Definitions*
G04 ===================================================*
%ADD10HALFCIRCLE*%
%ADD20HALFCIRCLE*%
%ADD30HALFCIRCLE*%
G04 ===================================================*
G04 Program*
G04 ===================================================*
G01*
G04 ---------------------------------------------------*
G04 The following code should produce similar outputs. *
G04 That is, 2 half circles side by side. However, *
G04 only the flashes done with D10 are correct. With *
G04 the D20, the second aperture flash erases the first*
G04 which should not happen according to the gerber *
G04 file format specifications. The only difference *
G04 between the D10 and D20 flashes are the Y coords. *
G04 and the order of the flash statements. *
G04 Note: D30 shows one flash (one aperture macro). *
G04 *
G04 See section 4.12.2 of the Ucamco Gerber Format *
G04 Specification document for more details on aperture*
G04 macro exposure modifiers. *
G04 ---------------------------------------------------*
D10*
X500000Y2000000D03*
X0Y2000000D03*
D20*
X0Y0D03*
X500000Y0D03*
D30*
X1500000Y1000000D03*
M02*