python-solvespace 3.0.8

Last updated:

0 purchases

python-solvespace 3.0.8 Image
python-solvespace 3.0.8 Images
Add to Cart

Description:

pythonsolvespace 3.0.8

python-solvespace
Python library from the solver of SolveSpace, an open source CAD software.

Python API
C API

The example extracted from unit test:
from python_solvespace import SolverSystem, ResultFlag

sys = SolverSystem()
wp = sys.create_2d_base() # Workplane (Entity)
p0 = sys.add_point_2d(0, 0, wp) # Entity
sys.dragged(p0, wp) # Make a constraint with the entity
...
line0 = sys.add_line_2d(p0, p1, wp) # Create entity with others
...
line1 = sys.add_line_2d(p0, p3, wp)
sys.angle(line0, line1, 45, wp) # Constrain two entities
line1 = sys.entity(-1) # Entity handle can be re-generated and negatively indexed
...
if sys.solve() == ResultFlag.OKAY:
# Get the result (unpack from the entity or parameters)
# x and y are actually float type
dof = sys.dof()
x, y = sys.params(p2.params)
...
else:
# Error!
# Get the list of all constraints
failures = sys.failures()
...

Solver can also be serialized and copied, but can not modify or undo last step.
import pickle
print(pickle.dumps(sys))

sys_new = sys.copy()

The entity and parameter handles should have the same lifetime to the solver.
Install
pip install python-solvespace

Build and Test (Repository)
First build and install the module from the repo:
git submodule update --init extlib/mimalloc extlib/eigen
cd cython
pip install -e .

Rebuild the module:
pip install -e . --no-deps

Run the unit tests:
python -m unittest

Uninstall the module:
pip uninstall python-solvespace

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.