FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Developer hub

This is the place to come if you want to contribute to the development of the FreeCAD software.

These pages are in the early stage of development. If you can\'t find the information you are looking for, or have found useful information somewhere we have not linked to, then please leave a comment on the forum and someone will look into it (or, if you are feeling bold, why not edit this page directly!).

Developer Documentation

The developer documentation comprises the following sections:

Compiling FreeCAD

  • Github repo. If you are new to git, read Source code management
  • Compile with Docker
  • Compiling on Windows
  • Compiling on Linux
  • Compiling on MacOS
  • License details about the FreeCAD licences
  • Third Party Libraries
  • Third Party Tools
  • Start up and Configuration
  • Source documentation
  • Use the bug tracker when you have a problem or think you may have found a bug

Packaging

Packaging consists in taking the compiled binaries and Python source files of FreeCAD, and distributing them for use in a particular system.

  • Linux packaging
    • Debian development
    • Debian Unstable
    • Git buildpackage
  • Windows packaging
  • MacOS packaging

Build Support Tools

  • The FreeCAD Build Tool
    • Adding an application module to FreeCAD
  • Debugging FreeCAD
  • Testing FreeCAD
  • Compiling (Speeding up) FreeCAD
  • Continuous Integration

Modifying FreeCAD

  • Understanding The FreeCAD source code

  • Submitting patches

  • Add Features to FreeCAD or a Workbench

  • Branding or how to give FreeCAD a unique look

  • Artwork we made for FreeCAD, that you can freely reuse

  • Artwork guidelines standards for icons

  • Translating FreeCAD

  • Extra python modules, or how to extend python functionality within FreeCAD

  • Google Summer of Code get involved via Google\'s student support program

  • Fine-tuning shows different options and parameter switches that can overcome problems

  • Wrapping a C++ class in Python shows how to create the Python wrapper for a C++ class

  • Checklist for adding a Feature to a C++ workbench provides an aid for contributors.

  • Translating an external workbench

Module developer\'s guide

FreeCAD Mod Dev Guide: This is an ebook under writing on github, please fork and send pull request to contribute.

Chapters:

  • Overview and Software Architecture
  • Source code structure
  • Base and App module
  • Gui module
  • Python wrapping
  • Modular design
  • Fem module source analysis (mixed C++ and Python)
  • Development of CFD Module (pure Python)
  • Module testing and debugging
  • Contribute code with git

Latest pdf preview can be downoaded from pdf folder of this git repo

Internals

OpenCascade Documentation

OpenCascade is a software development platform for 3D surface and solid modeling, CAD data exchange, and visualization, mostly in the form of C++ libraries.

  • Roman Lygin\'s tutorials
  • Full Online Documentation
  • Reference Manual
  • The openCascade wiki (currently containing ?? Chinese spam)

File format

File Format FCStd. The files created with FreeCAD are .zip files that include the BREP geometry, as well as XML data that describes the document.

Sketcher solver

  • Sketcher Solver Architecture Booklet (forum thread), source in GitHub.
  • PlaneGCS solver in the FreeCAD source code; important files are GCS.cpp and SubSystem.cpp.
  • Recent Several Sketcher improvements.

The sketcher solver isn\'t perfect, as there are some issues with numerical precision when using large values, see Adventure of fixing sketcher solver for large sketches.

The development of a new solver architecture could improve the way the solver is used both in the Sketcher Workbench, and for assembly of 3D bodies. See Reimplementing constraint solver.

Roadmap

FreeCAD, though usable in certain areas, is at the beginning of a long way into the CAD mainstream. There is still a lot to do to reach a state where we can compete with commercial software.

FreeCAD 1.0 Development Cycle

Community

  • IRC channel ,synchronized with gitter channel

  • Development forum

  • Development roadmap

Credits

Contributors


⏵ documentation index > Hubs > Developer Documentation > Developer hub

This page is retrieved from https://github.com/FreeCAD/FreeCAD-documentation/blob/main/wiki/Developer_hub.md

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub