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
3237ea13
Commit
3237ea13
authored
Apr 28, 2008
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pcbnew PS output: now shows oblong holes with the true shape.
Also, uses kicad/bin in libs.win instead of kicad/winexe
parent
dd45a357
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
29 deletions
+48
-29
change_log.txt
change_log.txt
+5
-0
libs.win
libs.win
+1
-1
plotps.cpp
pcbnew/plotps.cpp
+33
-25
zone_filling_algorithm.cpp
pcbnew/zone_filling_algorithm.cpp
+9
-3
No files found.
change_log.txt
View file @
3237ea13
...
@@ -5,6 +5,11 @@ Started 2007-June-11
...
@@ -5,6 +5,11 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
Please add newer entries at the top, list the date and your name with
email address.
email address.
2008-Apr-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew
PS output: now shows oblong holes with the true shape.
2008-Apr-22 UPDATE Dick Hollenbeck <dick@softplc.com>
2008-Apr-22 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
...
...
libs.win
View file @
3237ea13
# File: libs.win
# File: libs.win
#binaries path:
#binaries path:
KICAD_BIN = /f/kicad/
winexe
KICAD_BIN = /f/kicad/
bin
...
...
pcbnew/plotps.cpp
View file @
3237ea13
...
@@ -437,7 +437,7 @@ static void PrintDrillMark( BOARD* Pcb )
...
@@ -437,7 +437,7 @@ static void PrintDrillMark( BOARD* Pcb )
/* Draw a drill mark for pads and vias.
/* Draw a drill mark for pads and vias.
* Must be called after all drawings, because it
* Must be called after all drawings, because it
* redraw the drill mark on a pad or via
* redraw the drill mark on a pad or via
, as a negative (i.e. white) shape
*/
*/
{
{
const
int
SMALL_DRILL
=
150
;
const
int
SMALL_DRILL
=
150
;
...
@@ -458,7 +458,7 @@ static void PrintDrillMark( BOARD* Pcb )
...
@@ -458,7 +458,7 @@ static void PrintDrillMark( BOARD* Pcb )
diam
.
x
=
diam
.
y
=
(
g_DrillShapeOpt
==
DRILL_MARK
)
?
SMALL_DRILL
:
diam
.
x
=
diam
.
y
=
(
g_DrillShapeOpt
==
DRILL_MARK
)
?
SMALL_DRILL
:
g_DesignSettings
.
m_ViaDrill
;
g_DesignSettings
.
m_ViaDrill
;
for
(
pts
=
Pcb
->
m_Track
;
pts
!=
NULL
;
pts
=
(
TRACK
*
)
pts
->
Pnext
)
for
(
pts
=
Pcb
->
m_Track
;
pts
!=
NULL
;
pts
=
pts
->
Next
()
)
{
{
if
(
pts
->
Type
()
!=
TYPEVIA
)
if
(
pts
->
Type
()
!=
TYPEVIA
)
continue
;
continue
;
...
@@ -474,19 +474,27 @@ static void PrintDrillMark( BOARD* Pcb )
...
@@ -474,19 +474,27 @@ static void PrintDrillMark( BOARD* Pcb )
Module
=
Pcb
->
m_Modules
;
Module
=
Pcb
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Pnext
)
for
(
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Pnext
)
{
{
PtPad
=
(
D_PAD
*
)
Module
->
m_Pads
;
PtPad
=
Module
->
m_Pads
;
for
(
;
PtPad
!=
NULL
;
PtPad
=
(
D_PAD
*
)
PtPad
->
Pnext
)
for
(
;
PtPad
!=
NULL
;
PtPad
=
PtPad
->
Next
()
)
{
{
if
(
PtPad
->
m_Drill
.
x
==
0
)
if
(
PtPad
->
m_Drill
.
x
==
0
)
continue
;
continue
;
//
calcul de la position des trous, selon echelle
//
Output hole shapes:
pos
=
PtPad
->
m_Pos
;
pos
=
PtPad
->
m_Pos
;
diam
.
x
=
diam
.
y
=
(
g_DrillShapeOpt
==
DRILL_MARK
)
?
SMALL_DRILL
:
if
(
PtPad
->
m_DrillShape
==
PAD_OVAL
)
{
diam
=
PtPad
->
m_Drill
;
trace_1_pastille_OVALE_POST
(
pos
,
diam
,
PtPad
->
m_Orient
,
FILLED
);
}
else
{
diam
.
x
=
(
g_DrillShapeOpt
==
DRILL_MARK
)
?
SMALL_DRILL
:
PtPad
->
m_Drill
.
x
;
PtPad
->
m_Drill
.
x
;
trace_1_pastille_RONDE_POST
(
pos
,
diam
.
x
,
FILLED
);
trace_1_pastille_RONDE_POST
(
pos
,
diam
.
x
,
FILLED
);
}
}
}
}
}
fprintf
(
dest
,
" 0 setgray
\n
"
);
fprintf
(
dest
,
" 0 setgray
\n
"
);
}
}
...
@@ -575,7 +583,7 @@ void trace_1_pastille_RONDE_POST( wxPoint centre, int diametre, int modetrace )
...
@@ -575,7 +583,7 @@ void trace_1_pastille_RONDE_POST( wxPoint centre, int diametre, int modetrace )
if
(
modetrace
==
FILLED
)
if
(
modetrace
==
FILLED
)
{
{
SetCurrentLineWidthPS
(
0
);
SetCurrentLineWidthPS
(
0
);
rayon
=
diam
.
x
/
2
;
rayon
=
diam
.
x
/
2
;
if
(
rayon
<
1
)
if
(
rayon
<
1
)
rayon
=
1
;
rayon
=
1
;
...
@@ -590,7 +598,7 @@ void trace_1_pastille_RONDE_POST( wxPoint centre, int diametre, int modetrace )
...
@@ -590,7 +598,7 @@ void trace_1_pastille_RONDE_POST( wxPoint centre, int diametre, int modetrace )
rayon
=
1
;
rayon
=
1
;
if
(
rayon
<
w
)
if
(
rayon
<
w
)
w
=
rayon
;
w
=
rayon
;
SetCurrentLineWidthPS
(
w
);
SetCurrentLineWidthPS
(
w
);
fprintf
(
dest
,
"newpath %d %d %d 0 360 arc stroke
\n
"
,
fprintf
(
dest
,
"newpath %d %d %d 0 360 arc stroke
\n
"
,
centre
.
x
,
centre
.
y
,
rayon
);
centre
.
x
,
centre
.
y
,
rayon
);
}
}
...
...
pcbnew/zone_filling_algorithm.cpp
View file @
3237ea13
...
@@ -673,7 +673,7 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer )
...
@@ -673,7 +673,7 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer )
dy
+=
abs
(
pt_pad
->
m_DeltaSize
.
x
)
/
2
;
dy
+=
abs
(
pt_pad
->
m_DeltaSize
.
x
)
/
2
;
}
}
/* calculate the 4 segment coordintes (starting from the pad centre cX,cY) */
/* calculate the 4 segment coordin
a
tes (starting from the pad centre cX,cY) */
sommet
[
0
][
0
]
=
0
;
sommet
[
0
][
1
]
=
-
dy
;
sommet
[
0
][
0
]
=
0
;
sommet
[
0
][
1
]
=
-
dy
;
sommet
[
1
][
0
]
=
-
dx
;
sommet
[
1
][
1
]
=
0
;
sommet
[
1
][
0
]
=
-
dx
;
sommet
[
1
][
1
]
=
0
;
sommet
[
2
][
0
]
=
0
;
sommet
[
2
][
1
]
=
dy
;
sommet
[
2
][
0
]
=
0
;
sommet
[
2
][
1
]
=
dy
;
...
@@ -697,10 +697,16 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer )
...
@@ -697,10 +697,16 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer )
/* Test if the segment is allowed */
/* Test if the segment is allowed */
if
(
BAD_DRC
==
m_drc
->
DrcBlind
(
pt_track
,
m_Pcb
->
m_Track
)
)
if
(
BAD_DRC
==
m_drc
->
DrcBlind
(
pt_track
,
m_Pcb
->
m_Track
)
)
{
// Drc error, retry with a smaller width
// because some drc errors are due to a track width > filling zone size.
pt_track
->
m_Width
=
g_GridRoutingSize
;
if
(
BAD_DRC
==
m_drc
->
DrcBlind
(
pt_track
,
m_Pcb
->
m_Track
)
)
{
{
delete
pt_track
;
delete
pt_track
;
continue
;
continue
;
}
}
}
/* Search for a zone segment */
/* Search for a zone segment */
loctrack
=
Locate_Zone
(
m_Pcb
->
m_Zone
,
pt_track
->
m_End
,
layer
);
loctrack
=
Locate_Zone
(
m_Pcb
->
m_Zone
,
pt_track
->
m_End
,
layer
);
...
...
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