Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jimy-byerley/pymadcad
Simple yet powerful CAD (Computer Aided Design) library, written with Python.
https://github.com/jimy-byerley/pymadcad
3d 3d-printing cad engineers geometry gui kinematics library madcad mesh modeling python qt rendering
Last synced: about 3 hours ago
JSON representation
Simple yet powerful CAD (Computer Aided Design) library, written with Python.
- Host: GitHub
- URL: https://github.com/jimy-byerley/pymadcad
- Owner: jimy-byerley
- License: lgpl-3.0
- Created: 2020-08-02T14:10:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-07T19:13:07.000Z (10 months ago)
- Last Synced: 2024-04-07T20:25:16.533Z (10 months ago)
- Topics: 3d, 3d-printing, cad, engineers, geometry, gui, kinematics, library, madcad, mesh, modeling, python, qt, rendering
- Language: Python
- Homepage: https://madcad.netlify.app/
- Size: 42.1 MB
- Stars: 192
- Watchers: 8
- Forks: 14
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
![madcad-logo](docs/logo.png)
# Py-MADCAD
*>>> it's time to throw parametric softwares out !*
Simple yet powerful CAD (Computer Aided Design) library, written with Python.
- [Official website](https://madcad.netlify.app)
- [Installation](https://pymadcad.readthedocs.io/en/latest/installation.html)
- [Documentation](https://pymadcad.readthedocs.io/)
- [Repository](https://github.com/jimy-byerley/pymadcad)
- [Matrix community](https://matrix.to/#/#madcad:matrix.org)[![support-version](https://img.shields.io/pypi/pyversions/pymadcad.svg)](https://img.shields.io/pypi/pyversions/pymadcad)
[![PyPI version shields.io](https://img.shields.io/pypi/v/pymadcad.svg)](https://pypi.org/project/pymadcad/)
[![Documentation Status](https://readthedocs.org/projects/pymadcad/badge/?version=latest)](https://pymadcad.readthedocs.io/en/latest/?badge=latest)
[![#madcad:matrix.org](https://img.shields.io/matrix/madcad:matrix.org.svg)](https://matrix.to/#/#madcad:matrix.org)## Features
- surface generation (3D sketch primitives, extrusion, revolution, inflation, tubes, ...)
- fast boolean operations
- common mesh file format import/export
- kinematic manipulation
- implicit geometry definition through the constraint/solver system
- objects display with high-quality graphics![example-bearing](examples/bearing.png)
Checkout some [complete examples](examples)
## Sample usage
```python
from madcad import *# define points
O = vec3(0)
A = vec3(2,0,0)
B = vec3(1,2,0)
C = vec3(0,2,0)# create a list of primitives
line = [
Segment(O, A),
ArcThrough(A, B, C),
Segment(C,O),
]# create and solve constraints
solve([
Tangent(line[0], line[1], A),
Tangent(line[1], line[2], C),
Radius(line[1], 1.5),
], fixed=[O])# generate surfaces
part = extrusion(line, vec3(0,0,1))# display in a 3D scene
show([part])
```The result will be this window
![example-window](docs/screenshots/readme-example.png)## About
MADCAD is born from the idea that the current approach of parametric CADs for mechanical engineering is not the best possible. This library is part of a project targeting the best possible mechanical design tool for both engineers and handymen. See the
[comparison](https://pymadcad.readthedocs.io/en/latest/concepts.html#comparison-with-existing-cad-softwares)
for more details.## License ![LGPL logo](https://www.gnu.org/graphics/lgplv3-88x31.png)
Copyright 2019-2023 Yves Dejonghe
This library is distributed under the LGPL-v3 license. A copy of that license is provided with this software.