{"id":23117584,"url":"https://github.com/jimy-byerley/pymadcad","last_synced_at":"2025-04-05T08:07:09.629Z","repository":{"id":41136721,"uuid":"284474546","full_name":"jimy-byerley/pymadcad","owner":"jimy-byerley","description":" Simple yet powerful CAD (Computer Aided Design) library, written with Python.","archived":false,"fork":false,"pushed_at":"2024-04-07T19:13:07.000Z","size":44155,"stargazers_count":192,"open_issues_count":18,"forks_count":14,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-04-07T20:25:16.533Z","etag":null,"topics":["3d","3d-printing","cad","engineers","geometry","gui","kinematics","library","madcad","mesh","modeling","python","qt","rendering"],"latest_commit_sha":null,"homepage":"https://madcad.netlify.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jimy-byerley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-08-02T14:10:57.000Z","updated_at":"2024-04-07T20:25:18.980Z","dependencies_parsed_at":"2023-02-18T10:16:55.697Z","dependency_job_id":"22153368-43e4-4a99-a96b-675c54006e6c","html_url":"https://github.com/jimy-byerley/pymadcad","commit_stats":{"total_commits":1126,"total_committers":7,"mean_commits":"160.85714285714286","dds":0.261101243339254,"last_synced_commit":"fdad0a0735339be090553a5bd5c2b7ddee08c6b6"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimy-byerley%2Fpymadcad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimy-byerley%2Fpymadcad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimy-byerley%2Fpymadcad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimy-byerley%2Fpymadcad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimy-byerley","download_url":"https://codeload.github.com/jimy-byerley/pymadcad/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305934,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","3d-printing","cad","engineers","geometry","gui","kinematics","library","madcad","mesh","modeling","python","qt","rendering"],"created_at":"2024-12-17T04:22:43.866Z","updated_at":"2025-04-05T08:07:09.606Z","avatar_url":"https://github.com/jimy-byerley.png","language":"Python","funding_links":[],"categories":["Python - Simulation Connection"],"sub_categories":["2018"],"readme":"![madcad-logo](docs/logo.png)\n\n# Py-MADCAD\n\n*\u003e\u003e\u003e it's time to throw parametric softwares out !*\n\nSimple yet powerful CAD (Computer Aided Design) library, written with Python.\n\n- [Official website](https://madcad.netlify.app)\n- [Installation](https://pymadcad.readthedocs.io/en/latest/installation.html)\n- [Documentation](https://pymadcad.readthedocs.io/)\n- [Repository](https://github.com/jimy-byerley/pymadcad)\n- [Matrix community](https://matrix.to/#/#madcad:matrix.org)\n\n[![support-version](https://img.shields.io/pypi/pyversions/pymadcad.svg)](https://img.shields.io/pypi/pyversions/pymadcad)\n[![PyPI version shields.io](https://img.shields.io/pypi/v/pymadcad.svg)](https://pypi.org/project/pymadcad/)\n[![Documentation Status](https://readthedocs.org/projects/pymadcad/badge/?version=latest)](https://pymadcad.readthedocs.io/en/latest/?badge=latest)\n[![#madcad:matrix.org](https://img.shields.io/matrix/madcad:matrix.org.svg)](https://matrix.to/#/#madcad:matrix.org)\n\n## Features\n\n- surface generation (3D sketch primitives, extrusion, revolution, inflation, tubes, ...)\n- fast boolean operations\n- common mesh file format import/export\n- kinematic manipulation\n- implicit geometry definition through the constraint/solver system\n- objects display with high-quality graphics\n\n![example-bearing](examples/bearing.png)\n\nCheckout some [complete examples](examples)\n\n\n## Sample usage\n\n```python\nfrom madcad import *\n\n# define points\nO = vec3(0)\nA = vec3(2,0,0)\nB = vec3(1,2,0)\nC = vec3(0,2,0)\n\n# create a list of primitives\nline = [\n\tSegment(O, A),          \n\tArcThrough(A, B, C),\n\tSegment(C,O),           \n\t]\n\n# create and solve constraints\nsolve([\n\t\tTangent(line[0], line[1], A),   \n\t\tTangent(line[1], line[2], C),   \n\t\tRadius(line[1], 1.5),           \n\t], fixed=[O])\n\n# generate surfaces\npart = extrusion(line, vec3(0,0,1))\n\n# display in a 3D scene\nshow([part])\n```\n\nThe result will be this window\n![example-window](docs/screenshots/readme-example.png)\n\n\n## About\n\nMADCAD 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 \n[comparison](https://pymadcad.readthedocs.io/en/latest/concepts.html#comparison-with-existing-cad-softwares) \nfor more details.\n\n## License   ![LGPL logo](https://www.gnu.org/graphics/lgplv3-88x31.png)\n\nCopyright 2019-2023 Yves Dejonghe \u003cjimy.byerley@gmail.com\u003e\n\nThis library is distributed under the LGPL-v3 license. A copy of that license is provided with this software.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimy-byerley%2Fpymadcad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimy-byerley%2Fpymadcad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimy-byerley%2Fpymadcad/lists"}