FlatCAM fork for modern systems

Marius Stanciu eee56a8f2f - Geometry UI - moved the UI for polishing from Isolation Tool to Geometry UI (actually in the future Milling Tool) where it belongs %!s(int64=5) %!d(string=hai) anos
Utils f5c84fdc49 - maintenance_2 %!s(int64=5) %!d(string=hai) anos
appEditors 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences %!s(int64=5) %!d(string=hai) anos
appGUI eee56a8f2f - Geometry UI - moved the UI for polishing from Isolation Tool to Geometry UI (actually in the future Milling Tool) where it belongs %!s(int64=5) %!d(string=hai) anos
appObjects 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences %!s(int64=5) %!d(string=hai) anos
appParsers cb69216f92 - Convert Any to Excellon. Finished Gerber object conversion to Excellon. Flash's are converted to drills. Traces in the form of a linear LineString (no changes in direction) are converted to slots. %!s(int64=5) %!d(string=hai) anos
appTools eee56a8f2f - Geometry UI - moved the UI for polishing from Isolation Tool to Geometry UI (actually in the future Milling Tool) where it belongs %!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 2dfc0caed7 - Turkish translation updated by Mehmet Kaya for the 8.993 version of strings %!s(int64=5) %!d(string=hai) anos
locale_template 850b80bb41 - more refactoring in the app Editors %!s(int64=5) %!d(string=hai) anos
preprocessors 949c265378 - changed the data structure for the Excellon object; modified the Excellon parser and the Excellon object class %!s(int64=5) %!d(string=hai) anos
tclCommands e7c369ab8e - updated the Panelize Tool to save the source code for the panelized Excellon objects so it can be saved from the Save project tab context menu entry %!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 eee56a8f2f - Geometry UI - moved the UI for polishing from Isolation Tool to Geometry UI (actually in the future Milling Tool) where it belongs %!s(int64=5) %!d(string=hai) anos
Common.py ce5ad816c5 - Drilling Tool - UI is working as expected; I will have to propagate the changes to other tools too, to increase likeness between different parts of the app %!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 ed9fd94624 - Tools Database - added a context menu action to Save the changes to the database even if it's not in the Administration mode %!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 4bce56308c - added Turkish translation - courtesy of Mehmet Kaya %!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 f53ffe54d9 - Tool Drilling - fixed incorrect annotations in CNCJob objects generated; one drawback is that now each tool (when Toolchange is ON) has it's own annotation order which lead to overlapping in the start point of one tool and the end of previous tool %!s(int64=5) %!d(string=hai) anos
camlib.py f53ffe54d9 - Tool Drilling - fixed incorrect annotations in CNCJob objects generated; one drawback is that now each tool (when Toolchange is ON) has it's own annotation order which lead to overlapping in the start point of one tool and the end of previous tool %!s(int64=5) %!d(string=hai) anos
defaults.py 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences %!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