FlatCAM fork for modern systems

Marius Stanciu 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them 5 lat temu
Utils f5c84fdc49 - maintenance_2 5 lat temu
appEditors 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences 5 lat temu
appGUI 329bb04b3c - Gerber UI - optimized the mark shapes to use only on ShapeCollection 5 lat temu
appObjects 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them 5 lat temu
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. 5 lat temu
appTools 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them 5 lat temu
assets f5c84fdc49 - maintenance_2 5 lat temu
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 6 lat temu
descartes 9f99520683 - fixed a bug in milling holes due of a message wrongly formatted 6 lat temu
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. 7 lat temu
locale 2dfc0caed7 - Turkish translation updated by Mehmet Kaya for the 8.993 version of strings 5 lat temu
locale_template 850b80bb41 - more refactoring in the app Editors 5 lat temu
preprocessors 949c265378 - changed the data structure for the Excellon object; modified the Excellon parser and the Excellon object class 5 lat temu
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 5 lat temu
tests a6b89dbf3a - moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes 6 lat temu
.gitignore b9cbe97f4d - fixed display HPGL code geometry on canvas 7 lat temu
Bookmark.py 2eecb20e95 - remade file names in the app 5 lat temu
CHANGELOG.md 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them 5 lat temu
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 5 lat temu
FlatCAM.py 427f2bcbe0 - fixed the color set for the application objects 5 lat temu
LICENSE f242e3163e - small changes (dates, version) 7 lat temu
Makefile e7a42d037b Normalize messages 5 lat temu
README.md 35674c9647 - in SVG parser modified some imports to be one on each line 5 lat temu
appDatabase.py 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them 5 lat temu
appPool.py 2eecb20e95 - remade file names in the app 5 lat temu
appPreProcessor.py 2eecb20e95 - remade file names in the app 5 lat temu
appProcess.py 2eecb20e95 - remade file names in the app 5 lat temu
appTool.py 2eecb20e95 - remade file names in the app 5 lat temu
appTranslation.py 4bce56308c - added Turkish translation - courtesy of Mehmet Kaya 5 lat temu
appWorker.py 2eecb20e95 - remade file names in the app 5 lat temu
appWorkerStack.py 2eecb20e95 - remade file names in the app 5 lat temu
app_Main.py 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them 5 lat temu
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 5 lat temu
defaults.py 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences 5 lat temu
make_freezed.py 2eecb20e95 - remade file names in the app 5 lat temu
requirements.txt 98541775d4 - made some corrections - due of recent refactoring PyCharm reported errors all over (not correct but it made programming difficult) 5 lat temu
setup_ubuntu.sh f03d6bfda4 - added a new package to be installed in Linux to make available the black theme for FlatCAM beta 5 lat temu

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