FlatCAM fork for modern systems

Marius Stanciu 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration) 5 лет назад
Utils f5c84fdc49 - maintenance_2 5 лет назад
appEditors 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences 5 лет назад
appGUI 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration) 5 лет назад
appObjects 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration) 5 лет назад
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 лет назад
appTools 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration) 5 лет назад
assets f5c84fdc49 - maintenance_2 5 лет назад
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 лет назад
descartes 9f99520683 - fixed a bug in milling holes due of a message wrongly formatted 6 лет назад
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 лет назад
locale 2dfc0caed7 - Turkish translation updated by Mehmet Kaya for the 8.993 version of strings 5 лет назад
locale_template 850b80bb41 - more refactoring in the app Editors 5 лет назад
preprocessors 949c265378 - changed the data structure for the Excellon object; modified the Excellon parser and the Excellon object class 5 лет назад
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 лет назад
tests a6b89dbf3a - moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes 6 лет назад
.gitignore b9cbe97f4d - fixed display HPGL code geometry on canvas 7 лет назад
Bookmark.py 2eecb20e95 - remade file names in the app 5 лет назад
CHANGELOG.md 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration) 5 лет назад
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 лет назад
FlatCAM.py 427f2bcbe0 - fixed the color set for the application objects 5 лет назад
LICENSE f242e3163e - small changes (dates, version) 7 лет назад
Makefile e7a42d037b Normalize messages 5 лет назад
README.md 35674c9647 - in SVG parser modified some imports to be one on each line 5 лет назад
appDatabase.py 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration) 5 лет назад
appPool.py 2eecb20e95 - remade file names in the app 5 лет назад
appPreProcessor.py 2eecb20e95 - remade file names in the app 5 лет назад
appProcess.py 2eecb20e95 - remade file names in the app 5 лет назад
appTool.py 2eecb20e95 - remade file names in the app 5 лет назад
appTranslation.py 4bce56308c - added Turkish translation - courtesy of Mehmet Kaya 5 лет назад
appWorker.py 2eecb20e95 - remade file names in the app 5 лет назад
appWorkerStack.py 2eecb20e95 - remade file names in the app 5 лет назад
app_Main.py 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration) 5 лет назад
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 лет назад
defaults.py 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences 5 лет назад
make_freezed.py 2eecb20e95 - remade file names in the app 5 лет назад
requirements.txt 98541775d4 - made some corrections - due of recent refactoring PyCharm reported errors all over (not correct but it made programming difficult) 5 лет назад
setup_ubuntu.sh f03d6bfda4 - added a new package to be installed in Linux to make available the black theme for FlatCAM beta 5 лет назад

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