FlatCAM fork for modern systems

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

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