FlatCAM fork for modern systems

Marius Stanciu e85b6f8d87 - Geometry UI - made again the header clickable and first click selects all rows, second click will deselect all rows. %!s(int64=5) %!d(string=hai) anos
Utils f5c84fdc49 - maintenance_2 %!s(int64=5) %!d(string=hai) anos
appEditors 850b80bb41 - more refactoring in the app Editors %!s(int64=5) %!d(string=hai) anos
appGUI e85b6f8d87 - Geometry UI - made again the header clickable and first click selects all rows, second click will deselect all rows. %!s(int64=5) %!d(string=hai) anos
appObjects e85b6f8d87 - Geometry UI - made again the header clickable and first click selects all rows, second click will deselect all rows. %!s(int64=5) %!d(string=hai) anos
appParsers 5ce7011123 - changed the Excellon defaults for zeros suppression to TZ (assumed that most Excellon without units in header will come out of older Eagle) and the Excellon export default is now with coordinates in decimal %!s(int64=5) %!d(string=hai) anos
appTools 1ea168fd4b - NCC Tool - fixed the non-rest copper clearing to work as expected: each tool in the tool table will make it's own copper clearing without interference from the rest of the tools %!s(int64=5) %!d(string=hai) anos
assets f5c84fdc49 - maintenance_2 %!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
locale 850b80bb41 - more refactoring in the app Editors %!s(int64=5) %!d(string=hai) anos
locale_template 850b80bb41 - more refactoring in the app Editors %!s(int64=5) %!d(string=hai) anos
preprocessors 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
tclCommands 039500b43f - fixed issue with trying to access GUI from different threads by adding a new signal for printing to shell messages %!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
Bookmark.py 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
CHANGELOG.md e85b6f8d87 - Geometry UI - made again the header clickable and first click selects all rows, second click will deselect all rows. %!s(int64=5) %!d(string=hai) anos
Common.py 329a3262ee - made sure that the message that exclusion areas are deleted is displayed only if there are shapes in the exclusion areas storage %!s(int64=5) %!d(string=hai) anos
FlatCAM.py 427f2bcbe0 - fixed the color set for the application objects %!s(int64=5) %!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
appDatabase.py e85b6f8d87 - Geometry UI - made again the header clickable and first click selects all rows, second click will deselect all rows. %!s(int64=5) %!d(string=hai) anos
appPool.py 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
appPreProcessor.py 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
appProcess.py 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
appTool.py 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
appTranslation.py e2df2c3b62 - fixed bug: on first ever usage of FlatCAM beta the last loaded language (alphabetically) is used instead of English (in current state is Russian) %!s(int64=5) %!d(string=hai) anos
appWorker.py 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
appWorkerStack.py 2eecb20e95 - remade file names in the app %!s(int64=5) %!d(string=hai) anos
app_Main.py a3fd6e9f87 - fixed bug in the Isolation Tool that in certain cases an empty geometry was present in the solid_geometry which mae the CNCJob object generation to fail. It happen for Gerber objects created in the Gerber Editor %!s(int64=5) %!d(string=hai) anos
camlib.py 1ea168fd4b - NCC Tool - fixed the non-rest copper clearing to work as expected: each tool in the tool table will make it's own copper clearing without interference from the rest of the tools %!s(int64=5) %!d(string=hai) anos
defaults.py 0643971b01 - added ability to merge tools when merging Geometry objects if they share the same attributes like: diameter, tool_type or type %!s(int64=5) %!d(string=hai) anos
make_freezed.py 2eecb20e95 - remade file names in the app %!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