2-D post processing for manufacturing, specialized in Printed Circuit Board fabrication on CNC routers.
Go to file
Marius Stanciu 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) 2020-05-30 20:23:47 +03:00
AppEditors - refactored some methods from App class and moved them to plotcanvas (plotcanvaslegacy) class 2020-05-29 18:39:19 +03:00
AppGUI - 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) 2020-05-30 20:23:47 +03:00
AppObjects - 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) 2020-05-30 20:23:47 +03:00
AppParsers - 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) 2020-05-25 00:37:54 +03:00
AppTools - optimized the Gerber UI 2020-05-30 18:17:40 +03:00
Utils - 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) 2020-05-12 01:21:29 +03:00
assets - refactored some methods from App class and moved them to plotcanvas (plotcanvaslegacy) class 2020-05-29 18:39:19 +03:00
config - 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 2019-09-17 14:08:57 +03:00
descartes - fixed a bug in milling holes due of a message wrongly formatted 2019-10-17 15:29:52 +03:00
doc - modified the way FlatCAM preferences are saved. Now they can be saved as new files with .FlatConfig extension by the user and shared. 2019-01-23 17:06:14 +02:00
locale - updated all the language strings to the latest changes; updated the POT file 2020-05-19 02:28:06 +03:00
locale_template - updated all the language strings to the latest changes; updated the POT file 2020-05-19 02:28:06 +03:00
preprocessors - added the Exclusion zones processing to Geometry GCode generation 2020-05-23 04:32:57 +03:00
tclCommands - working on Isolation Tool: added a Preferences section in Edit -> Preferences and updated their usage within the Isolation tool 2020-05-26 17:21:49 +03:00
tests - moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes 2019-10-06 15:56:41 +03:00
.gitignore - fixed display HPGL code geometry on canvas 2019-01-19 03:02:47 +02:00
AppDatabase.py - modified the Tool Database such that when a tool shape is selected as 'V' any change in the Vdia or Vangle or CutZ parameters will update the tool diameter value 2020-05-30 15:04:42 +03:00
AppPool.py - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
AppPreProcessor.py - removed reference to postprocessors and replaced it with preprocessors 2020-05-18 16:11:02 +03:00
AppProcess.py - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
AppTool.py - made confirmation messages for the values that are modified not to be printed in the Shell 2020-05-30 03:06:47 +03:00
AppTranslation.py - minor UI changes 2020-05-27 00:36:10 +03:00
AppWorker.py - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
AppWorkerStack.py - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
App_Main.py - In Tool Isolation made sure that the use of ESC key while some processes are active will disconnect the mouse events that may be connected, correctly 2020-05-30 17:15:42 +03:00
Bookmark.py - refactored some methods from App class and moved them to plotcanvas (plotcanvaslegacy) class 2020-05-29 18:39:19 +03:00
CHANGELOG.md - 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) 2020-05-30 20:23:47 +03:00
Common.py - 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 2020-05-29 14:41:02 +03:00
FlatCAM.py - solved a circular import 2020-05-18 19:09:37 +03:00
LICENSE - small changes (dates, version) 2019-01-20 05:37:04 +02:00
Makefile Normalize messages 2020-04-27 17:07:11 -03:00
README.md - in SVG parser modified some imports to be one on each line 2020-04-28 19:34:23 +03:00
camlib.py - fixed some issues related to using the new Numerical... GUI elements 2020-05-28 04:22:46 +03:00
defaults.py - 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) 2020-05-30 20:23:47 +03:00
make_freezed.py - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
requirements.txt - made some corrections - due of recent refactoring PyCharm reported errors all over (not correct but it made programming difficult) 2020-04-30 12:47:07 +03:00
setup_ubuntu.sh - added a new package to be installed in Linux to make available the black theme for FlatCAM beta 2020-04-28 17:23:49 +03:00

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:

pip -V

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