jimy-byerley / pymadcad

Simple yet powerful CAD (Computer Aided Design) library, written with Python.
https://madcad.netlify.app/
GNU Lesser General Public License v3.0
211 stars 17 forks source link
3d 3d-printing cad engineers geometry gui kinematics library madcad mesh modeling python qt rendering

madcad-logo

Py-MADCAD

>>> it's time to throw parametric softwares out !

Simple yet powerful CAD (Computer Aided Design) library, written with Python.

support-version PyPI version shields.io Documentation Status #madcad:matrix.org

Features

example-bearing

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 example-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 LGPL logo

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.