Skip to main content

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

Project description

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

  • 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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymadcad-0.19.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymadcad-0.19.1-cp311-cp311-manylinux_2_36_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.36+ x86-64

File details

Details for the file pymadcad-0.19.1.tar.gz.

File metadata

  • Download URL: pymadcad-0.19.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.2 Linux/6.1.0-33-amd64

File hashes

Hashes for pymadcad-0.19.1.tar.gz
Algorithm Hash digest
SHA256 d56ea5946b46d80e69295db3fcb69697d3df1432f878a0ba62e1ded6ee29c8f9
MD5 420b9b6d063cd5b073e963a4869bbce1
BLAKE2b-256 eb146fcd8e5d753993098d3bc62142c27cadd686ea759bd1f144a1fd0ffcbca7

See more details on using hashes here.

File details

Details for the file pymadcad-0.19.1-cp311-cp311-manylinux_2_36_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.19.1-cp311-cp311-manylinux_2_36_x86_64.whl
Algorithm Hash digest
SHA256 1bdabc35e11c49c06ebfdcfdf39e8e1034b97d86fb6aec7e75a50bedd8f7c599
MD5 b7b602b0ac017e9626b05a4a54044626
BLAKE2b-256 1630571dd1718098da314a14de66fb5c481c877408687952c8ab7523214c312c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page