FlatCAM fork for modern systems

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

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