This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.

Overview

Logo

Your own 3D parametric modeler

WebsiteDocumentationForumBug trackerGit repository

Release Master Crowdin Gitter Language grade: Python Liberapay

This project receives generous infrastructure support from

screenshot

Overview

  • Freedom to build what you want FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size. Parametric modeling allows you to easily modify your design by going back into your model history to change its parameters.

  • Create 3D from 2D and back FreeCAD lets you to sketch geometry constrained 2D shapes and use them as a base to build other objects. It contains many components to adjust dimensions or extract design details from 3D models to create high quality production-ready drawings.

  • Designed for your needs FreeCAD is designed to fit a wide range of uses including product design, mechanical engineering and architecture, whether you are a hobbyist, programmer, experienced CAD user, student or teacher.

  • Cross platform FreeCAD runs on Windows, macOS and Linux operating systems.

  • Underlying technology

    • OpenCASCADE A powerful geometry kernel, the most important component of FreeCAD
    • Coin3D library Open Inventor-compliant 3D scene representation model
    • Python FreeCAD offers a broad Python API
    • Qt Graphical user interface built with Qt

Installing

Precompiled (installable) packages are available for Windows and macOS on the Releases page.

On most Linux distributions, FreeCAD is directly installable from the software center application.

Other options are described at the wiki Download page.

Build Status

Master 0.18 Translation
Master 0.18 Crowdin

Compiling

Compiling FreeCAD requires installation of several libraries and their development files such as OCCT (Open Cascade), Coin and Qt, listed in the pages below. Once this is done, FreeCAD can be compiled with CMake. On Windows, these libraries are bundled and offered by the FreeCAD team in a convenient package. On Linux, they are usually found in your distribution's repositories, and on macOS and other platforms, you will usually have to compile them yourself.

The pages below contain up-to-date build instructions:

Reporting Issues

To report an issue please:

  • First post to forum to verify the issue;
  • Link forum thread to bug tracker ticket and vice-a-versa;
  • Use the most updated stable or development versions of FreeCAD;
  • Post version info from eg. Help > About FreeCAD > Copy to clipboard;
  • Post a Step-By-Step explanation on how to recreate the issue;
  • Upload an example file to demonstrate problem.

For more detail see:

Usage & Getting help

The FreeCAD wiki contains documentation on general FreeCAD usage, Python scripting, and development. These pages might help you get started:

The FreeCAD forum is also a great place to find help and solve specific problems you might encounter when learning to use FreeCAD.

Comments
  • Sketcher: Element widget rework.

    Sketcher: Element widget rework.

    See discuss here : https://forum.freecadweb.org/viewtopic.php?f=8&t=72239

    Thank you for creating a pull request to contribute to FreeCAD! To ease integration, we ask you to conform to the following items. Pull requests which don't satisfy all the items below might be rejected. If you are in doubt with any of the items below, don't hesitate to ask for help in the FreeCAD forum!

    • [ ] Your pull request is confined strictly to a single module. That is, all the files changed by your pull request are either in App, Base, Gui or one of the Mod subfolders. If you need to make changes in several locations, make several pull requests and wait for the first one to be merged before submitting the next ones
    • [ ] In case your pull request does more than just fixing small bugs, make sure you discussed your ideas with other developers on the FreeCAD forum
    • [ ] Your branch is rebased on latest master git pull --rebase upstream master
    • [ ] All FreeCAD unit tests are confirmed to pass by running ./bin/FreeCAD --run-test 0
    • [ ] All commit messages are well-written ex: Fixes typo in Draft Move command text
    • [ ] Your pull request is well written and has a good description, and its title starts with the module name, ex: Draft: Fixed typos
    • [ ] Commit messages include issue #<id> or fixes #<id> where <id> is the issue ID number from our Issues database in case a particular commit solves or is related to an existing issue. Ex: Draft: fix typos - fixes #4805

    And please remember to update the Wiki with the features added or changed once this PR is merged.
    Note: If you don't have wiki access, then please mention your contribution on the 1.0 Changelog Forum Thread.


    WB Sketcher 
    opened by PaddleStroke 122
  • Smesh upgrade and occ6 compatibility

    Smesh upgrade and occ6 compatibility

    This branch updates SMESH to version 7 and makes it compatibel with OCC version 6 builds. It adopts FreeCAD to the new SMESH behavior. It is the rebased version after latest FEM merges.

    opened by ickby 89
  • [0.20] PartDesign: Add true threads to the Hole feature

    [0.20] PartDesign: Add true threads to the Hole feature

    This PR adds possibility to make true threaded holes with the Hole feature (possible to e.g 3D print).

    Forum discussion: https://forum.freecadweb.org/viewtopic.php?f=34&t=54240

    It should work for all supported thread types both_direction_demo demo

    Todo

    • [x] Give the user possibility to tweak the clearance of the thread (important for 3D printing)
    • [x] Turn off auto-recompute when Model Thread is active. It is too slow if there are large hole patterns.
    • [x] Rename "Model Actual Thread" to simply "Model Thread" in the Ui
    • [x] Default threading depth to 3.5 x P from the hole bottom.
    • [x] Add UI support for specifying thread depth
    • [x] Add backend support for specifying thread depth
    • [x] Remove column 2 from hreadClass_ISOmetric_data
    • [x] Fix donovaly bug A
    • [x] Fix donovaly bug B
    • [x] Fix donovaly bug C
    • [x] Wait for PR #4134
    opened by davidosterberg 77
  • Sketcher: Constraint widget rework (issue #7518)

    Sketcher: Constraint widget rework (issue #7518)

    Problem : constraint widget is very large and ui is hard to understand.

    Discussions on the forum : https://forum.freecadweb.org/viewtopic.php?f=34&t=71595&start=20

    Offered solution : rework the ui to make it cleaner and easier to use.

    (Edit: No longer up to date. Please build to see end result.) PR content: video presenting result : https://forum.freecadweb.org/viewtopic.php?f=8&t=72238

    Thank you for creating a pull request to contribute to FreeCAD! To ease integration, we ask you to conform to the following items. Pull requests which don't satisfy all the items below might be rejected. If you are in doubt with any of the items below, don't hesitate to ask for help in the FreeCAD forum!

    • [ ] Your pull request is confined strictly to a single module. That is, all the files changed by your pull request are either in App, Base, Gui or one of the Mod subfolders. If you need to make changes in several locations, make several pull requests and wait for the first one to be merged before submitting the next ones
    • [ ] In case your pull request does more than just fixing small bugs, make sure you discussed your ideas with other developers on the FreeCAD forum
    • [ ] Your branch is rebased on latest master git pull --rebase upstream master
    • [ ] All FreeCAD unit tests are confirmed to pass by running ./bin/FreeCAD --run-test 0
    • [ ] All commit messages are well-written ex: Fixes typo in Draft Move command text
    • [ ] Your pull request is well written and has a good description, and its title starts with the module name, ex: Draft: Fixed typos
    • [ ] Commit messages include issue #<id> or fixes #<id> where <id> is the issue ID number from our Issues database in case a particular commit solves or is related to an existing issue. Ex: Draft: fix typos - fixes #4805

    And please remember to update the Wiki with the features added or changed once this PR is merged.
    Note: If you don't have wiki access, then please mention your contribution on the 1.0 Changelog Forum Thread.


    WB Sketcher 
    opened by PaddleStroke 71
  • [Sketcher] Constrain B-spline knots like any other point

    [Sketcher] Constrain B-spline knots like any other point

    These changes allow for B-spline knots to be treated like any general point in Sketcher. Thus, they can be dragged around and constrained.

    This PR is part of the B-spline constraint project.

    Testers Needed WB Sketcher 
    opened by AjinkyaDahale 64
  • [Sketcher] Constraint tangent at B-spline knot

    [Sketcher] Constraint tangent at B-spline knot

    With these changes, a line segment can be made tangent to a B-spline at a given knot. It also contains commits from #7484 since we need to constraint knot on to the line segment.

    This PR is part of the B-spline constraint project.

    See known issues here.

    WB Sketcher 
    opened by AjinkyaDahale 55
  • Sketcher: Split more curves

    Sketcher: Split more curves

    Supercedes PR #6494. I expect to make some major changes to the method for a bit more code-reuse, ~so it's best to keep that PR as is~.

    UPDATE [2 July 2022]: After the recent removal of DrawSketchHandlers from CommandCreateGeo.cpp into their own classes, I chose to drop #6494 and only rebase this one.

    Solves #5835.

    Known issues:

    1. Splitting parabolas makes constraints malformed. See issue #6969.
    WB Part WB Sketcher 
    opened by AjinkyaDahale 55
  • [macOS] Adding QuickLook feature

    [macOS] Adding QuickLook feature

    • [x] Your pull request is confined strictly to a single module. That is, all the files changed by your pull request are either in App, Base, Gui or one of the Mod subfolders. If you need to make changes in several locations, make several pull requests and wait for the first one to be merged before submitting the next ones

    The code is located in src/MacAppBundle/QuickLook so it does not interfere with other platforms or macOS command line builds

    • [x] In case your pull request does more than just fixing small bugs, make sure you discussed your ideas with other developers on the FreeCAD forum

    This PR is in relation to Forum: New feature: Quicklook for macOS

    • [x] Your branch is rebased on latest master git pull --rebase upstream master
    • [x] All FreeCAD unit tests are confirmed to pass by running ./bin/FreeCAD --run-test 0

    This commit has no impact on the actual app. Also I will need hep at some point to build a full app on macOS Monterey.

    • [x] All commit messages are well-written ex: Fixes typo in Draft Move command text
    • [x] Your pull request is well written and has a good description, and its title starts with the module name, ex: Draft: Fixed typos

    And please remember to update the Wiki with the features added or changed once this PR is merged.
    Note: If you don't have wiki access, then please mention your contribution on the 1.0 Changelog Forum Thread.

    Will do.

    Feature OS: macOS 
    opened by MatthiasWM 48
  • Path: Block operation recompute on task panel cancel [Bug]

    Path: Block operation recompute on task panel cancel [Bug]

    This fix applies to standard operations and most dressups. I think that the fix applied here must be applied to all other ViewProvider enabled actions if the cancel button is to block a recompute for those actions. The implementation is fairly simple. This implementation is triggers the cancel only on the GUI side. There is not really an intended use for cancelling recomputes in scripting or command-line usage of FreeCAD.

    This fix effectively flags the execute() method of the Proxy to return prematurely before updating any obj properties, leaving the source obj unchanged from its state prior to the aborted edit transaction started and ended in the task panel.

    This is a long-standing bug or nuisance, especially with the often long-lasting 3D Surface computations.

    Forum mention at:

    Again, this PR does not fix the issue for all actions in Path workbench, just the standard operations based on PathOp & PathOpGui modules. Dressups and other actions will have to be fixed individually.

    Thanks to @J-Dunn, @mlampert, and many others for mentioning this bug on numerous occasions. I think this PR will be the beginning of the end for recomputes on cancel in task panels!

    Steps to reproduce bug:

    • Create a big part, or small part if you have 3D Surface active.
    • Create an operation (3D Surface or Adaptive work great for this) that takes a while (10 - 30 seconds) to compute, and save it.
    • Double click on the operation in the object tree to edit using the task panel.
    • Make changes if you like and apply them, but that might take some time (haha!). ... Or do not for this example.
    • Click the Cancel button.
    • The operation will recompute upon exiting the task panel.

    Thank you for creating a pull request to contribute to FreeCAD! To ease integration, we ask you to conform to the following items. Pull requests which don't satisfy all the items below might be rejected. If you are in doubt with any of the items below, don't hesitate to ask for help in the FreeCAD forum!

    • [x] Your pull request is confined strictly to a single module. That is, all the files changed by your pull request are either in App, Base, Gui or one of the Mod subfolders. If you need to make changes in several locations, make several pull requests and wait for the first one to be merged before submitting the next ones
    • [x] In case your pull request does more than just fixing small bugs, make sure you discussed your ideas with other developers on the FreeCAD forum
    • [x] Your branch is rebased on latest master git pull --rebase upstream master
    • [x] All FreeCAD unit tests are confirmed to pass by running ./bin/FreeCAD --run-test 0
    • [x] All commit messages are well-written ex: Fixes typo in Draft Move command text
    • [x] Your pull request is well written and has a good description, and its title starts with the module name, ex: Draft: Fixed typos
    • [ ] Commit messages include issue #<id> or fixes #<id> where <id> is the issue ID number from our Issues database in case a particular commit solves or is related to an existing issue. Ex: Draft: fix typos - fixes #4805

    And please remember to update the Wiki with the features added or changed once this PR is merged.
    Note: If you don't have wiki access, then please mention your contribution on the 0.20 Changelog Forum Thread.


    WB Path 
    opened by Russ4262 46
  • Next31TechDrawTools

    Next31TechDrawTools

    Thank you for creating a pull request to contribute to FreeCAD! To ease integration, we ask you to conform to the following items. Pull requests which don't satisfy all the items below might be rejected. If you are in doubt with any of the items below, don't hesitate to ask for help in the FreeCAD forum!

    • [ ] Your pull request is confined strictly to a single module. That is, all the files changed by your pull request are either in App, Base, Gui or one of the Mod subfolders. If you need to make changes in several locations, make several pull requests and wait for the first one to be merged before submitting the next ones
    • [ ] In case your pull request does more than just fixing small bugs, make sure you discussed your ideas with other developers on the FreeCAD forum
    • [ ] Your branch is rebased on latest master git pull --rebase upstream master
    • [ ] All FreeCAD unit tests are confirmed to pass by running ./bin/FreeCAD --run-test 0
    • [ ] All commit messages are well-written ex: Fixes typo in Draft Move command text
    • [ ] Your pull request is well written and has a good description, and its title starts with the module name, ex: Draft: Fixed typos
    • [ ] Commit messages include issue #<id> or fixes #<id> where <id> is the FreeCAD bug tracker issue number in case a particular commit solves or is related to an existing issue on the tracker. Ex: Draft: fix typos - fixes #0004805

    And please remember to update the Wiki with the features added or changed once this PR is merged.
    Note: If you don't have wiki access, then please mention your contribution on the 0.20 Changelog Forum Thread.


    WB TechDraw 
    opened by edi271 44
  • [PD] add feature to create tapered Pad / Pocket

    [PD] add feature to create tapered Pad / Pocket

    This PR adds support for tapered extrudes.

    This was from time to time requested in the forum since other CAD programs and also Pad's Extrusion provides this feature.

    Forum thread to discuss it: https://forum.freecadweb.org/viewtopic.php?f=17&t=65124

    Here is it in action: FreeCAD_phD8DANHBv

    The PR treats Pad and Pocket the same way, so Pocket has the same feature: FreeCAD_fzqdB1cbDr

    WB PartDesign 
    opened by donovaly 43
  • improve unit testing directory structure

    improve unit testing directory structure

    Thank you for creating a pull request to contribute to FreeCAD! Place an "X" in between the brackets below to "check off" to confirm that you have satisfied the requirement, or ask for help in the FreeCAD forum if there is something you don't understand.

    • [ x] Your Pull Request meets the requirements outlined in section 5 of CONTRIBUTING.md for a Valid PR

    Please remember to update the Wiki with the features added or changed once this PR is merged.
    Note: If you don't have wiki access, then please mention your contribution on the 1.0 Changelog Forum Thread.


    Second attempt. See #8078

    Core 
    opened by berniev 1
  • Fix selection in sketcher development/toponaming

    Fix selection in sketcher development/toponaming

    https://forum.freecadweb.org/viewtopic.php?p=650988#p650988

    • The function ViewProviderSketch::isSelected should not modifiy its incoming parameter
    • ViewProviderSketch::rmvSelection, ViewProviderSketch::addSelection, ViewProviderSketch::addSelection2 have not called the convertSubName function.
    • Should the convertSubName not be called inside the function ViewProviderSketch::mouseButtonPressed, because now the convertSubName is called two times?
    WB Sketcher Toponaming 
    opened by jerome992 1
  • Arch: improve context menus

    Arch: improve context menus

    This PR tries to improve the context menus of Arch objects. Similar to what was previously done for Draft objects, see #7970.

    Small improvement related to #6215: The BIM Workbench gets loaded only once per session when double clicking components.

    • [ ] Your Pull Request meets the requirements outlined in section 5 of CONTRIBUTING.md for a Valid PR

    WB Arch WB Draft 
    opened by Roy-043 1
  • Notification Area - Non-Intrusive notifications

    Notification Area - Non-Intrusive notifications

    DRAFT PR! DO NOT MERGE! Not intended for code review!

    The intention of this PR is to be a kind of proof of concept and provide a basis for discussion of whether we need something like this or not.

    Problems:

    1. Users have complained in the past that they are not notified of issues that may impact the ability to open with an older version of FreeCAD a file saved with a newer version of FreeCAD (Forward compability issues).
    2. While running FreeCAD, many users prefer not to have the report window open (as it takes quite some space), but then they may miss notifications about errors and warnings that may be useful.
    3. While running FreeCAD, many notifications of errors where the user can do nothing, but press ok, are modal (blocking) and interrupt the workflow.
    4. In many errors/warnings it is not clear where the error originates. This is specially problematic when opening a file.

    Solution: (a) FreeCAD has a error/warning/message mechanism in place (Console based). (b) FreeCAD has a user Message signaling mechanism which can be used to require confirmation from a user for (1).

    The solution here seeks to implement a Notification Area in the statusbar at Application level, so that it can gather notifications from different documents [to solve (4)]. It extends (a) and (b), so that both can provide a "notifier" field. This notifier field can be the fullname of a Document or DocumentObject, or any string usable for identifying the notifier within the Application [to solve (4)]. Both (a) and (b) feed the Notification Area. The notification Area is a single button in the tool bar which makes accessible all notifications upon clicking on it [in order to address the space issue in (2)]. New notifications (error/warning/messages) are briefly shown, in a look similar to a tooltip, via a non-intrusive non-modal auto-closing widget over the Notification Area [addressing (2) and (3)]. The idea is to also integrate user messages into this system and do away with blocking modal dialogs (the Sketcher is full of them) [addressing (3)]. Well, "do away" may mean "provide the user with a preference to choose between non-intrusive non-blocking and intrusive blocking".

    The solution described is an early basic implementation for discussion.

    NotificationArea.webm

    Tooltip alike non-intrusive auto-closing notification: image

    Notifications widget: image

    Core WB Sketcher WB Test 
    opened by abdullahtahiriyo2 4
  • [Issue] visual bug in some std base menu buttons

    [Issue] visual bug in some std base menu buttons

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Forums discussion

    https://forum.freecadweb.org/viewtopic.php?p=650783#p650783

    Version

    0.21 (Development)

    Full version info

    [code]
    OS: Windows 10 Version 2009
    Word size of FreeCAD: 64-bit
    Version: 0.21.0.31432 (Git)
    Build type: Release
    Branch: master
    Hash: 63a2855751d638bf27ed969dc60654bda2b54baf
    Python 3.10.8, Qt 5.15.4, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
    Locale: English/United States (en_US) [ OS: Spanish/Spain (es_ES) ]
    Installed mods: 
      * Assembly4 0.12.4
      * BIM 2021.12.0
      * Curves 0.6.1
      * DynamicData 2.46.0
      * fasteners 0.4.24
      * fcgear 1.0.0
      * Help 1.0.3
      * InvGears 0.1.2
      * lattice2 1.0.0
      * Manipulator 1.4.9
      * ratchetWB 0.1.0
      * Render 2022.2.0
      * sheetmetal 0.2.59
      * Woodworking 0.21.30486
    [/code]
    

    Subproject(s) affected?

    Other (specify in description)

    Issue description

    bug_highlighted_buttons

    The buttons marked in the image above, when clicking on them turn highlighted and stays in that way until clicked on them again. The all buttons functionality is ok, each press triggers the command, it's just a minor visual inconvenience.

    The "Tree view actions" button seems to work fine, but the button's highlighting doesn't actually correspond to the actions being checked on/off.

    The SelBoundingBox button Std_SelBoundingBox has the same behaviour, but in this case, everything is OK.

    In FreeCAD 0.20.2 all works fine.

    Anything else?

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    opened by HeronFlight 0
  • [Issue] Detecting contiguous object in Part Design fails if linking object is replaced by a new one

    [Issue] Detecting contiguous object in Part Design fails if linking object is replaced by a new one

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Forums discussion

    No response

    Version

    0.20 (Release)

    Full version info

    [code]
    OS: Windows 10 Version 2009
    Word size of FreeCAD: 64-bit
    Version: 0.20.1.29410 (Git)
    Build type: Release
    Branch: releases/FreeCAD-0-20
    Hash: f5d13554ecc7a456fb6e970568ae5c74ba727563
    Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.3
    Locale: English/Australia (en_AU)
    Installed mods: 
      * ExtremeProDark 2.6.4
    [/code]
    

    Subproject(s) affected?

    PartDesign

    Issue description

    In Part Design, do the following:

    1. Create a sketch with a simple rectangle (Call it A)
    2. Use the pad tool to make it into a solid.
    3. Create a new sketch with a second rectangle (call it B) that is separated from the first (so there are now two non-contiguous objects)
    4. Try and use the pad tool to make the second rectangle into a solid. As expected, it fails because there are now multiple solids.
    5. Create a new sketch with a third rectangle (call it C) that bridges/joins the first two.
    6. Use the pad tool to make C into a solid.
    7. This then allows you to use the pad tool on B to make it into a solid as expected, because there is now one contiguous object.
    8. We now have a solid consisting of A+B+C.
    9. Create a new sketch with a fourth rectangle (call it D) that also joins the original two rectangles (A & B).
    10. Use the pad tool to make D into a solid. As expected, we now have four solids (A+B+C+D), all joined together.
    11. Delete the third pad & sketch (C), so that the first and second objects (A & B) are now only joined by the fourth rectangle (D).
    12. The pad on B now shows an error about multiple solids, even though A & B are joined together by D.
    13. The only way to fix this (that I have found) is to delete and re-create the pad on B which then seems to "notice" that D exists.

    The expected behaviour would be for any subsequent "bridges" which join two non-contiguous parts to be taken into account if the original "bridge" is deleted.

    Anything else?

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    opened by ma261065 2
Releases(0.20.2)
Owner
FreeCAD
The FreeCAD project
FreeCAD
A utility for quickly cropping large collections of images.

Crop Tool A utility for quickly cropping large collections of images. Inspired by Derrick Schultz's dataset-tools. Setup It's suggested that you use A

dusk (they/them) 6 Nov 14, 2021
Python Digital Art Generator

Python Digital Art Generator The main goal of this repository is to generate all possible layers permutations given by the user in order to get unique

David Cuentas Mar 3 Mar 12, 2022
Ascify-Art - An easy to use, GUI based and user-friendly colored ASCII art generator from images!

Ascify-Art This is a python based colored ASCII art generator for free! How to Install? You can download and use the python version if you want, modul

Akash Bora 14 Dec 31, 2022
A Python package implementing various CFA (Colour Filter Array) demosaicing algorithms and related utilities.

Colour - Demosaicing A Python package implementing various CFA (Colour Filter Array) demosaicing algorithms and related utilities. It is open source a

colour-science 218 Dec 04, 2022
This Github Action automatically creates a GIF from a given web page to display on your project README

This Github Action automatically creates a GIF from a given web page to display on your project README

Pablo Lecolinet 28 Dec 15, 2022
A simple image to text converter with GUI!

TEXTEMAGE! Textemage is a quick tool that extracts text from images, it is a Python based GUI program(also available in executable version). This is a

Akascape 5 Oct 26, 2022
A quick and dirty QT Statusbar implementation for grabbing GIFs from Tenor, since there is no offical or unofficial one I found. This was intended for use under Linux, however it was also functional enough on MacOS.

Statusbar-TenorGIF App for Linux A quick and dirty QT Statusbar implementation for grabbing GIFs from Tenor, since there is no offical one and I didnt

Luigi DaVinci 1 Nov 01, 2021
Img-to-ascii-art - Converter of image to ascii art

img-to-ascii-art Converter of image to ascii art Latest Features. Intoducing Col

1 Dec 31, 2021
A suite of useful tools based on 3D interactivity in napari

napari-threedee A suite of useful tools based on 3D interactivity in napari This napari plugin was generated with Cookiecutter using @napari's cookiec

11 Dec 14, 2022
NFT collection generator. Generates layered images

NFT collection generator Generates layered images, whole collections. Provides additional functionality. Repository includes three scripts generate.py

Gleb Gonchar 10 Nov 15, 2022
hashmask reverse lookup

ImageHashMasks Lookup Hashmask NFT index from a picture Setup pip install pillow click imagehash Usage $ python imagehashmasks.py

17 Nov 29, 2021
CadQuery is an intuitive, easy-to-use Python module for building parametric 3D CAD models.

A python parametric CAD scripting framework based on OCCT

1.9k Dec 30, 2022
Converting Images Into Minecraft Houses

Converting Images Into Minecraft Houses In this particular project, we turned a 2D Image into Minecraft pixel art and then scaled it in 3D such that i

Mathias Oliver Valdbjørn Jørgensen 1 Feb 02, 2022
python app to turn a photograph into a cartoon

Draw This. Draw This is a polaroid camera that draws cartoons. You point, and shoot - and out pops a cartoon; the camera's best interpretation of what

Dan Macnish 2k Dec 19, 2022
Make your master artistic punk avatar through machine learning world famous paintings

Master-art-punk Make your master artistic punk avatar through machine learning world famous paintings. 通过机器学习世界名画制作属于你的大师级艺术朋克头像 Nowadays, NFT is beco

蒋虎成 23 Jan 04, 2022
Image manipulation package used for EpicBot.

Image manipulation package used for EpicBot.

Nirlep_5252_ 7 May 26, 2022
Python script to generate vector graphics of an oriented lattice unit cell

unitcell Python script to generate vector graphics of an oriented lattice unit cell Examples unitcell --type hexagonal --eulers 12 23 34 --axes --crys

Philip Eisenlohr 2 Dec 10, 2021
A minimal, standalone viewer for 3D animations stored as stop-motion sequences of individual .obj mesh files.

ObjSequenceViewer V0.5 A minimal, standalone viewer for 3D animations stored as stop-motion sequences of individual .obj mesh files. Installation: pip

csmailis 2 Aug 04, 2022
The ctypes-based simple ImageMagick binding for Python

Wand Wand is a ctypes-based simple ImageMagick binding for Python, supporting 2.7, 3.3+, and PyPy. All functionalities of MagickWand API are implement

Eric McConville 1.2k Dec 30, 2022
QR-code Generator with a basic GUI.

Qr_generator_python Qr code generator with a basic GUI. ❔ About the QR-Code-Generator This project Generates QR codes to sites, e-mails and plain text

Tecixck 2 Oct 11, 2021