Skip to content

The source codes of our IEEE Robotics and Automation Letters paper.

Notifications You must be signed in to change notification settings

zhangjiangzhao123/pymdp

 
 

Repository files navigation

PyMDP: A decomposition tool for multi-direction 3D printing

Multi-directional 3D printing by robotic or automation systems has changed the way of traditional layer-wise printing. As a strong complementary of additive manufacturing, multi-directional printing has the capability of decreasing or eliminating the need for support structures.

Dependency

Eigen CGAL PyBind11

Install

We use CMake (>=3.16) and vcpkg to facilate the compilation process. You can download and install CMake from their official website, and install vcpkg by

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install

Next, you will need to install CGAL dependency:

vcpkg install eigen3
vcpkg install cgal

Note: if you are running on a Windows system, vcpkg will install 32-bit package by default. In this case, you might need to use the following command

vcpkg install eigen3:x64-windows
vcpkg install cgal:x64-windows

Then you can easily install the library by using the following command.

pip install . --install-option="--vcpkg=YOUR_VCPKG_FOLDER"

Please change "YOUR_VCPKG_FOLDER" to the folder where VCPKG is installed.

Demo

from pymdp import BGS

if __name__ == "__main__":
    proc = BGS(filename='kitten.off')
    proc.set_beam_width(10)
    proc.set_output_folder('kitten')
    proc.start_search()

We recently proposed a learning-based method for improving the original search algorithm, which is based on learning-to-rank techniques. Source codes are avialable in the "learning_based.py" file.

Credits

We really appreciate if your scientific publications resulting from the projects that make use of PyMDP would cite our work.

@article{wu2019general,
title={General Support-Effective Decomposition for Multi-Directional 3-D Printing},
author={Wu, Chenming and Dai, Chengkai and Fang, Guoxin and Liu, Yong-Jin and Wang, Charlie CL},
journal={IEEE Transactions on Automation Science and Engineering},
year={2019},
publisher={IEEE}
}
@article{wu2020learning,
title={Learning to Accelerate Decomposition for Multi-Directional 3D Printing},
author={Wu, Chenming and Liu, Yong-Jin and Wang, Charlie CL},
journal={arXiv preprint arXiv:2004.03450},
year={2020}
}

In our learning-to-accelerate work, we use the official urank impelementation provided by Xiaofeng Zhu. Please consider cite their papers if you also found it helpful.

License

This library is ONLY for research purposes at your university (research institution). In no event shall the author be liable to any party for direct, indirect, special, incidental, or consequential damage arising out of the use of this program.

About

The source codes of our IEEE Robotics and Automation Letters paper.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 56.8%
  • C++ 39.1%
  • Perl 3.3%
  • Other 0.8%