Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
f7a804e2
Commit
f7a804e2
authored
Jun 30, 2009
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bugfix for plotting
parent
11d9edfe
Changes
19
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1237 additions
and
714 deletions
+1237
-714
CMakeLists.txt
common/CMakeLists.txt
+1
-0
common_plotDXF_functions.cpp
common/common_plotDXF_functions.cpp
+374
-0
CMakeLists.txt
eeschema/CMakeLists.txt
+1
-0
menubar.cpp
eeschema/menubar.cpp
+6
-0
plot.cpp
eeschema/plot.cpp
+19
-12
schframe.cpp
eeschema/schframe.cpp
+1
-0
colors.h
include/colors.h
+1
-1
id.h
include/id.h
+1
-0
plot_common.h
include/plot_common.h
+46
-1
wxEeschemaStruct.h
include/wxEeschemaStruct.h
+1
-0
wxPcbStruct.h
include/wxPcbStruct.h
+2
-0
kicad.mo
internat/fr/kicad.mo
+0
-0
kicad.po
internat/fr/kicad.po
+697
-670
CMakeLists.txt
pcbnew/CMakeLists.txt
+1
-0
dialog_gendrill.cpp
pcbnew/dialog_gendrill.cpp
+9
-12
dialog_gendrill.pjd
pcbnew/dialog_gendrill.pjd
+4
-1
gen_drill_report_files.cpp
pcbnew/gen_drill_report_files.cpp
+13
-4
gendrill.cpp
pcbnew/gendrill.cpp
+15
-7
pcbplot.cpp
pcbnew/pcbplot.cpp
+45
-6
No files found.
common/CMakeLists.txt
View file @
f7a804e2
...
...
@@ -18,6 +18,7 @@ set(COMMON_SRCS
common_plotHPGL_functions.cpp
common_plotPS_functions.cpp
common_plotGERBER_functions.cpp
common_plotDXF_functions.cpp
confirm.cpp
copy_to_clipboard.cpp
dcsvg.cpp
...
...
common/common_plotDXF_functions.cpp
0 → 100644
View file @
f7a804e2
This diff is collapsed.
Click to expand it.
eeschema/CMakeLists.txt
View file @
f7a804e2
...
...
@@ -95,6 +95,7 @@ set(EESCHEMA_SRCS
plot.cpp
plothpgl.cpp
plotps.cpp
plotdxf.cpp
priorque.cpp
read_from_file_schematic_items_descriptions.cpp
savelib.cpp
...
...
eeschema/menubar.cpp
View file @
f7a804e2
...
...
@@ -91,6 +91,12 @@ void WinEDA_SchematicFrame::ReCreateMenuBar()
item
->
SetBitmap
(
plot_xpm
);
choice_plot_fmt
->
Append
(
item
);
item
=
new
wxMenuItem
(
choice_plot_fmt
,
ID_GEN_PLOT_DXF
,
_
(
"Plot DXF"
),
_
(
"Plot schematic sheet in DXF format"
)
);
item
->
SetBitmap
(
plot_xpm
);
choice_plot_fmt
->
Append
(
item
);
#ifdef __WINDOWS__
/* Under windows, one can draw to the clipboard */
item
=
new
wxMenuItem
(
choice_plot_fmt
,
ID_GEN_COPY_SHEET_TO_CLIPBOARD
,
...
...
eeschema/plot.cpp
View file @
f7a804e2
...
...
@@ -65,6 +65,7 @@ static void PlotLibPart( Plotter* plotter, SCH_COMPONENT* DrawLibItem )
Multi
=
DrawLibItem
->
m_Multi
;
convert
=
DrawLibItem
->
m_Convert
;
plotter
->
set_current_line_width
(
g_DrawDefaultLineThickness
);
for
(
LibEDA_BaseStruct
*
DEntry
=
Entry
->
m_Drawings
;
DEntry
!=
NULL
;
DEntry
=
DEntry
->
Next
()
)
{
...
...
@@ -88,12 +89,12 @@ static void PlotLibPart( Plotter* plotter, SCH_COMPONENT* DrawLibItem )
if
(
draw_bgfill
&&
Arc
->
m_Fill
==
FILLED_WITH_BG_BODYCOLOR
)
{
plotter
->
set_color
(
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
plotter
->
arc
(
pos
,
t1
,
t2
,
Arc
->
m_Rayon
,
FILLED_SHAPE
,
0
);
plotter
->
arc
(
pos
,
-
t1
,
-
t2
,
Arc
->
m_Rayon
,
FILLED_SHAPE
,
0
);
}
plotter
->
set_color
(
ReturnLayerColor
(
LAYER_DEVICE
)
);
plotter
->
arc
(
pos
,
t1
,
t2
,
-
t1
,
-
t2
,
Arc
->
m_Rayon
,
Arc
->
m_Fill
,
Arc
->
m_Width
);
...
...
@@ -713,19 +714,25 @@ void PlotDrawlist( Plotter* plotter, SCH_ITEM* drawlist )
switch
(
drawlist
->
Type
()
)
{
case
DRAW_BUSENTRY_STRUCT_TYPE
:
/* Struct Raccord et Segment sont identiques */
case
DRAW_SEGMENT_STRUCT_TYPE
:
if
(
drawlist
->
Type
()
==
DRAW_BUSENTRY_STRUCT_TYPE
)
{
#undef STRUCT
#define STRUCT ( (DrawBusEntryStruct*) drawlist )
StartPos
=
STRUCT
->
m_Pos
;
EndPos
=
STRUCT
->
m_End
();
layer
=
STRUCT
->
GetLayer
();
case
DRAW_SEGMENT_STRUCT_TYPE
:
plotter
->
set_color
(
ReturnLayerColor
(
layer
)
);
}
else
{
#undef STRUCT
#define STRUCT ( (EDA_DrawLineStruct*) drawlist )
StartPos
=
STRUCT
->
m_Start
;
EndPos
=
STRUCT
->
m_End
;
layer
=
STRUCT
->
GetLayer
();
plotter
->
set_color
(
ReturnLayerColor
(
layer
)
);
}
switch
(
layer
)
{
...
...
eeschema/schframe.cpp
View file @
f7a804e2
...
...
@@ -59,6 +59,7 @@ BEGIN_EVENT_TABLE( WinEDA_SchematicFrame, WinEDA_DrawFrame )
EVT_MENU
(
ID_GEN_PLOT_PS
,
WinEDA_SchematicFrame
::
ToPlot_PS
)
EVT_MENU
(
ID_GEN_PLOT_HPGL
,
WinEDA_SchematicFrame
::
ToPlot_HPGL
)
EVT_MENU
(
ID_GEN_PLOT_SVG
,
WinEDA_DrawFrame
::
SVG_Print
)
EVT_MENU
(
ID_GEN_PLOT_DXF
,
WinEDA_SchematicFrame
::
ToPlot_DXF
)
EVT_MENU
(
ID_GEN_COPY_SHEET_TO_CLIPBOARD
,
WinEDA_DrawFrame
::
CopyToClipboard
)
EVT_MENU
(
ID_GEN_COPY_BLOCK_TO_CLIPBOARD
,
WinEDA_DrawFrame
::
CopyToClipboard
)
EVT_MENU
(
ID_EXIT
,
WinEDA_SchematicFrame
::
OnExit
)
...
...
include/colors.h
View file @
f7a804e2
...
...
@@ -6,7 +6,7 @@
#define _COLORS_H
/* Definitions des Numeros des Couleurs ( palette de 32) */
#define NBCOLOR
32
#define NBCOLOR
24
#define MASKCOLOR 31 ///< mask for color index into ColorRefs[]
...
...
include/id.h
View file @
f7a804e2
...
...
@@ -72,6 +72,7 @@ enum main_id {
ID_GEN_PLOT_HPGL
,
ID_GEN_PLOT_GERBER
,
ID_GEN_PLOT_SVG
,
ID_GEN_PLOT_DXF
,
ID_GEN_COPY_SHEET_TO_CLIPBOARD
,
ID_GEN_COPY_BLOCK_TO_CLIPBOARD
,
ID_GEN_UNUSED0
,
...
...
include/plot_common.h
View file @
f7a804e2
...
...
@@ -19,7 +19,8 @@ using namespace std;
enum
PlotFormat
{
PLOT_FORMAT_HPGL
,
PLOT_FORMAT_GERBER
,
PLOT_FORMAT_POST
PLOT_FORMAT_POST
,
PLOT_FORMAT_DXF
};
const
int
PLOT_MIROIR
=
1
;
...
...
@@ -381,4 +382,48 @@ protected:
vector
<
Aperture
>::
iterator
current_aperture
;
};
class
DXF_Plotter
:
public
Plotter
{
public
:
virtual
void
start_plot
(
FILE
*
fout
);
virtual
void
end_plot
();
/* For now we don't use 'thick' primitives, so no line width */
virtual
void
set_current_line_width
(
int
width
)
{
/* Handy override */
current_pen_width
=
0
;
};
virtual
void
set_default_line_width
(
int
width
)
{
/* DXF lines are infinitesimal */
default_pen_width
=
0
;
};
virtual
void
set_dash
(
bool
dashed
);
virtual
void
set_color
(
int
color
);
virtual
void
set_viewport
(
wxPoint
offset
,
double
scale
,
int
orient
);
virtual
void
rect
(
wxPoint
p1
,
wxPoint
p2
,
FILL_T
fill
,
int
width
=
-
1
);
virtual
void
circle
(
wxPoint
pos
,
int
diametre
,
FILL_T
fill
,
int
width
=
-
1
);
virtual
void
poly
(
int
nb_segm
,
int
*
coord
,
FILL_T
fill
,
int
width
=
-
1
);
virtual
void
thick_segment
(
wxPoint
start
,
wxPoint
end
,
int
width
,
GRTraceMode
tracemode
);
virtual
void
arc
(
wxPoint
centre
,
int
StAngle
,
int
EndAngle
,
int
rayon
,
FILL_T
fill
,
int
width
=
-
1
);
virtual
void
pen_to
(
wxPoint
pos
,
char
plume
);
virtual
void
flash_pad_circle
(
wxPoint
pos
,
int
diametre
,
GRTraceMode
trace_mode
);
virtual
void
flash_pad_oval
(
wxPoint
pos
,
wxSize
size
,
int
orient
,
GRTraceMode
trace_mode
);
virtual
void
flash_pad_rect
(
wxPoint
pos
,
wxSize
size
,
int
orient
,
GRTraceMode
trace_mode
);
virtual
void
flash_pad_trapez
(
wxPoint
pos
,
wxSize
size
,
wxSize
delta
,
int
orient
,
GRTraceMode
trace_mode
);
protected
:
int
current_color
;
};
#endif
/* __INCLUDE__PLOT_COMMON_H__ */
include/wxEeschemaStruct.h
View file @
f7a804e2
...
...
@@ -202,6 +202,7 @@ public:
// Plot functions:
void
ToPlot_PS
(
wxCommandEvent
&
event
);
void
ToPlot_HPGL
(
wxCommandEvent
&
event
);
void
ToPlot_DXF
(
wxCommandEvent
&
event
);
void
ToPostProcess
(
wxCommandEvent
&
event
);
// read and save files
...
...
include/wxPcbStruct.h
View file @
f7a804e2
...
...
@@ -302,6 +302,8 @@ public:
GRTraceMode
trace_mode
);
void
Genere_PS
(
const
wxString
&
FullFileName
,
int
Layer
,
bool
useA4
,
GRTraceMode
trace_mode
);
void
Genere_DXF
(
const
wxString
&
FullFileName
,
int
Layer
,
GRTraceMode
trace_mode
);
void
Plot_Layer
(
Plotter
*
plotter
,
int
Layer
,
GRTraceMode
trace_mode
);
void
Plot_Standard_Layer
(
Plotter
*
plotter
,
int
masque_layer
,
int
garde
,
bool
trace_via
,
...
...
internat/fr/kicad.mo
View file @
f7a804e2
No preview for this file type
internat/fr/kicad.po
View file @
f7a804e2
This diff is collapsed.
Click to expand it.
pcbnew/CMakeLists.txt
View file @
f7a804e2
...
...
@@ -118,6 +118,7 @@ set(PCBNEW_SRCS
plotgerb.cpp
plothpgl.cpp
plotps.cpp
plotdxf.cpp
plot_rtn.cpp
queue.cpp
ratsnest.cpp
...
...
pcbnew/dialog_gendrill.cpp
View file @
f7a804e2
...
...
@@ -151,7 +151,7 @@ void WinEDA_DrillFrame::Init()
void
WinEDA_DrillFrame
::
CreateControls
()
{
////@begin WinEDA_DrillFrame content construction
// Generated by DialogBlocks, 29/0
4/2009 15:14:32
(unregistered)
// Generated by DialogBlocks, 29/0
6/2009 20:34:44
(unregistered)
WinEDA_DrillFrame
*
itemDialog1
=
this
;
...
...
@@ -191,12 +191,10 @@ void WinEDA_DrillFrame::CreateControls()
wxArrayString
m_Choice_Drill_OffsetStrings
;
m_Choice_Drill_OffsetStrings
.
Add
(
_
(
"absolute"
));
m_Choice_Drill_OffsetStrings
.
Add
(
_
(
"auxiliary axis"
));
m_Choice_Drill_Offset
=
new
wxRadioBox
(
itemDialog1
,
ID_SEL_DRILL_SHEET
,
_
(
"Drill Origin:"
),
wxDefaultPosition
,
wxDefaultSize
,
m_Choice_Drill_OffsetStrings
,
1
,
wxRA_SPECIFY_COLS
);
m_Choice_Drill_Offset
=
new
wxRadioBox
(
itemDialog1
,
ID_SEL_DRILL_SHEET
,
_
(
"Drill Origin:"
),
wxDefaultPosition
,
wxDefaultSize
,
m_Choice_Drill_OffsetStrings
,
1
,
wxRA_SPECIFY_COLS
);
m_Choice_Drill_Offset
->
SetSelection
(
0
);
if
(
WinEDA_DrillFrame
::
ShowToolTips
())
m_Choice_Drill_Offset
->
SetToolTip
(
_
(
"Choose the coordinate origin: absolute or relative to the auxili
ar
y axis"
));
m_Choice_Drill_Offset
->
SetToolTip
(
_
(
"Choose the coordinate origin: absolute or relative to the auxili
ra
y axis"
));
m_LeftBoxSizer
->
Add
(
m_Choice_Drill_Offset
,
0
,
wxGROW
|
wxALL
,
5
);
wxBoxSizer
*
itemBoxSizer8
=
new
wxBoxSizer
(
wxVERTICAL
);
...
...
@@ -204,12 +202,11 @@ void WinEDA_DrillFrame::CreateControls()
wxArrayString
m_Choice_Drill_MapStrings
;
m_Choice_Drill_MapStrings
.
Add
(
_
(
"None"
));
m_Choice_Drill_MapStrings
.
Add
(
_
(
"
D
rill sheet (HPGL)"
));
m_Choice_Drill_MapStrings
.
Add
(
_
(
"
D
rill sheet (PostScript)"
));
m_Choice_Drill_MapStrings
.
Add
(
_
(
"
d
rill sheet (HPGL)"
));
m_Choice_Drill_MapStrings
.
Add
(
_
(
"
d
rill sheet (PostScript)"
));
m_Choice_Drill_MapStrings
.
Add
(
_
(
"Drill sheet (Gerber)"
));
m_Choice_Drill_Map
=
new
wxRadioBox
(
itemDialog1
,
ID_SEL_DRILL_SHEET
,
_
(
"Drill Sheet:"
),
wxDefaultPosition
,
wxDefaultSize
,
m_Choice_Drill_MapStrings
,
1
,
wxRA_SPECIFY_COLS
);
m_Choice_Drill_MapStrings
.
Add
(
_
(
"Drill sheet (DXF)"
));
m_Choice_Drill_Map
=
new
wxRadioBox
(
itemDialog1
,
ID_SEL_DRILL_SHEET
,
_
(
"Drill Sheet:"
),
wxDefaultPosition
,
wxDefaultSize
,
m_Choice_Drill_MapStrings
,
1
,
wxRA_SPECIFY_COLS
);
m_Choice_Drill_Map
->
SetSelection
(
0
);
if
(
WinEDA_DrillFrame
::
ShowToolTips
())
m_Choice_Drill_Map
->
SetToolTip
(
_
(
"Creates a drill map in PS or HPGL format"
));
...
...
@@ -231,13 +228,13 @@ void WinEDA_DrillFrame::CreateControls()
wxStaticText
*
itemStaticText12
=
new
wxStaticText
(
itemDialog1
,
wxID_STATIC
,
_
(
"Speed (cm/s)"
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemStaticBoxSizer11
->
Add
(
itemStaticText12
,
0
,
wxGROW
|
wxLEFT
|
wxRIGHT
|
wxTOP
,
5
);
m_PenSpeed
=
new
wxTextCtrl
(
itemDialog1
,
ID_TEXTCTRL2
,
_T
(
""
)
,
wxDefaultPosition
,
wxDefaultSize
,
0
);
m_PenSpeed
=
new
wxTextCtrl
(
itemDialog1
,
ID_TEXTCTRL2
,
wxEmptyString
,
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemStaticBoxSizer11
->
Add
(
m_PenSpeed
,
0
,
wxGROW
|
wxLEFT
|
wxRIGHT
|
wxBOTTOM
,
5
);
wxStaticText
*
itemStaticText14
=
new
wxStaticText
(
itemDialog1
,
wxID_STATIC
,
_
(
"Pen Number"
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemStaticBoxSizer11
->
Add
(
itemStaticText14
,
0
,
wxGROW
|
wxLEFT
|
wxRIGHT
|
wxTOP
,
5
);
m_PenNum
=
new
wxTextCtrl
(
itemDialog1
,
ID_TEXTCTRL
,
_T
(
""
)
,
wxDefaultPosition
,
wxDefaultSize
,
0
);
m_PenNum
=
new
wxTextCtrl
(
itemDialog1
,
ID_TEXTCTRL
,
wxEmptyString
,
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemStaticBoxSizer11
->
Add
(
m_PenNum
,
0
,
wxGROW
|
wxLEFT
|
wxRIGHT
|
wxBOTTOM
,
5
);
wxStaticBox
*
itemStaticBoxSizer16Static
=
new
wxStaticBox
(
itemDialog1
,
wxID_ANY
,
_
(
"Options:"
));
...
...
pcbnew/dialog_gendrill.pjd
View file @
f7a804e2
...
...
@@ -21,6 +21,7 @@
<bool
name=
"use_two_step_construction"
>
0
</bool>
<bool
name=
"use_enums"
>
0
</bool>
<bool
name=
"generate_for_xrced"
>
0
</bool>
<bool
name=
"generate_virtual_eventhandlers"
>
0
</bool>
<string
name=
"current_platform"
>
"
<
All platforms
>
"
</string>
<string
name=
"target_wx_version"
>
"2.8.7"
</string>
<string
name=
"cpp_header_comment"
>
"/////////////////////////////////////////////////////////////////////////////
...
...
@@ -142,6 +143,8 @@
<string
name=
"Use exceptions"
>
"Yes"
</string>
<string
name=
"Use ODBC"
>
"No"
</string>
<string
name=
"Use OpenGL"
>
"No"
</string>
<string
name=
"Use wxMediaCtrl"
>
"No"
</string>
<string
name=
"Use wxRichTextCtrl"
>
"Yes"
</string>
<string
name=
"wxWidgets version"
>
"%WXVERSION%"
</string>
<string
name=
"Executable name"
>
"%EXECUTABLE%"
</string>
<string
name=
"Program arguments"
>
""
</string>
...
...
@@ -628,7 +631,7 @@
<string
name=
"proxy-Member variable name"
>
"m_Choice_Drill_Map"
</string>
<string
name=
"proxy-Label"
>
"Drill Sheet:"
</string>
<long
name=
"proxy-Major dimension count"
>
1
</long>
<string
name=
"proxy-Items"
>
"None|drill sheet (HPGL)|drill sheet (PostScript)"
</string>
<string
name=
"proxy-Items"
>
"None|drill sheet (HPGL)|drill sheet (PostScript)
|Drill sheet (Gerber)|Drill sheet (DXF)
"
</string>
<long
name=
"proxy-Initial value"
>
0
</long>
<string
name=
"proxy-Help text"
>
""
</string>
<string
name=
"proxy-Tooltip text"
>
"Creates a drill map in PS or HPGL format"
</string>
...
...
pcbnew/gen_drill_report_files.cpp
View file @
f7a804e2
...
...
@@ -41,7 +41,6 @@ void GenDrillMapFile( BOARD* aPcb, FILE* aFile, const wxString& aFullFileName,
int
dX
,
dY
;
wxPoint
BoardCentre
;
wxPoint
offset
;
wxSize
SheetSize
;
wxString
msg
;
Plotter
*
plotter
=
NULL
;
...
...
@@ -67,9 +66,6 @@ void GenDrillMapFile( BOARD* aPcb, FILE* aFile, const wxString& aFullFileName,
case
PLOT_FORMAT_HPGL
:
/* Calcul des echelles de conversion format HPGL */
{
SheetSize
=
aSheet
->
m_Size
;
SheetSize
.
x
*=
U_PCB
;
SheetSize
.
y
*=
U_PCB
;
offset
.
x
=
0
;
offset
.
y
=
0
;
scale
=
1
;
...
...
@@ -86,6 +82,7 @@ void GenDrillMapFile( BOARD* aPcb, FILE* aFile, const wxString& aFullFileName,
case
PLOT_FORMAT_POST
:
{
Ki_PageDescr
*
SheetPS
=
&
g_Sheet_A4
;
wxSize
SheetSize
;
SheetSize
.
x
=
SheetPS
->
m_Size
.
x
*
U_PCB
;
SheetSize
.
y
=
SheetPS
->
m_Size
.
y
*
U_PCB
;
/* Keep size for drill legend */
...
...
@@ -103,6 +100,18 @@ void GenDrillMapFile( BOARD* aPcb, FILE* aFile, const wxString& aFullFileName,
plotter
->
set_viewport
(
offset
,
scale
,
0
);
break
;
}
case
PLOT_FORMAT_DXF
:
{
offset
.
x
=
0
;
offset
.
y
=
0
;
scale
=
1
;
DXF_Plotter
*
dxf_plotter
=
new
DXF_Plotter
;
plotter
=
dxf_plotter
;
plotter
->
set_paper_size
(
aSheet
);
plotter
->
set_viewport
(
offset
,
scale
,
0
);
break
;
}
default
:
wxASSERT
(
false
);
}
...
...
pcbnew/gendrill.cpp
View file @
f7a804e2
...
...
@@ -316,12 +316,12 @@ void WinEDA_DrillFrame::GenDrillFiles( wxCommandEvent& event )
fn
.
SetName
(
fn
.
GetName
()
+
layer_extend
);
fn
.
SetExt
(
DrillFileExtension
);
wxFileDialog
dlg
(
this
,
_
(
"Save Drill File"
),
wxEmptyString
,
wxFileDialog
dlg
(
this
,
_
(
"Save Drill File"
),
fn
.
GetPath
()
,
fn
.
GetFullName
(),
DrillFileWildcard
,
wxFD_SAVE
|
wxFD_OVERWRITE_PROMPT
);
if
(
dlg
.
ShowModal
()
==
wxID_CANCEL
)
continue
;
break
;
FILE
*
excellon_dest
=
wxFopen
(
dlg
.
GetPath
(),
wxT
(
"w"
)
);
...
...
@@ -354,6 +354,11 @@ void WinEDA_DrillFrame::GenDrillFiles( wxCommandEvent& event )
GenDrillMap
(
dlg
.
GetPath
(),
s_HoleListBuffer
,
s_ToolListBuffer
,
PLOT_FORMAT_GERBER
);
break
;
case
4
:
GenDrillMap
(
dlg
.
GetPath
(),
s_HoleListBuffer
,
s_ToolListBuffer
,
PLOT_FORMAT_DXF
);
break
;
}
if
(
!
ExistsBuriedVias
)
...
...
@@ -380,7 +385,6 @@ void WinEDA_DrillFrame::GenDrillFiles( wxCommandEvent& event )
GenDrillReport
(
m_Parent
->
GetScreen
()
->
m_FileName
);
}
EndModal
(
0
);
}
...
...
@@ -757,6 +761,10 @@ void WinEDA_DrillFrame::GenDrillMap( const wxString aFileName,
wildcard
=
_
(
"Gerber files (.pho)|*.pho"
);
break
;
case
PLOT_FORMAT_DXF
:
ext
=
wxT
(
"dxf"
);
wildcard
=
_
(
"DXF files (.dxf)|*.dxf"
);
break
;
default
:
DisplayError
(
this
,
wxT
(
"WinEDA_DrillFrame::GenDrillMap() error"
)
);
...
...
@@ -768,9 +776,9 @@ void WinEDA_DrillFrame::GenDrillMap( const wxString aFileName,
fn
.
SetName
(
fn
.
GetName
()
+
wxT
(
"-drl"
)
);
fn
.
SetExt
(
ext
);
wxFileDialog
dlg
(
this
,
_
(
"Save Drill Plot File"
),
wxEmptyString
,
wxFileDialog
dlg
(
this
,
_
(
"Save Drill Plot File"
),
fn
.
GetPath
()
,
fn
.
GetFullName
(),
wildcard
,
wxFD_SAVE
|
wxFD_OVERWRITE_PROMPT
|
wxFD_CHANGE_DIR
);
wxFD_SAVE
|
wxFD_OVERWRITE_PROMPT
);
if
(
dlg
.
ShowModal
()
==
wxID_CANCEL
)
return
;
...
...
@@ -812,9 +820,9 @@ void WinEDA_DrillFrame::GenDrillReport( const wxString aFileName )
fn
.
SetName
(
fn
.
GetName
()
+
wxT
(
"-drl"
)
);
fn
.
SetExt
(
wxT
(
"rpt"
)
);
wxFileDialog
dlg
(
this
,
_
(
"Save Drill Report File"
),
wxEmptyString
,
wxFileDialog
dlg
(
this
,
_
(
"Save Drill Report File"
),
fn
.
GetPath
()
,
fn
.
GetFullName
(),
wildcard
,
wxFD_SAVE
|
wxFD_OVERWRITE_PROMPT
|
wxFD_CHANGE_DIR
);
wxFD_SAVE
|
wxFD_OVERWRITE_PROMPT
);
if
(
dlg
.
ShowModal
()
==
wxID_CANCEL
)
return
;
...
...
pcbnew/pcbplot.cpp
View file @
f7a804e2
...
...
@@ -116,8 +116,15 @@ public:
// change the A4 to the simple postscript, according to the
// PlotFormat enum
if
(
radioNdx
==
3
)
switch
(
radioNdx
)
{
case
3
:
radioNdx
=
PLOT_FORMAT_POST
;
break
;
case
4
:
radioNdx
=
PLOT_FORMAT_DXF
;
break
;
}
return
PlotFormat
(
radioNdx
);
}
...
...
@@ -192,18 +199,19 @@ void WinEDA_PlotFrame::OnInitDialog( wxInitDialogEvent& event )
LeftBoxSizer
->
Add
(
LayersBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
static
const
wxString
fmtmsg
[
4
]
=
static
const
wxString
fmtmsg
[
5
]
=
{
wxT
(
"HPGL"
),
wxT
(
"Gerber"
),
wxT
(
"Postscript"
),
wxT
(
"Postscript A4"
)
wxT
(
"Postscript A4"
),
wxT
(
"DXF Export"
)
};
m_PlotFormatOpt
=
new
wxRadioBox
(
this
,
ID_SEL_PLOT_FORMAT
,
_
(
"Plot Format"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
4
,
fmtmsg
,
1
,
wxRA_SPECIFY_COLS
);
5
,
fmtmsg
,
1
,
wxRA_SPECIFY_COLS
);
MidRightBoxSizer
->
Add
(
m_PlotFormatOpt
,
0
,
wxGROW
|
wxALL
,
5
);
if
(
config
)
...
...
@@ -595,6 +603,28 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
m_Plot_PS_Negative
->
SetValue
(
false
);
m_Plot_PS_Negative
->
Enable
(
false
);
break
;
case
PLOT_FORMAT_DXF
:
m_PlotMirorOpt
->
Enable
(
false
);
m_PlotMirorOpt
->
SetValue
(
false
);
m_Drill_Shape_Opt
->
SetSelection
(
0
);
m_Drill_Shape_Opt
->
Enable
(
false
);
m_PlotModeOpt
->
Enable
(
true
);
m_Choice_Plot_Offset
->
Enable
(
false
);
m_LinesWidth
->
Enable
(
false
);
m_HPGL_OptionsBox
->
Enable
(
false
);
m_HPGLPenSizeOpt
->
Enable
(
false
);
m_HPGLPenSpeedOpt
->
Enable
(
false
);
m_HPGLPenOverlayOpt
->
Enable
(
false
);
m_Exclude_Edges_Pcb
->
SetValue
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
false
);
m_Scale_Opt
->
Enable
(
false
);
m_Scale_Opt
->
SetSelection
(
1
);
m_FineAdjustXscaleOpt
->
Enable
(
false
);
m_FineAdjustYscaleOpt
->
Enable
(
false
);
m_Plot_PS_Negative
->
SetValue
(
false
);
m_Plot_PS_Negative
->
Enable
(
false
);
break
;
}
g_pcb_plot_options
.
PlotFormat
=
format
;
...
...
@@ -715,7 +745,6 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
wildcard
=
_
(
"Adobe post script files (.ps)|*.ps"
);
break
;
default
:
case
PLOT_FORMAT_GERBER
:
g_pcb_plot_options
.
Scale
=
1.0
;
// No scale option allowed in gerber format
ext
=
wxT
(
"pho"
);
...
...
@@ -726,6 +755,12 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
ext
=
wxT
(
"plt"
);
wildcard
=
_
(
"HPGL plot files (.plt)|*.plt"
);
break
;
case
PLOT_FORMAT_DXF
:
g_pcb_plot_options
.
Scale
=
1.0
;
ext
=
wxT
(
"dxf"
);
wildcard
=
_
(
"DXF files (.dxf)|*.dxf"
);
break
;
}
// Test for a reasonnable scale value
...
...
@@ -761,7 +796,6 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
g_pcb_plot_options
.
Trace_Mode
);
break
;
default
:
case
PLOT_FORMAT_GERBER
:
m_Parent
->
Genere_GERBER
(
fn
.
GetFullPath
(),
layer_to_plot
,
s_PlotOriginIsAuxAxis
,
...
...
@@ -772,6 +806,11 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
m_Parent
->
Genere_HPGL
(
fn
.
GetFullPath
(),
layer_to_plot
,
g_pcb_plot_options
.
Trace_Mode
);
break
;
case
PLOT_FORMAT_DXF
:
m_Parent
->
Genere_DXF
(
fn
.
GetFullPath
(),
layer_to_plot
,
g_pcb_plot_options
.
Trace_Mode
);
break
;
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment