If you would like to contribute to this project, below is some information to help you get started.
- Contribution Guidelines
- Manual Installation
- Embedded Libraries
- Updating cqparts
- Compiling the Qt Resource File
- Future Enhancements
Contribution guidelines can be found here. Please familiarize yourself with them as part of the process of getting involved.
Developers may need to run specific versions of this module which are not installed by FreeCAD's addons manager. There is a section in the installation documentation on manual installation. This can be used to run any version or branch of the module that is needed.
All of the libraries that this module depends on reside in the Libs
directory. Updated library versions should be downloaded manually, extracted, and placed in this directory. Libraries related to cqparts are updated through a script, and will be overwritten if updated manually.
In the Tools
directory of the repository is a utility named update_dependencies.sh
. Any time that a new version of cqparts is released, that script should be run from within the Tools
directory.
cd Tools
./update_dependencies.sh
This script will update some of the libraries in the Libs
directory, as well as any relevant cqparts packages in the ThirdParty
directory.
This is done to update the CadQuery logo.
- Install the PySide development tools:
sudo apt-get install pyside-tools
cd
into the root directory of this module/workbench.- Run the following command:
pyside-rcc ./CQGui/Resources/CadQuery.qrc -o CadQuery_rc.py
Newer versions of FreeCAD use Pyside2, and so pyside2-rcc
is needed instead:
sudo add-apt-repository ppa:thopiekar/pyside-git
sudo apt-get update
Below are some future enhancements that contributors are welcome to take on.
- Select a light or dark theme
- Set default directory for open/save dialogs
- ParametricParts.com user name
- Enable/disable experimental code. This would allow us to experiment with more difficult and far reaching features without affecting the non-power users, like adding CQ code to the editor by clicking a button in the GUI.
- Automatic save on execute
- User defined paths to the FreeCAD library. Matching feature request is here.
- From issue 28 - Add a way to highlight the objects matched by a selector.
- From issue 28 - Add a way to visualize the negative space in a cut (something like openscad's debug operator).
- From issue 28 - Some limited mouse interaction; use to generate a direction selector based on the current view, for example.
- From issue 19 - Add interactive parameters like there are on ParametricParts.com.