FlatCAM fork for modern systems

Marius Stanciu 1b0abc6798 Merged jpcgt/flatcam/Beta into Beta 8.992 5 lat temu
Utils ca4c7b245f - added a script to remove the bad profiles from resource pictures. From here: https://stackoverflow.com/questions/22745076/libpng-warning-iccp-known-incorrect-srgb-profile/43415650, link mentioned by @camellan (Andrey Kultyapov) 6 lat temu
assets f03d6bfda4 - added a new package to be installed in Linux to make available the black theme for FlatCAM beta 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
flatcamEditors a05c174ec8 Fix some things that I broke and further cleanup 5 lat temu
flatcamGUI 2ca6e2e3f1 - modified the method that detects which tab was closed in the Plot Area so it will no longer depend on it's translated text but on it's objectName set on the QTab creation 5 lat temu
flatcamObjects b8d85d2be2 - fixed the merge methods for all FlatCAM objects 5 lat temu
flatcamParsers 35674c9647 - in SVG parser modified some imports to be one on each line 5 lat temu
flatcamTools a029d5d9ed - updated the French, German and Spanish Google translations 5 lat temu
locale 81c9e2042a finished Russian translation 5 lat temu
locale_template 9f13b47077 - replaced the testing if instance of FlatCAMObj with testing the obj.kind attribute 5 lat temu
preprocessors c5e4d72db8 - solved issue #381 where there was an error when trying to generate CNCJob out of an Excellon file that have a tool with only slots and no drills 5 lat temu
tclCommands b8d85d2be2 - fixed the merge methods for all FlatCAM objects 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
CHANGELOG.md a233d49bd9 - fixed units conversion issue 5 lat temu
FlatCAM.py e1bc55a090 - added a try-except clause in the FlatCAMTranslation.restart_program() when closing the Listener and the thread that runs it to adjust to MacOS usage 5 lat temu
FlatCAMApp.py a233d49bd9 - fixed units conversion issue 5 lat temu
FlatCAMBookmark.py a05c174ec8 Fix some things that I broke and further cleanup 5 lat temu
FlatCAMCommon.py 723e242c2b Remove duplicate factory defaults saving code in App 5 lat temu
FlatCAMDB.py db37714025 Merge branch 'Beta' of https://bitbucket.org/jpcgt/flatcam into extract-prefs-code-from-app-class 5 lat temu
FlatCAMPool.py 32ff417a2c - fixed a bug in Excellon Editor that crashed the app when editing the first tool added automatically into a new black Excellon file 6 lat temu
FlatCAMPostProc.py 3ec666edbb - replaced the testing if instance of FlatCAMObj with testing the obj.kind attribute 5 lat temu
FlatCAMProcess.py 97024ed643 - corrected some issues and made Move Tool to show correctly when it is moving and when it is offsetting the objects position 6 lat temu
FlatCAMTool.py a1499158c2 - refactored some of the code in the App class and created a new Tcl Command named Help 5 lat temu
FlatCAMTranslation.py ef6b5bcfe5 Merged marius_stanciu/flatcam_beta/Beta 8.992 into Beta 5 lat temu
FlatCAMWorker.py 4c1fdd2e2d - fixed bug in Tool Subtract that did not allow subtracting Gerber objects 6 lat temu
FlatCAMWorkerStack.py dc6479210a - chagend the workers thread priority back to Normal 6 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
camlib.py 9f13b47077 - replaced the testing if instance of FlatCAMObj with testing the obj.kind attribute 5 lat temu
defaults.py a233d49bd9 - fixed units conversion issue 5 lat temu
make_freezed.py a233d49bd9 - fixed units conversion issue 5 lat temu
requirements.txt 61020e3624 - finished the moving of all Tcl Shell stuff out of the FlatCAAMApp class to flatcamTools.ToolShell class 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