py bindings for conmech: a C++ lib for 3D frame elastis deformation analysis.
conmech is an open-source library to provide efficient stiffness checkers for architectural construction sequencing. It’s written in C++11 and wrapped friendly with Python via pybind11.
pip install pyconmech
(A cool gif should come here :satisfied:)
For examples of interactive usage in python (analysis for complete or partial structure in a construction sequence), see stiffness_checker_test.ipynb.
Build from source
Build python bindings
The following dependencies come from pybind11 for building the python wrappers.
On Unix (Linux, OS X)
- A compiler with C++11 support
- CMake >= 2.8.12
- Visual Studio 2015 (required for all Python versions, see notes below)
- CMake >= 3.1
conmech’s python bindings are built with a CMake-based build system via pybind11. It is recommended (especially for Windows users) to test the environment with the cmake_example for pybind11 before proceeding to build conmech.
Then, clone this repository and pip install. Note the --recursive option which is needed for cloning the submodules:
git clone --recursive https://github.com/yijiangh/conmech pip install ./conmech # try with '--user' if you encountered a sudo problem
Or for developers:
git clone --recursive https://github.com/yijiangh/conmech cd conmech python setup.py sdist pip install --verbose dist/*.tar.gz
With the setup.py file included in the base folder, the pip install command will invoke CMake and build the pybind11 module as specified in CMakeLists.txt.
Build C++ code
mkdir build cd build cmake .. make -j4 # Unix
Or on Windows, replace the last line with
cmake --build .
- The original stiffness_checker extension module is wrapper as _stiffness_checker. All the cpp modules are wrapper under a top-level python classes/functions, to give more flexibility.
- API change: stiffness_checker class is renamed to StiffnessChecker to conform
- to the class naming convention. All other APIs within this class are left unchanged.
- Delete radius entry from material_properties.
- documentation is hosted on readthedocs!
- add grasshopper examples - parse/save files, karamba comparsion, solve/get result in GH via ghpython-remote
- supports material / cross sectional properties for each element.
- supports uniformly distributed load
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size pyconmech-0.2.0.tar.gz (1.3 MB)||File type Source||Python version None||Upload date||Hashes View hashes|