FlatCAM fork for modern systems

Kamil Sopko d7bdfe231d Revert "README.md edited online with Bitbucket" %!s(int64=10) %!d(string=hai) anos
FlatCAM_GTK 16734f5d1a Convertion to Qt. Major refactoring. %!s(int64=11) %!d(string=hai) anos
bugs 45327552de Gerber support for single quadrant arcs (G74). %!s(int64=11) %!d(string=hai) anos
descartes 145496b4ae Fixed g-code arc parse/plot %!s(int64=12) %!d(string=hai) anos
doc f17f955355 Added delete button in drawing toolbar. %!s(int64=11) %!d(string=hai) anos
sandbox f9f7808f17 Added diagnostics script. %!s(int64=10) %!d(string=hai) anos
share 23b20ba716 Added intersection tool to Drawing Tool. %!s(int64=11) %!d(string=hai) anos
tests 3b206493a3 Canvas performance test scripts. %!s(int64=10) %!d(string=hai) anos
.gitignore d2de53b546 Ignore tests/tmp. %!s(int64=10) %!d(string=hai) anos
DblSidedTool.py 1efed851e9 Fixes #178. Use list instead of tuple of points. %!s(int64=10) %!d(string=hai) anos
FlatCAM.py 8cb509d6f3 Initial implementation of console. %!s(int64=11) %!d(string=hai) anos
FlatCAMApp.py 5acdbd51e3 implement some new shell commands, %!s(int64=10) %!d(string=hai) anos
FlatCAMCommon.py fe2b4c7478 Added Feed Method for clearing polygon. Some minor correction to Geometry.plot() %!s(int64=11) %!d(string=hai) anos
FlatCAMDraw.py 8f6a455562 Pan view test. %!s(int64=10) %!d(string=hai) anos
FlatCAMGUI.py 6dc107e462 Bug fixed: the Toolchange Z parameter is not saved in the program/project defaults. %!s(int64=10) %!d(string=hai) anos
FlatCAMObj.py a7b29065df Solved issue #188: Order of the drill bits in Gcode generation from Excellon file %!s(int64=10) %!d(string=hai) anos
FlatCAMProcess.py 8f5cc7a02d Option to override user's defaults. Needed for unit testing. %!s(int64=10) %!d(string=hai) anos
FlatCAMShell.py b2cc2f3fdb Major work on the command line tool. Version check on the new website. %!s(int64=11) %!d(string=hai) anos
FlatCAMTool.py e3345560ec More circular import fixes. %!s(int64=10) %!d(string=hai) anos
FlatCAMWorker.py 22119072d3 Cleanup. And fixes #148. %!s(int64=10) %!d(string=hai) anos
GUIElements.py c4347bea00 Fixes #177 %!s(int64=10) %!d(string=hai) anos
LICENSE bcbab971ca Added License. Added functionality to the geometry editor (move, copy, join). %!s(int64=11) %!d(string=hai) anos
MeasurementTool.py e3345560ec More circular import fixes. %!s(int64=10) %!d(string=hai) anos
ObjectCollection.py 9724f30551 Wait for object availability by subscribing to signal. Fixes #145. %!s(int64=10) %!d(string=hai) anos
ObjectUI.py af46cae5c7 Default value for depth/cut now positive. Added note to tooltip. %!s(int64=10) %!d(string=hai) anos
PlotCanvas.py 2bf78920ae PlotCanvas now stores reference to app. %!s(int64=10) %!d(string=hai) anos
README.md d7bdfe231d Revert "README.md edited online with Bitbucket" %!s(int64=10) %!d(string=hai) anos
camlib.py cf51e4ce2c implement del_polygon from geometry %!s(int64=10) %!d(string=hai) anos
camlib.pyc 0b16365ba2 View, delete, re-plot items %!s(int64=12) %!d(string=hai) anos
cirkuix.pyc 0b16365ba2 View, delete, re-plot items %!s(int64=12) %!d(string=hai) anos
make_win32.py 7d03574307 Added Win-32 build script. %!s(int64=10) %!d(string=hai) anos
requirements.txt 7b3647aa97 Add comments to requirements.txt %!s(int64=10) %!d(string=hai) anos
setup_ubuntu.sh d5c99463fb Added svg.path to ubuntu installation script. %!s(int64=10) %!d(string=hai) anos
svgparse.py 7db3ee7be6 SVG rectangles with rounded corners. %!s(int64=10) %!d(string=hai) anos
termwidget.py b2cc2f3fdb Major work on the command line tool. Version check on the new website. %!s(int64=11) %!d(string=hai) anos
upgrade_geos.sh e547386649 Custom RTree wrapper. FlatCAMRTree and FlatCAMRTreeStorage. %!s(int64=11) %!d(string=hai) anos

README.md

FlatCAM: 2D Computer-Aided PCB Manufacturing

(c) 2014-2015 Juan Pablo Caram

FlatCAM is a program for preparing CNC jobs for making PCBs on a CNC router. Among other things, it can take a Gerber file generated by your favorite PCB CAD program, and create G-Code for Isolation routing.

my own shell script

#!python


new
set_sys units MM


# ######### BOTTOM layer

# LOAD
open_gerber /path/to/Gerber/Loop_contour.gm1  -outname BCu_margin
open_gerber /path/to/Gerber/Loop_copperBottom.gbl -outname BCu
open_excellon /path/to/Gerber/Loop_drill.txt -outname BCu_drills

#MIRROR
mirror BCu -box BCu_margin -axis X
mirror BCu_drills -box BCu_margin -axis X

#ALIGNHOLES
aligndrill BCu_margin -dia 3 -box BCu_margin -grid 10 -gridoffset 5 -axisoffset 0  -axis X

#CUTOUT
isolate BCu_margin -dia 3 -overlap 1
exteriors BCu_margin_iso -outname BCu_margin_iso_exterior
delete BCu_margin_iso
geocutout BCu_margin_iso_exterior -dia 3 -gapsize 0.2 -gaps 4

#ISOLATE TRACES
exteriors BCu_margin -outname BCu_exterior
isolate BCu -dia 0.8 -overlap 1

#JOIN TRACES and basic exterior
join_geometries BCu_join_iso BCu_iso BCu_exterior

#CNCJOBS
drillcncjob BCu_drills -tools 100,101,102,103,104 -drillz -2 -travelz 2 -feedrate 5 -outname BCu_drills_0.8
drillcncjob BCu_margin_aligndrill -tools 1 -drillz -2 -travelz 2 -feedrate 5 -outname BCu_drills_3

cncjob BCu_join_iso -tooldia 0.6
#cncjob BCu_margin_cutout -tooldia 3
cncjob BCu_margin_iso_exterior -tooldia 3



#GENERATE GCODE

write_gcode BCu_join_iso_cnc /path/to/Gerber/output/Loop-BCu.pngc
write_gcode BCu_margin_iso_exterior_cnc /path/to/Gerber/output/Loop-BCu-Margin.ngc
write_gcode BCu_drills_0.8 /path/to/Gerber/output/Loop-BCu.drl_0.8.ngc
write_gcode BCu_drills_3 /path/to/Gerber/output/Loop-BCu.drl_3.ngc



# ######### TOP layer


# LOAD
open_gerber /path/to/Gerber/Loop_contour.gm1  -outname FCu_margin
open_gerber /path/to/Gerber/Loop_copperTop.gtl -outname FCu
open_excellon /path/to/Gerber/Loop_drill.txt -outname FCu_drills

#ALIGNHOLES
aligndrill FCu_margin -dia 3 -box FCu_margin -grid 10 -gridoffset 5 -axisoffset 0  -axis X

#CUTOUT
isolate FCu_margin -dia 3 -overlap 1
exteriors FCu_margin_iso -outname FCu_margin_iso_exterior
delete FCu_margin_iso
geocutout FCu_margin_iso_exterior -dia 3 -gapsize 0.2 -gaps 4

#ISOLATE TRACES
exteriors FCu_margin -outname FCu_exterior
isolate FCu -dia 0.8 -overlap 1

#JOIN TRACES and basic exterior
join_geometries FCu_join_iso FCu_iso FCu_exterior

#CNCJOBS
drillcncjob FCu_drills -tools 100,101,102,103,104 -drillz -2 -travelz 2 -feedrate 5 -outname FCu_drills_0.8
drillcncjob FCu_margin_aligndrill -tools 1 -drillz -2 -travelz 2 -feedrate 5 -outname FCu_drills_3

cncjob FCu_join_iso -tooldia 0.6
#cncjob FCu_margin_cutout -tooldia 3
cncjob FCu_margin_iso_exterior -tooldia 3



#GENERATE GCODE

write_gcode FCu_join_iso_cnc /path/to/Gerber/output/Loop-FCu.pngc
write_gcode FCu_margin_iso_exterior_cnc /path/to/Gerber/output/Loop-FCu-Margin.ngc
write_gcode FCu_drills_0.8 /path/to/Gerber/output/Loop-FCu.drl_0.8.ngc
write_gcode FCu_drills_3 /path/to/Gerber/output/Loop-FCu.drl_3.ngc