2-D post processing for manufacturing, specialized in Printed Circuit Board fabrication on CNC routers.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
giuliof d9fdbc7279 Readme more readable, added virtualenv explanation. 9 months ago
Utils - maintenance_2 2 years ago
appCommon - minor PEP corrections 2 years ago
appEditors - in Gerber Editor fixed an error in the Eraser tool trying to disconnect the Jump signal 2 years ago
appGUI - fixed the new InputDialog widget to set its passed values in the constructor 2 years ago
appObjects Merged in fixes_for_millslots (pull request #343) 2 years ago
appParsers ezdxf recently removed the Vector alias for Vec3, update to support that 1 year ago
appTools Fix panelize excellon object type 2 years ago
assets - added more icons in the Gerber and Excellon Editors for the buttons 2 years ago
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 3 years ago
descartes - fixed the Tcl Command AlignDrill 2 years ago
doc - modified the way FlatCAM preferences are saved. Now they can be saved as new files with .FlatConfig extension by the user and shared. 4 years ago
locale - language strings recompiled to make sure that the .MO files are well optimized 2 years ago
locale_template - language strings recompiled to make sure that the .MO files are well optimized 2 years ago
preprocessors - reverted the preprocessors with no toolchange commands to the original but removed the M6 toolchange command 2 years ago
tclCommands Merged in fixes_for_millslots (pull request #343) 2 years ago
tests - cascaded_union() method will be deprecated in Shapely 1.8 in favor of unary_union; replaced the usage of cascaded_union with unary_union in all the app 2 years ago
.gitignore Readme more readable, added virtualenv explanation. 9 months ago
Bookmark.py - trimmed the application strings 2 years ago
CHANGELOG.md - language strings recompiled to make sure that the .MO files are well optimized 2 years ago
FlatCAM.py - added ability for the app to detect the current DPI used on the screen; applied this information in the Film Tool when exporting PNG files 2 years ago
LICENSE - small changes (dates, version) 4 years ago
Makefile Normalize messages 2 years ago
README.md Readme more readable, added virtualenv explanation. 9 months ago
appDatabase.py - fixed issue with arrays of items could not be added in the Gerber/Excellon Editor when a translation is used 2 years ago
appPool.py - remade file names in the app 2 years ago
appPreProcessor.py - fixed the Tcl Command AlignDrill 2 years ago
appProcess.py - remade file names in the app 2 years ago
appTool.py - minor changes in the Properties Tool 2 years ago
appTranslation.py - trimmed the application strings 2 years ago
appWorker.py - remade file names in the app 2 years ago
appWorkerStack.py - remade file names in the app 2 years ago
app_Main.py Reverted changes 2 years ago
camlib.py Fix for errors in TclCommandDrillcncjob 2 years ago
defaults.py - trimmed the application strings 2 years ago
launch.sh Readme more readable, added virtualenv explanation. 9 months ago
requirements.txt Fixed requirements.txt for virtualenv setup. 10 months ago
setup_ubuntu.sh this seemed needed for Ubuntu 20.04 LTS 2 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

Linux Virtual Env

  1. Clone this repository.
  2. Install these packages from your distro's repository. On Ubuntu: sudo apt install libfreetype6 libfreetype6-dev libgeos-dev libpng-dev libspatialindex-dev qt5-style-plugins python3-dev python3-gdal python3-pip python3-pyqt5 python3-pyqt5.qtopengl python3-simplejson python3-tk python3-virtualenv
  3. Create python virtual environment in repo's folder and activate it. virtualenv venv source venv/bin/activate
  4. Install python requirements. pip3 install -r requirements.txt
  5. Now, FlatCAM can be launched with launch.sh.

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

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

MacOS

Instructions from here: https://gist.github.com/natevw/3e6fc929aff358b38c0a#gistcomment-3111878