FlatCAM fork for modern systems

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

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.

double sided shell script used for Loop Arduino Shield example from fritzinghttp://fritzing.org/

#!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