Python bindings for FreeCAD's PlaneGCS 2D geometric constraint solver
Project description
planegcs
Python bindings for FreeCAD's PlaneGCS 2D geometric constraint solver.
Installation
pip install planegcs
Quick Start
from planegcs import Sketch, SolveStatus
s = Sketch()
# Create three points for a triangle
p1 = s.add_point(0, 0)
p2 = s.add_point(5, 0)
p3 = s.add_point(2.5, 4)
# Create lines
l1 = s.add_line(p1, p2)
l2 = s.add_line(p2, p3)
l3 = s.add_line(p3, p1)
# Make it equilateral
s.equal_length(l1, l2)
s.equal_length(l2, l3)
# Fix first point and make base horizontal
s.fix_point(p1, 0, 0)
s.horizontal(l1)
# Fix the side length to 5
d = s.add_param(5.0)
s.p2p_distance(p1, p2, d)
# Solve
status = s.solve()
assert status == SolveStatus.Success
# Read results
print(s.get_point(p1)) # (0.0, 0.0)
print(s.get_point(p2)) # (5.0, 0.0)
print(s.get_point(p3)) # (~2.5, ~4.33)
License
LGPL-2.1-or-later (same as the FreeCAD source code it wraps).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
planegcs-0.1.0.tar.gz
(120.0 kB
view details)
File details
Details for the file planegcs-0.1.0.tar.gz.
File metadata
- Download URL: planegcs-0.1.0.tar.gz
- Upload date:
- Size: 120.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a036288f68467919de2f2c2fbd9353e41b4f3516584246b2f0ad9aa4fc72e43a
|
|
| MD5 |
3a4fbce95b13251c4256cc968ce13c1a
|
|
| BLAKE2b-256 |
68de82cbde5c6735b48c34ea992a2ffaaed7b479eac445dbe7199ff72a5aa413
|