Awesome Open Source
Awesome Open Source

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.

  • Planar Linkages Simulation
  • 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
  • Others
    • Cross three platforms.
    • CAD-like user interface.
    • Auto layout of generalized chain.
    • The code is following with Python Enhancement Proposals (PEP):

If you have any question, please post on GitHub issue or contact [email protected].

Getting Started


Download portable executable file of your platform.


pip install pyslvs-ui


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.


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.


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

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


Please see the reference.

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (838,789
Algorithms (37,603
Kernel (21,785
Gui (16,391
2d Graphics (9,107
Synthesis (2,568
Cython (1,987
Pyqt5 (1,440
Mechanical Engineering (79
Solvespace (4