FlatCAM fork for modern systems

Marius Stanciu 0aeef246ea - fixed the workspace being always A4 %!s(int64=5) %!d(string=hai) anos
Utils d739a5b05d - re-added the position labels in the status bar; they will be useful if HUD is Off (Altium does the same :) so learn from the best) %!s(int64=5) %!d(string=hai) anos
assets d0e80043a4 - added a menu entry in Menu -> View for Toggle HUD %!s(int64=5) %!d(string=hai) anos
config 26fe1bf5e1 - if FlatCAM is started with the 'quit' or 'exit' as argument it will close immediately and it will close also another instance of FlatCAM that may be running %!s(int64=6) %!d(string=hai) anos
descartes 9f99520683 - fixed a bug in milling holes due of a message wrongly formatted %!s(int64=6) %!d(string=hai) anos
doc e945ced44b - modified the way FlatCAM preferences are saved. Now they can be saved as new files with .FlatConfig extension by the user and shared. %!s(int64=7) %!d(string=hai) anos
flatcamEditors 4a82224883 - wip %!s(int64=5) %!d(string=hai) anos
flatcamGUI 0aeef246ea - fixed the workspace being always A4 %!s(int64=5) %!d(string=hai) anos
flatcamObjects 6aacd4d978 - fixed recent issues introduced in Tcl command Drillcncjob %!s(int64=5) %!d(string=hai) anos
flatcamParsers 2da0853b23 - working on a new feature: adding interdiction area for Gcode generation. They will be added in the Geometry Object %!s(int64=5) %!d(string=hai) anos
flatcamTools 0aeef246ea - fixed the workspace being always A4 %!s(int64=5) %!d(string=hai) anos
locale 905c9a3739 Merged marius_stanciu/flatcam_beta/Beta_8.993 into Beta %!s(int64=5) %!d(string=hai) anos
locale_template 77f6e19267 - small changes to allow making the x86 installer that is made from a Python 3.5 run FlatCAM beta %!s(int64=5) %!d(string=hai) anos
preprocessors c5e4d72db8 - solved issue #381 where there was an error when trying to generate CNCJob out of an Excellon file that have a tool with only slots and no drills %!s(int64=5) %!d(string=hai) anos
tclCommands ce9b18f9ed - modified the Tcl command Paint "single" parameter. Now it's value is a tuple with the x,y coordinates of the single polygon to be painted. %!s(int64=5) %!d(string=hai) anos
tests a6b89dbf3a - moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes %!s(int64=6) %!d(string=hai) anos
.gitignore b9cbe97f4d - fixed display HPGL code geometry on canvas %!s(int64=7) %!d(string=hai) anos
CHANGELOG.md 0aeef246ea - fixed the workspace being always A4 %!s(int64=5) %!d(string=hai) anos
FlatCAM.py 1bbbb70fc8 - fixed issue #409; problem was due of an assert I used in the handler of the Menu ->Options -> Flip X(Y) menu entry %!s(int64=5) %!d(string=hai) anos
FlatCAMApp.py 0aeef246ea - fixed the workspace being always A4 %!s(int64=5) %!d(string=hai) anos
FlatCAMBookmark.py 804b62af7f - solved the problem with not closing all the tabs in Plot Area when creating a New Project; the issue was that once a tab was removed the indexes are remade (when tab 0 is removed then tab 1 becomes tab 0 and so on) %!s(int64=5) %!d(string=hai) anos
FlatCAMCommon.py d739a5b05d - re-added the position labels in the status bar; they will be useful if HUD is Off (Altium does the same :) so learn from the best) %!s(int64=5) %!d(string=hai) anos
FlatCAMDB.py fa33a5f487 - worked on the NCC Tool; added a new clear method named 'Combo' which will go through all methods until the clear is done %!s(int64=5) %!d(string=hai) anos
FlatCAMPool.py 32ff417a2c - fixed a bug in Excellon Editor that crashed the app when editing the first tool added automatically into a new black Excellon file %!s(int64=6) %!d(string=hai) anos
FlatCAMPostProc.py 3ec666edbb - replaced the testing if instance of FlatCAMObj with testing the obj.kind attribute %!s(int64=5) %!d(string=hai) anos
FlatCAMProcess.py 97024ed643 - corrected some issues and made Move Tool to show correctly when it is moving and when it is offsetting the objects position %!s(int64=6) %!d(string=hai) anos
FlatCAMTool.py 91493b2fbc - wip in adding Exclusion areas in Geometry object; each Geometry object has now a storage for shapes (exclusion shapes, should I make them more general?) %!s(int64=5) %!d(string=hai) anos
FlatCAMTranslation.py 4ece23c456 - added a fix so the app close is now clean, with exit code 0 as set %!s(int64=5) %!d(string=hai) anos
FlatCAMWorker.py 4c1fdd2e2d - fixed bug in Tool Subtract that did not allow subtracting Gerber objects %!s(int64=6) %!d(string=hai) anos
FlatCAMWorkerStack.py dc6479210a - chagend the workers thread priority back to Normal %!s(int64=6) %!d(string=hai) anos
LICENSE f242e3163e - small changes (dates, version) %!s(int64=7) %!d(string=hai) anos
Makefile e7a42d037b Normalize messages %!s(int64=5) %!d(string=hai) anos
README.md 35674c9647 - in SVG parser modified some imports to be one on each line %!s(int64=5) %!d(string=hai) anos
camlib.py 6aacd4d978 - fixed recent issues introduced in Tcl command Drillcncjob %!s(int64=5) %!d(string=hai) anos
defaults.py 28f0c9c276 - added new FlatCAM Tool: Corner Markers Tool which will add line markers in the selected corners of the bounding box of the targeted Gerber object %!s(int64=5) %!d(string=hai) anos
make_freezed.py 77f6e19267 - small changes to allow making the x86 installer that is made from a Python 3.5 run FlatCAM beta %!s(int64=5) %!d(string=hai) anos
requirements.txt 98541775d4 - made some corrections - due of recent refactoring PyCharm reported errors all over (not correct but it made programming difficult) %!s(int64=5) %!d(string=hai) anos
setup_ubuntu.sh f03d6bfda4 - added a new package to be installed in Linux to make available the black theme for FlatCAM beta %!s(int64=5) %!d(string=hai) anos

README.md

FlatCAM BETA (c) 2019 - by Marius Stanciu Based on FlatCAM:

2D Computer-Aided PCB Manufacturing by (c) 2014-2016 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.

=====================================================================

-------------------------- Installation instructions ----------------

Works with Python version 3.5 or greater and PyQt5. More on the YouTube channel: https://www.youtube.com/playlist?list=PLVvP2SYRpx-AQgNlfoxw93tXUXon7G94_

You can contact me on my email address found in the app in: Menu -> Help -> About FlatCAM -> Programmers -> Marius Stanciu

1.Windows

or from sources:

You can download all the required wheels files into a folder (e.g D:\my_folder) and install them from Command Prompt like this:

cd D:\my_folder

and for each wheel file (*.whl) run:

D:\my_folder\> pip install --upgrade package_from_requirements.whl

Run FlatCAM beta from the installation folder (e.g D:\FlatCAM_beta) in the Command Prompt with the following command: cd D:\FlatCAM_beta python FlatCAM.py

2.Linux

  • make sure that Python 3.8 is installed on your OS and that the command: python3 -V confirm it
  • verify that the pip package is installed for your Python installation (e.g 3.8) by running the command:

    pip3 -V
    

If it is not installed, install it. In Ubuntu-like OS's it is done like this:

sudo apt-get install python3-pip 

or:

sudo apt-get install python3.8-pip
  • verify that the file setup_ubuntu.sh has Linux line-endings (LF) and that it is executable (chmod +x setup_ubuntu.sh)
  • run the file setup_ubuntu.sh and install all the dependencies with the command:

    ./setup_ubuntu.sh
    
  • if the previous command is successful and has no errors, run FlatCAM with the command: python3 FlatCAM.py

  • Alternatively you can install it on Ubuntu with:

    # Optional if depencencies are missing
    make install_dependencies
    
    # Install for the current user only (using the folder in its place)
    make install
    
    # System-wide instalation
    sudo make install
    

3.MacOS

Instructions from here: https://gist.github.com/natevw/3e6fc929aff358b38c0a#gistcomment-3111878