Table of contents
This workbench is an attempt to introduce automatic assembly sequence planning (ASP) into FreeCAD. ASP involves determining (all) feasible sequences in which the different components of a product can be assembled successfully. Based on an assembly product's CAD model, feasible assembly sequences are composed by considering topological and geometrical constraints, and are represented as an AND/OR graph.
This project started in the context of Ph.D. research into intention-based human-robot collaborative assembly, and was first mentioned in the following paper:
M. Cramer, K. Kellens and E. Demeester, "Probabilistic Decision Model for Adaptive Task Planning in Human-Robot Collaborative Assembly Based on Designer and Operator Intents," in IEEE Robotics and Automation Letters, vol. 6, no. 4, pp. 7325-7332, Oct. 2021, doi: 10.1109/LRA.2021.3095513.
- Automatic constraint detectors and interactive graph visualiser [YouTube]
- FreeCAD version info:
OS: Ubuntu 22.04 LTS (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.29177 (Git)
Build type: Release
Branch: (HEAD detached at 0.20)
Hash: 68e337670e227889217652ddac593c93b5e8dc94
Python 3.10.4, Qt 5.15.3, Coin 4.0.0, Vtk 7.1.1, OCC 7.5.1
Locale: English/United States (en_US)
These instructions will help you get the APLAN workbench up and running on your local machine.
- Copy the latest version of FreeCAD's source code:
$ git clone https://github.com/FreeCAD/FreeCAD.git freecad/freecad-source
- Copy the source code of the APLAN workbench into the Mod folder:
$ git clone https://github.com/martcram/FreeCAD-APLAN.git freecad/freecad-source/src/Mod/Aplan
... or include the project as a submodule for development purposes:
$ cd freecad/freecad-source
$ git submodule add https://github.com/martcram/FreeCAD-APLAN.git src/Mod/Aplan
- Create a CMake variable in the file
freecad-source/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake
to provide the user with the option to compile this workbench:
...
option(BUILD_APLAN "Build the FreeCAD APLAN module" ON)
...
- Include the subdirectory of the APLAN workbench in the CMake build by adding the following lines to the file
freecad-source/src/Mod/CMakeLists.txt
:
...
if(BUILD_APLAN)
add_subdirectory(Aplan)
endif(BUILD_APLAN)
...
- Follow the succeeding instructions for compiling FreeCAD on your specific OS using the official documentation. Note that the first step of acquiring FreeCAD's source code can be disregarded since this was already addressed by this README file.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this workbench better, please fork the repo and create a pull request. You can also simply open an issue with the tag "Feature". Don't forget to give the project a star! Thank you!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/amazingFeature
) - Commit your Changes (
git commit -m 'add some amazingFeature'
) - Push to the Branch (
git push origin feature/amazingFeature
) - Open a Pull Request
Finally, have a look at the list of contributors who participated in this project.
This project is distributed under the LGPL-2.1 License. See LICENSE
for more information.