FlatCAM fork for modern systems

Marius Stanciu 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees 5 years ago
AppEditors 8eee9a9dcf - made last filter selected for open file to be used next time when opening files (for Excellon, GCode and Gerber files, for now) 5 years ago
AppGUI 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees 5 years ago
AppObjects 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees 5 years ago
AppParsers 2623bb0a65 - updated the Gerber parser such that it will parse correctly Gerber files that have only one solid polygon inside with multiple clear polygons (like those generated by the Invert Tool) 5 years ago
AppTools 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees 5 years ago
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) 5 years ago
assets ffa063286f - refactored some methods from App class and moved them to plotcanvas (plotcanvaslegacy) class 5 years ago
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 years ago
descartes 9f99520683 - fixed a bug in milling holes due of a message wrongly formatted 6 years ago
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 years ago
locale facbdf0fd7 - updated all the language strings to the latest changes; updated the POT file 5 years ago
locale_template facbdf0fd7 - updated all the language strings to the latest changes; updated the POT file 5 years ago
preprocessors 2e8d5b3b96 - added the Exclusion zones processing to Geometry GCode generation 5 years ago
tclCommands dbd1098329 - working on Isolation Tool: added a Preferences section in Edit -> Preferences and updated their usage within the Isolation tool 5 years ago
tests a6b89dbf3a - moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes 6 years ago
.gitignore b9cbe97f4d - fixed display HPGL code geometry on canvas 7 years ago
AppDatabase.py 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees 5 years ago
AppPool.py ba3f10d355 - renamed classes to have shorter names and grouped 5 years ago
AppPreProcessor.py a0a805217d - removed reference to postprocessors and replaced it with preprocessors 5 years ago
AppProcess.py ba3f10d355 - renamed classes to have shorter names and grouped 5 years ago
AppTool.py 15d94404a7 - made confirmation messages for the values that are modified not to be printed in the Shell 5 years ago
AppTranslation.py 66ceb5a360 - minor UI changes 5 years ago
AppWorker.py ba3f10d355 - renamed classes to have shorter names and grouped 5 years ago
AppWorkerStack.py ba3f10d355 - renamed classes to have shorter names and grouped 5 years ago
App_Main.py 8eee9a9dcf - made last filter selected for open file to be used next time when opening files (for Excellon, GCode and Gerber files, for now) 5 years ago
Bookmark.py 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees 5 years ago
CHANGELOG.md 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees 5 years ago
Common.py 15ec620cae - overloaded the App inform signal to allow not printing to shell if a second bool parameter is given; modified some GUI messages to use this feature 5 years ago
FlatCAM.py 9c707e0682 - solved a circular import 5 years ago
LICENSE f242e3163e - small changes (dates, version) 7 years ago
Makefile e7a42d037b Normalize messages 5 years ago
README.md 35674c9647 - in SVG parser modified some imports to be one on each line 5 years ago
camlib.py 8e687c5054 - fixed some issues related to using the new Numerical... GUI elements 5 years ago
defaults.py f74379de3e - added a Multi-color checkbox for the Excellon UI (this way colors for each tool are easier to differentiate especially when the diameter is close) 5 years ago
make_freezed.py ba3f10d355 - renamed classes to have shorter names and grouped 5 years ago
requirements.txt 98541775d4 - made some corrections - due of recent refactoring PyCharm reported errors all over (not correct but it made programming difficult) 5 years ago
setup_ubuntu.sh f03d6bfda4 - added a new package to be installed in Linux to make available the black theme for FlatCAM beta 5 years ago

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