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
Generates images of calendar month tables and can paste them onto suitable photos.

📆 calendizer README Generates images of calendar month tables and can paste them onto suitable photos. A quick way to make your own calendar for prin

Sean Ryan 2 Dec 14, 2022
An agnostic Canvas API for the browser-less and insane

Apollo An agnostic Canvas API for the browser-less and mildly insane. Project Apollo is a Pythonic re-imagining of HTML Canvas element implementati

1 Jan 13, 2022
A Icon Maker GUI Made - Convert your image into icon ( .ico format ).

Icon-Maker-GUI A Icon Maker GUI Made Using Python 3.9.0 . It will take any image and convert it to ICO file, for web site favicon or Windows applicati

Insanecodes 12 Dec 15, 2021
A sketch like(?) effect for images

lineArt A sketch like(?) effect for images How to run main.py [filename] [option {1,2}] option 1 retains colour option 2 gives gray image #results ori

1 Oct 28, 2021
Validate arbitrary image uploads from incoming data urls while preserving file integrity but removing EXIF and unwanted artifacts and RCE exploit potential

Validate arbitrary base64-encoded image uploads as incoming data urls while preserving image integrity but removing EXIF and unwanted artifacts and mitigating RCE-exploit potential.

A3R0 1 Jan 10, 2022
A large-scale dataset of both raw MRI measurements and clinical MRI images

fastMRI is a collaborative research project from Facebook AI Research (FAIR) and NYU Langone Health to investigate the use of AI to make MRI scans faster. NYU Langone Health has released fully anonym

Facebook Research 907 Jan 04, 2023
Image2scan - a python program that can be applied on an image in order to get a scan of it back

image2scan Purpose image2scan is a python program that can be applied on an image in order to get a scan of it back. For this purpose, it searches for

Kushal Shingote 2 Feb 13, 2022
With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen

Oraxen-item-to-yml With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen How to use Install the

Akex 1 Dec 29, 2021
Python Interface of P3D

pyp3d 介绍: pyp3d是一个可在python上使用的工具包,它提供了一种可使用python脚本驱动创建模型的方法,为三维建模提供了全新的思路。 pyp3d中定义了一系列建模相关的必要的数据类型,例如球体、圆锥台、四棱锥台、 拉伸体、圆角管等几何体,pyp3d还提供了许多函数来实现放置集合体、

20 Sep 07, 2022
Raven is a tool written in Python3 allowing you to generate an unique image with some text.

🐦 Raven is a tool written in Python3 allowing you to generate an unique image with some text. It does it by searching the text on Google, do

Billy 39 Dec 20, 2022
A not exist person image generator python module

A not exist person image generator python module

Fayas Noushad 2 Dec 03, 2021
Combinatorial image generator for generative NFT art.

ImageGen Stitches multiple image layers together into one image. Run usage: stitch.py [-h] backgrounds_dir dinos_dir traits_dir texture_file

Dinosols NFT 19 Sep 16, 2022
A python script for extracting/removing exif data from images by @AbirHasan2005

Image-Exif A Python script for extracting exif metadata from images. How to use? Using this script you can extract exif data from image and save in .c

Abir Hasan 13 Dec 16, 2022
A tool to maintain an archive/mirror of your Google Photos library for backup purposes.

Google Photos Archiver Updated Instructions 8/9/2021 Version 2.0.6 Instructions: Download the script (exe or python script listed below) Follow the in

Nick Dawson 116 Jan 03, 2023
Convert a DOS Punk image to text

DOS Punk Text Inspired by MAX CAPACITY's DOS Punks & the amazing DOS Punk community. DOS Punk Text is a Python 3 script that renders a DOS Punk image

4 Jan 13, 2022
Steganography Image/Data Injector.

Byte Steganography Image/Data Injector. For artists or people to inject their own print/data into their images. TODO Add more file formats to support.

Ori 4 Nov 16, 2022
Find target hash collisions for Apple's NeuralHash perceptual hash function.💣

neural-hash-collider Find target hash collisions for Apple's NeuralHash perceptual hash function. For example, starting from a picture of this cat, we

Anish Athalye 630 Jan 01, 2023
pix2tex: Using a ViT to convert images of equations into LaTeX code.

The goal of this project is to create a learning based system that takes an image of a math formula and returns corresponding LaTeX code.

Lukas Blecher 2.6k Dec 30, 2022
Computer art based on joining transparent images

Computer Art There is no must in art because art is free. Introduction The following tutorial exaplains how to generate computer art based on a series

Computer Art 12 Jul 30, 2022
LabelMe annotation tool source code

LabelMe annotation tool source code Here you will find the source code to install the LabelMe annotation tool on your server. LabelMe is an annotation

MIT CSAIL Computer Vision 1.3k Jan 03, 2023