Awesome Open Source
Awesome Open Source



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

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

support-version PyPI version Documentation Status


  • 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),

# create and solve constraints
		Tangent(line[0], line[1], A),   
		Tangent(line[1], line[2], C),   
		Radius(line[1], 1.5),           
	], fixed=[O])

# generate surfaces
part = extrusion(vec3(0,0,1), web(line))

# display in a 3D scene

The result will be this window example-window


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-2021 Yves Dejonghe [email protected]

This library is distributed under the LGPL-v3 license. A copy of that license is provided with this software.

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (819,784
3d Graphics (17,894
Gui (16,294
Qt (12,301
Rendering (8,352
Mesh (6,423
Geometry (4,377
Engineer (2,950
Cad (1,434
Parametric (1,048
3d Printing (977
Kinematics (727