Skip to content

Commit

Permalink
Merge pull request #404 from eyal0/fix_y_cfactor
Browse files Browse the repository at this point in the history
Fix missing cfactor in milldrill of slots
  • Loading branch information
eyal0 committed Mar 13, 2020
2 parents 73db24c + 2767708 commit 827dff1
Show file tree
Hide file tree
Showing 6 changed files with 344 additions and 1 deletion.
2 changes: 1 addition & 1 deletion drill.cpp
Expand Up @@ -530,7 +530,7 @@ bool ExcellonProcessor::millhole(std::ofstream &of, double start_x, double start
<< " J" << (stop_y-stop_targety) * cfactor << "\n";
// Now back to the start of the first half circle
of << "G1 X" << start_targetx * cfactor
<< " Y" << start_targety;
<< " Y" << start_targety * cfactor;
if(stepcount != current_step) {
of << " Z" << z * cfactor;
}
Expand Down
1 change: 1 addition & 0 deletions integration_tests.py
Expand Up @@ -76,6 +76,7 @@
"silk",
"silk-lines",
"slots-milldrill",
"slots-milldrill-metric",
"slots-with-drill",
"slots-with-drill-and-milldrill",
"slots-with-drill-metric",
Expand Down
193 changes: 193 additions & 0 deletions testing/gerbv_example/slots-milldrill-metric/expected/milldrill.ngc
@@ -0,0 +1,193 @@
( pcb2gcode 2.0.0 )
( Software-independent Gcode )
( This file uses a mill head of 2.54000mm to drill the 3 hole sizes. )
( Hole sizes: [0.4 mm] [1.001 mm] [3 mm] )

G94 (Millimeters per minute feed rate.)
G21 (Units == Millimeters.)
G91.1 (Incremental arc distance mode.)
G90 (Absolute coordinates.)
S10000 (RPM spindle speed.)
G01 F2540.00000 (Feedrate)
M3 (Spindle on clockwise.)
G04 P1.00000
G00 Z2.03200

G0 X86.36000 Y-72.39000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X88.86000 Y-72.39000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X86.36000 Y-80.55000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X86.36000 Y-82.55000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X86.36000 Y-84.55000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X82.55000 Y-64.77000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X92.71000 Y-64.77000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X96.90100 Y-67.70000
G1 Z0.53333 F1270.00000
F2540.00000
G1 X96.90100 Y-65.70100 Z0.26667
G1 X96.90100 Y-67.70000 Z-0.00000
G1 X96.90100 Y-65.70100 Z-0.26667
G1 X96.90100 Y-67.70000 Z-0.53333
G1 X96.90100 Y-65.70100 Z-0.80000
G1 X96.90100 Y-67.70000 Z-1.06667
G1 X96.90100 Y-65.70100 Z-1.33333
G1 X96.90100 Y-67.70000 Z-1.60000
G1 X96.90100 Y-65.70100
G0 Z2.03200

G0 X100.60100 Y-63.70100
G1 Z0.53333 F1270.00000
F2540.00000
G1 X102.59900 Y-63.70100 Z0.26667
G1 X100.60100 Y-63.70100 Z-0.00000
G1 X102.59900 Y-63.70100 Z-0.26667
G1 X100.60100 Y-63.70100 Z-0.53333
G1 X102.59900 Y-63.70100 Z-0.80000
G1 X100.60100 Y-63.70100 Z-1.06667
G1 X102.59900 Y-63.70100 Z-1.33333
G1 X100.60100 Y-63.70100 Z-1.60000
G1 X102.59900 Y-63.70100
G0 Z2.03200

G0 X109.22000 Y-64.77000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X119.38000 Y-64.77000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X119.38000 Y-74.93000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X109.22000 Y-74.93000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X105.41000 Y-83.82000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X102.87000 Y-83.82000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X97.79000 Y-83.82000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X95.25000 Y-83.82000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X92.71000 Y-74.93000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X82.55000 Y-74.93000
G1 Z-1.60000 F1270.00000
G0 Z2.03200

G0 X100.37647 Y-60.74985
G1 Z0.53333 F1270.00000
F2540.00000
G2 X100.82553 Y-60.65015 Z0.51395 I0.22453 J0.04985
G1 X102.82353 Y-69.65015 Z0.26667
G2 X102.37447 Y-69.74985 Z0.24729 I-0.22453 J-0.04985
G1 X100.37647 Y-60.74985 Z-0.00000
G2 X100.82553 Y-60.65015 Z-0.01938 I0.22453 J0.04985
G1 X102.82353 Y-69.65015 Z-0.26667
G2 X102.37447 Y-69.74985 Z-0.28605 I-0.22453 J-0.04985
G1 X100.37647 Y-60.74985 Z-0.53333
G2 X100.82553 Y-60.65015 Z-0.55271 I0.22453 J0.04985
G1 X102.82353 Y-69.65015 Z-0.80000
G2 X102.37447 Y-69.74985 Z-0.81938 I-0.22453 J-0.04985
G1 X100.37647 Y-60.74985 Z-1.06667
G2 X100.82553 Y-60.65015 Z-1.08605 I0.22453 J0.04985
G1 X102.82353 Y-69.65015 Z-1.33333
G2 X102.37447 Y-69.74985 Z-1.35271 I-0.22453 J-0.04985
G1 X100.37647 Y-60.74985 Z-1.60000
G2 X100.82553 Y-60.65015 I0.22453 J0.04985
G1 X102.82353 Y-69.65015
G2 X102.37447 Y-69.74985 I-0.22453 J-0.04985
G1 X100.37647 Y-60.74985
G0 Z2.03200

G0 X113.30000 Y-72.39000
G1 Z0.53333 F1270.00000
F2540.00000
G2 X113.30000 Y-72.39000 Z-0.00000 I-0.23000 J0.00000
G2 X113.30000 Y-72.39000 Z-0.53333 I-0.23000 J0.00000
G2 X113.30000 Y-72.39000 Z-1.06667 I-0.23000 J0.00000
G2 X113.30000 Y-72.39000 Z-1.60000 I-0.23000 J0.00000
G2 X113.30000 Y-72.39000 I-0.23000 J0.00000
G0 Z2.03200

G0 X115.80000 Y-72.39000
G1 Z0.53333 F1270.00000
F2540.00000
G2 X115.80000 Y-72.39000 Z-0.00000 I-0.23000 J0.00000
G2 X115.80000 Y-72.39000 Z-0.53333 I-0.23000 J0.00000
G2 X115.80000 Y-72.39000 Z-1.06667 I-0.23000 J0.00000
G2 X115.80000 Y-72.39000 Z-1.60000 I-0.23000 J0.00000
G2 X115.80000 Y-72.39000 I-0.23000 J0.00000
G0 Z2.03200

G0 X114.53000 Y-80.55000
G1 Z0.53333 F1270.00000
F2540.00000
G2 X114.53000 Y-80.55000 Z-0.00000 I-0.23000 J0.00000
G2 X114.53000 Y-80.55000 Z-0.53333 I-0.23000 J0.00000
G2 X114.53000 Y-80.55000 Z-1.06667 I-0.23000 J0.00000
G2 X114.53000 Y-80.55000 Z-1.60000 I-0.23000 J0.00000
G2 X114.53000 Y-80.55000 I-0.23000 J0.00000
G0 Z2.03200

G0 X114.53000 Y-82.55000
G1 Z0.53333 F1270.00000
F2540.00000
G2 X114.53000 Y-82.55000 Z-0.00000 I-0.23000 J0.00000
G2 X114.53000 Y-82.55000 Z-0.53333 I-0.23000 J0.00000
G2 X114.53000 Y-82.55000 Z-1.06667 I-0.23000 J0.00000
G2 X114.53000 Y-82.55000 Z-1.60000 I-0.23000 J0.00000
G2 X114.53000 Y-82.55000 I-0.23000 J0.00000
G0 Z2.03200

G0 X114.53000 Y-84.55000
G1 Z0.53333 F1270.00000
F2540.00000
G2 X114.53000 Y-84.55000 Z-0.00000 I-0.23000 J0.00000
G2 X114.53000 Y-84.55000 Z-0.53333 I-0.23000 J0.00000
G2 X114.53000 Y-84.55000 Z-1.06667 I-0.23000 J0.00000
G2 X114.53000 Y-84.55000 Z-1.60000 I-0.23000 J0.00000
G2 X114.53000 Y-84.55000 I-0.23000 J0.00000
G0 Z2.03200

G00 Z25.400 ( All done -- retract )

M5 (Spindle off.)
G04 P1.000000
M9 (Coolant off.)
M2 (Program end.)

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions testing/gerbv_example/slots-milldrill-metric/millproject
@@ -0,0 +1,25 @@
drill=slots.drl

mill-feed=360
mill-speed=12000
voronoi=true
zwork=-0.04
drill-feed=30
drill-side=auto
drill-speed=12000
milldrill=true
onedrill=true
zdrill=-1.6mm
cut-feed=100
cut-infeed=0.03
cut-side=auto
cut-speed=10000
cutter-diameter=0.0314961
milldrill-diameter=0.1
zbridges=-0.010
bridges=0.2
zcut=-0.13mm
fill-outline=true
zsafe=0.08
zchange=1.0
metricoutput=true
47 changes: 47 additions & 0 deletions testing/gerbv_example/slots-milldrill-metric/slots.drl
@@ -0,0 +1,47 @@
M48
;DRILL file {KiCad 4.0.4+e1-6308~48~ubuntu14.04.1-stable} date Thu Nov 10 21:17:09 2016
;FORMAT={-:-/ absolute / metric / decimal}
FMAT,2
METRIC,TZ
T1C0.400
T2C1.001
T3C3.000
%
G90
G05
M71
T1
X86.36Y-72.39
X86.36Y-80.55
X86.36Y-82.55
X86.36Y-84.55
X88.86Y-72.39
T3
X113.07Y-72.39
X114.3Y-80.55
X114.3Y-82.55
X114.3Y-84.55
X115.57Y-72.39
T2
X82.55Y-64.77
X82.55Y-74.93
X92.71Y-64.77
X92.71Y-74.93
X95.25Y-83.82
X97.79Y-83.82
X102.87Y-83.82
X105.41Y-83.82
X109.22Y-64.77
X109.22Y-74.93
X119.38Y-64.77
X119.38Y-74.93
T2
X96.901Y-65.701G85X96.901Y-67.7
G05
X102.599Y-63.701G85X100.601Y-63.701
G05
T3
X102.599Y-69.7G85X100.601Y-60.7
G05
T0
M30

0 comments on commit 827dff1

Please sign in to comment.