planegcs
Python bindings for FreeCAD's PlaneGCS 2D geometric constraint solver.
This project extracts the constraint solver system from FreeCAD's Sketcher component, changes the headers so that it can be used outside FreeCAD, and adds some thin C++ and Python wrappers so it can be used as a Python library. As per the FreeCAD licence requirements, the result is licenced under the LPGL 2.1 or later.
Installation
pip install planegcs
or:
uv add planegcs
If wheels aren't available, you'll need C++ tools and some development headers:
- eigen3
- boost
Quick Start
from planegcs import Sketch, SolveStatus
s = Sketch()
# Create three points for a triangle
p1 = s.add_fixed_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)
# Make base horizontal
s.horizontal(l1)
# Fix the side length to 5
s.set_p2p_distance(p1, p2, 5.0)
# 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)
Docs
Full documentation at readthedocs,
and in the docs/ folder (requires Sphinx to build).
Contributing
See CONTRIBUTING.md for details on coding standards.
License
LGPL-2.1-or-later (same as the FreeCAD source code it wraps).
Metadata
Release files for planegcs 0.9.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| planegcs-0.9.6.tar.gz | 210.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| planegcs-0.9.6-cp314-cp314-win_amd64.whl | CPython 3.14 | CPython 3.14 | Windows x86-64 | Details |
| planegcs-0.9.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| planegcs-0.9.6-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| planegcs-0.9.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| planegcs-0.9.6-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| planegcs-0.9.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
Total release size: 3.5 MB
Release files / planegcs-0.9.6.tar.gz
| Download URL | planegcs-0.9.6.tar.gz |
|---|---|
| Size | 210.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
584bca77dd4682b503e37433f19b0888d14d9e75c2a484ff20ddebbafe0a6239
|
|
BLAKE2b-256 checksum How to use checksums |
a011d1d156183c88095951a10ed4f76b8c7db3377664987369ad763c8278b87a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / planegcs-0.9.6-cp314-cp314-win_amd64.whl
| Download URL | planegcs-0.9.6-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 617.9 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4e0b2c8963904c19c4114ee517ec3d0ca89077d9eb47ba1367419af02c37b94e
|
|
BLAKE2b-256 checksum How to use checksums |
6c12c28ad001d9a79941f4081f221678fecb1c82d6b78d6e31f13857fe90584d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / planegcs-0.9.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | planegcs-0.9.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 490.3 kB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
89c612e6a2249a012d4deb0ed3a9e183eec1eaedb6b1db743b4533adb05a38f6
|
|
BLAKE2b-256 checksum How to use checksums |
bc172417c951faf4ebdb4f056b6fdb7b153b5764503d4d0f4b97bfba037e670f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / planegcs-0.9.6-cp313-cp313-win_amd64.whl
| Download URL | planegcs-0.9.6-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 599.7 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c1bcf1d8ba1185bc378490636629a69085501bbb4047bb247fb0a6488a464998
|
|
BLAKE2b-256 checksum How to use checksums |
55cea786321f72b39b7d3d97a921259fa8d72daaf9eb7b2acf09c4a3f0177fed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / planegcs-0.9.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | planegcs-0.9.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 491.1 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d0adcbfd02512f333a8b612a970f7c049e0777ed3260952330a39f897251a332
|
|
BLAKE2b-256 checksum How to use checksums |
9402d451cdbaa4ae8ed90fccb08c01dc8f9e1e81f1901c0e3e4c24970d0c8dc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / planegcs-0.9.6-cp312-cp312-win_amd64.whl
| Download URL | planegcs-0.9.6-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 599.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9043df16bd7e4447c61a19e1af45a946e5b2d137d99e831548ba96ac34448547
|
|
BLAKE2b-256 checksum How to use checksums |
f6c9420923249060d1fcb193ec5553093911c2e2fbf4c0cad59308029ff861c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / planegcs-0.9.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | planegcs-0.9.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 491.1 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
401c4fff5ccfe7ccde22c3426abc50b925f8858b38b2ecd23a077d690bcde63b
|
|
BLAKE2b-256 checksum How to use checksums |
025f10539359d348f62f943179554455eed5d0da0ce080200c1448e84643514f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log