FlatCAM fork for modern systems

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

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