Pyslvs-UI
A GUI-based (PyQt5) tool used to design 2D linkage mechanism.
- Planar Linkages Simulation
- Python-Solvespace: Kernel from Solvespace with Cython bundle.
- Pyslvs: Kernel from Sketch Solve with Cython.
- Mechanical Synthesis
- Number Synthesis: Combine the attributes of mechanism.
- Structural Synthesis: Cython algorithm used to find out structural possibilities of the mechanism.
- Dimensional Synthesis: Kernel from the three Cython algorithms (rewrite).
- Websites
- Readthedocs (stable / latest)
- Content Management System (to be maintained)
- Blog Framework (to be maintained)
- Others
If you have any question, please post on GitHub issue or contact [email protected].
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.