KmolYuan / Pyslvs-UI

An open source planar linkage mechanism simulation and mechanical synthesis system.
https://pyslvs-ui.readthedocs.io
GNU Affero General Public License v3.0
182 stars 37 forks source link
2d algorithm gui mechanical-engineering pyqt5 pyslvs python solvespace

PyPI Language grade: Python

Documentation Status sourceforge GitHub repo size in bytes Downloads

kernel kernel

pyslvs-icon Pyslvs-UI

A GUI-based (PyQt5) tool used to design 2D linkage mechanism.

If you have any question, please post on GitHub issue or contact pyslvs@gmail.com.

Getting Started

Executables

Download portable executable file of your platform.

PyPI

pip install pyslvs-ui

Source

Branch master is in development, use stable branch to install stable dependencies directly.

git checkout stable
pip install -e .

There are more detailed instructions in the documentation.

Libraries

Pyslvs has a solver backend that can works without the GUI:

from pyslvs import example_list, parse_vpoints, t_config, expr_solving

# Get example with name
expr, inputs = example_list("Jansen's linkage (Single)")
# Parse the mechanism expression into a list of joint data
vpoints = parse_vpoints(expr)
# Config joint data and control data for the solver
exprs = t_config(vpoints, inputs)
# Solve the position
result = expr_solving(exprs, vpoints, {pair: 0. for pair in inputs})
# Get the result from joint 7
x, y = result[7]
print(x, y)  # -43.170055 -91.753226

Please see the documentation for more information.

Documentation

The documentation of Pyslvs and kernel API. Start it from sources:

pip install mkdocs
pip install -r doc-requirements.txt
mkdocs serve

Cite

Please see the reference.