Simple yet powerful CAD (Computer Aided Design) library, written with Python
Project description
Py-MADCAD
>>> it's time to throw parametric softwares out !
Simple yet powerful CAD (Computer Aided Design) library, written with Python.
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
Checkout some complete examples
Sample usage
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
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 for more details.
License
Copyright 2019-2023 Yves Dejonghe jimy.byerley@gmail.com
This library is distributed under the LGPL-v3 license. A copy of that license is provided with this software.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pymadcad-0.18.0.tar.gz
.
File metadata
- Download URL: pymadcad-0.18.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e0c377b86eb295ebb213cc99d6ecbd0f60ef685ffea0bad533fca7d176135c5 |
|
MD5 | e601107eec22ef28ecf297bab8902052 |
|
BLAKE2b-256 | 3f271c1ab9aaa4f36eb1626432561b04dc64c0938cbd2290b103627e29f56864 |