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 linear stairs generation add-on for Blender

Linear Stairs Generator Table of Contents Installation Usage Screenshots Important Notes Requirements Blender 3.0 or newer. Installation: Download a z

Elhanan Flesch 4 May 17, 2022
MetaStalk is a tool that can be used to generate graphs from the metadata of JPEG, TIFF, and HEIC images

MetaStalk About MetaStalk is a tool that can be used to generate graphs from the metadata of JPEG, TIFF, and HEIC images, which are tested. More forma

Cyb3r Jak3 1 Jul 05, 2021
DP2 graph edit codes.

必要なソフト・パッケージ Python3 Numpy JSON Matplotlib 動作確認環境 MacBook Air M1 Python 3.8.2 (arm64) Numpy 1.22.0 Matplotlib 3.5.1 JSON 2.0.9 使い方 draw_time_histgram(

1 Feb 19, 2022
将位图转为彩色矢量 svg 图片

一个将位图描摹为彩色矢量 svg 图片的程序,是一个命令行工具,使用 Python 脚本实现,运行环境 Python3.8+。 ✨ 效果 以一个字帖图片为例,这是 png 格式的位图(370KB): 这是颜

Haujet Zhao 104 Dec 30, 2022
vsketch is a Python generative art toolkit for plotters

Generative plotter art environment for Python

Antoine Beyeler 380 Dec 29, 2022
Image Compression GUI APP Python: PyQt5

Image Compression GUI APP Image Compression GUI APP Python: PyQt5 Use : f5 or debug or simply run it on your ids(vscode , pycham, anaconda etc.) socia

Sourabh Dhalia 1 May 21, 2022
Javascript image annotation tool based on image segmentation.

JS Segment Annotator Javascript image annotation tool based on image segmentation. Label image regions with mouse. Written in vanilla Javascript, with

Kota Yamaguchi 513 Nov 15, 2022
Glyph-graph - A simple, yet versatile, package for graphing equations on a 2-dimensional text canvas

Glyth Graph Revision for 0.01 A simple, yet versatile, package for graphing equations on a 2-dimensional text canvas List of contents: Brief Introduct

Ivan 2 Oct 21, 2022
Rotates your images in the spirit of rot13

Image Rotator (imrot10) Its like rot13 but for images. Calling the algorithm imrot10 for im = image, rot = rotation, 10 = default magnitude. Unfortuna

Sarah 2 Dec 10, 2021
Graphical tool to make photo collage posters

PhotoCollage Graphical tool to make photo collage posters PhotoCollage allows you to create photo collage posters. It assembles the input photographs

Adrien Vergé 350 Jan 02, 2023
Generate your own QR Code and scan it to see the results! Never use it for malicious purposes.

QR-Code-Generator-Python Choose the name of your generated QR .png file. If it happens to open the .py file (the application), there are specific comm

1 Dec 23, 2021
Pyconvert is a python script that you can use to convert image files to another image format! (eg. PNG to ICO)

Pyconvert is a python script that you can use to convert image files to another image format! (eg. PNG to ICO)

1 Jan 16, 2022
Wand is a 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 Jan 03, 2023
starfish is a Python library for processing images of image-based spatial transcriptomics.

starfish: scalable pipelines for image-based transcriptomics starfish is a Python library for processing images of image-based spatial transcriptomics

199 Dec 08, 2022
Automatic picture transmission(APT) protocol decoder for NOAA weather satellites

Automatic picture transmission(APT) decoder Automatic picture transmission protocol is used by NOAA satellites. They constantly send a frequency modul

Jayachandra Kasarla 25 Aug 05, 2022
Python modules to work with large multiresolution images.

Large Image Python modules to work with large, multiresolution images. Large Image is developed and maintained by the Data & Analytics group at Kitwar

Girder 136 Jan 02, 2023
imgAnalyser - Un script pour obtenir la liste des pixels d'une image correspondant à plusieurs couleurs

imgAnalyser - Un script pour obtenir la liste des pixels d'une image correspondant à plusieurs couleurs Ce script à pour but, à partir d'une image, de

Théo Migeat 1 Nov 15, 2021
cmdpxl: a totally practical command-line image editor

cmdpxl: a totally practical command-line image editor Features cmdpxl has many exciting functionalities, including Editing pixels one at a time! Savin

Jieruei Chang 475 Dec 23, 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
🛹 Turn an SVG into an STL for stencil creation purposes

svg2stl This repository provides a script which takes as input an SVG such as this one: It outputs an STL file like this one: You can also see an inte

Max Halford 3 Dec 29, 2021