FlatCAM fork for modern systems

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

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

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