All Projects → jimy-byerley → pymadcad

jimy-byerley / pymadcad

Licence: LGPL-3.0 License
Simple yet powerful CAD (Computer Aided Design) library, written with Python.

Programming Languages

python
139335 projects - #7 most used programming language
GLSL
2045 projects
cython
566 projects

Projects that are alternatives of or similar to pymadcad

classy blocks
Python classes for easier creation of OpenFOAM's blockMesh dictionaries.
Stars: ✭ 53 (-15.87%)
Mutual labels:  geometry, modeling, mesh
Building Blocks
A voxel library for real-time applications.
Stars: ✭ 140 (+122.22%)
Mutual labels:  geometry, rendering, mesh
Dotscad
Reduce the burden of mathematics when playing OpenSCAD
Stars: ✭ 344 (+446.03%)
Mutual labels:  geometry, cad, 3d-printing
paramak
Create parametric 3D fusion reactor CAD and neutronics models
Stars: ✭ 40 (-36.51%)
Mutual labels:  geometry, cad
fem mesh matlab
MATLAB Toolbox for Handling 2D and 3D FEM Meshes
Stars: ✭ 23 (-63.49%)
Mutual labels:  mesh, 3d-printing
t8code
Parallel algorithms and data structures for tree-based AMR with arbitrary element shapes.
Stars: ✭ 37 (-41.27%)
Mutual labels:  modeling, mesh
rhioCAD
CAD, based on OpenCascade. parametric, parametric 3D modeler. Fork of NaroCAD.
Stars: ✭ 42 (-33.33%)
Mutual labels:  cad, 3d-printing
scikit-robot
A Flexible Framework for Robot Control in Python
Stars: ✭ 70 (+11.11%)
Mutual labels:  geometry, kinematics
TriangleMeshDistance
Header only, single file, simple and efficient C++11 library to compute the signed distance function (SDF) to a triangle mesh
Stars: ✭ 55 (-12.7%)
Mutual labels:  geometry, mesh
BodyParts3D
Clone of the BodyParts3D/Anatomography 3D model files
Stars: ✭ 32 (-49.21%)
Mutual labels:  geometry, 3d-printing
QPrompt
Personal teleprompter software for all video creators. Built with ease of use, productivity, control accuracy, and smooth performance in mind.
Stars: ✭ 168 (+166.67%)
Mutual labels:  kinematics, qt5
MidcurveNN
Computation of Midcurve of Thin Polygons using Neural Networks
Stars: ✭ 19 (-69.84%)
Mutual labels:  geometry, cad
xcsg
XML based Constructive Solid Geometry based on carve
Stars: ✭ 24 (-61.9%)
Mutual labels:  cad, 3d-printing
paramak
Create parametric 3D fusion reactor CAD models
Stars: ✭ 36 (-42.86%)
Mutual labels:  geometry, cad
OpenSCAD connectors
Simple, parametric APIs for connectors such as corner brackets and t-joints. Specializing on connectors for aluminum extrusion connectors.
Stars: ✭ 29 (-53.97%)
Mutual labels:  cad, 3d-printing
Matgeom
Matlab geometry toolbox for 2D/3D geometric computing
Stars: ✭ 168 (+166.67%)
Mutual labels:  geometry, mesh
Hole fixer
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
Stars: ✭ 165 (+161.9%)
Mutual labels:  geometry, mesh
geometry sketcher
Constraint-based geometry sketcher for blender
Stars: ✭ 1,119 (+1676.19%)
Mutual labels:  geometry, modeling
Gismo
G+Smo (pronounced gismo or gizmo) is a C++ library for isogeometric analysis (IGA). Geometry plus simulation modules aims at the seamless integration of Computer-aided Design (CAD) and Finite Element Analysis (FEA).
Stars: ✭ 152 (+141.27%)
Mutual labels:  geometry, cad
Elm Geometry
2D/3D geometry package for Elm
Stars: ✭ 162 (+157.14%)
Mutual labels:  geometry, cad

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

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(vec3(0,0,1), web(line))

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].