Gabriel Wicke 905d9d65da Path: Area fixes and robustness tweaks
- Bug fix: Fix crasher in discretize() when the edge to discretize is
  not a 3d curve, and a nullptr is returned when trying to access the
  underlying curve. This change essentially removes an older work-around
  for QuasiUniformDeflection, which is no longer needed since we are
  using UniformDeflection. This change is tested with the original test
  case from https://forum.freecadweb.org/viewtopic.php?f=15&t=42628, as
  well as my own crasher test case.
- WireJoiner robustness: Support passing in a tolerance into
  WireJoiner::findCloseWires(), and initialize this to
  AreaParameter.Tolerance. In testing, this significantly improves the
  ability to join projected areas in complex 3d surface path models.
- Area::project() robustness: Pass the work plane down into the
  projection area instance, so that it does not need to be derived from
  shapes. This avoids crashing out on "shapes are not coplanar" from
  getPlane, when lenient processing was requested via the Coplanar
  parameter.
2020-06-07 20:09:55 -07:00
2018-01-14 22:29:25 +01:00
2019-05-26 13:14:40 +02:00
2020-05-25 16:59:05 +02:00
2015-10-09 08:19:23 +02:00
2020-06-05 13:17:34 +02:00
2018-05-19 12:17:52 -04:00
2020-05-25 15:34:43 +02:00
2019-04-09 12:07:26 -03:00
2019-07-13 12:54:28 -03:00
2020-06-03 14:44:44 +02:00

Logo

Your own 3D parametric modeler

WebsiteDocumentationForumBug trackerGit repository

Release Master Crowdin Gitter Language grade: Python

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 and changing its parameters.

  • Create 3D from 2D & back FreeCAD allows 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, a programmer, an experienced CAD user, a student or a teacher, you will feel right at home with FreeCAD.

  • Cross platform FreeCAD runs on Windows, Mac and Linux

  • 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 Mac 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 OpenCASCADe, Coin and Qt, listed in the pages below. Once this is done, FreeCAD can be simply 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 Mac OSX and other platforms you will usually need to compile them yourself.

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

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.

Description
No description provided
Readme LGPL-2.1 7.9 GiB
2026-02-27 16:25:02 +00:00
Languages
C++ 51.5%
Python 45.8%
C 1.3%
CMake 0.8%
NSIS 0.2%
Other 0.2%