Historia

From FreeCAD Documentation
Revision as of 02:29, 19 July 2023 by Dikluwe (talk | contribs)
FreeCAD antigo, versão desconhecida.
FreeCAD versão 0.7 de 2009.

Como tudo começou

O FreeCAD começou em janeiro de 2001, quando Jürgen Riegel começou a trabalhar no projeto Cas.CADE, este era uma estrutura de desenvolvimento de software comercial que incluía um kernel de modelagem geométrica (ou kernel CAD): que foi lançado sob uma licença de código aberto em 2000 e renomeado como OpenCASCADE. Isso tornou possível a realização de um programa CAD 3D de código aberto, pois ter que programar um kernel CAD do zero exigiria uma quantidade enorme de trabalho.

Nas palavras do próprio Jürgen:

O projeto FreeCAD foi iniciado por mim em janeiro de 2001, como um GOM (Graphical Object Modeler), com a ideia de usar Qt, Python e Cas.CADE, um CAD-Kernel comercial da época Eu usei nos projetos da Daimler. O Cas.CADE tornou-se um código aberto pouco tempo antes, então parecia o momento certo para tentar uma mudança para a falta de CAD de código aberto que avia naquela época. Tive uma experiência de dois anos com o OpenCascade em um projeto chamado QSpect no qual, ao final, fui o principal designer de software. Aprendi muito sobre programação 3D e CAD. Também fui influenciado pelo Catia V5 e sua interface de usuário e programação muito especial… Em 17 de março de 2002, dentro do Projeto OpenCascade, registrei o software como FreeCAD. Não consegui pensar em um nome melhor, sou péssimo com nomes... Em abril de 2003, Werner Meyer, um colega de faculdade do projeto QSpect, mudou para uma empresa chamada Imetric. O contato com a Imetric resultou muito promissor, pois buscavam uma nova plataforma de software 3D para seus sensores 3D. Em 2005, a Imetric doou a maior parte de seu Módulo de malha ao FreeCAD e à comunidade Open Source e, desde então, eles usaram o FreeCAD como base para seu software de sistema de sensores. Desde então, Werner Meyer é um desenvolvedor muito ativo do FreeCAD. Em 2005, após um ano de luta, decidi retirar o framework de documentos OpenCascade e substituí-lo por uma implementação própria. Então, no final, usamos apenas o kernel CAD do OpenCascade e não o restante de seu Framework. 2007 foi outro marco interessante. Mudamos para QT4 e, portanto, para LGPL. Nessa época a gente fazia muito trabalho, principalmente Werner.

O projeto foi anunciado ao público em geral no Forum OpenCascade em 2003:

Hi together, my name is Juergen Riegel and today I want announce an OpenCasCade project, FreeCAD. It is an Open Source CAx RAD based on OpenCasCade, QT and Python. It features some key concepts like Macro Recording, Workbenches, ability to run as a server and as a dynamically loadable applications' extension, and it is designed to be platform independent… Although it is in an early stage and not usable for users nor developers—the first user release is planned for the end of 2003—, I would like to get some feedback on the direction and design of FreeCAD. The GUI is nearly finished and now we, my co-developer Werner Mayer and me, have started adding the first CAD functions. FreeCAD can be seen as a general purpose mechanical CAD system, but its first audience, I think, will be CAx developers which need groundwork for own development.

Werner Mayer

Werner Mayer juntou-se ao projeto assim que ele foi anunciado como um projeto de código aberto (antes do anúncio, o projeto era um projeto particular de Jürgen). Veja esta postagem de Werner no fórum em alemão: https://forum.freecadweb.org/viewtopic.php?f=13&t=40235&start=10#p342330

Com o tempo, o projeto ganhou força e viu a adição de novos colaboradores importantes na comunidade.

  • iniciando no Linux

Um fato engraçado é que ele queria ter um software CAD de código aberto principalmente para Linux porque naquela época não existia nada para esta plataforma. No entanto, desde o início, desenvolvemos exclusivamente no Windows nos primeiros um anos e meio. Então um cara tcheco fez uma contribuição fazendo o código da compilação principal no Linux: https://github.com/berndhahnebach/All_FreeCAD/commit/9fd2e27c95ba3dc84778d92e2564cd094793ce2f#diff-480477e89f9b6ddafb30c4383dcdd705

Meio ano depois, continuei a compilação do Linux: https://github.com/berndhahnebach/All_FreeCAD/commit/35b962d7d751dd80f7c7781df60f93bc9a3da992

P: Você poderia compartilhar como foi esse primeiro ano e meio? Vocês se encontraram pessoalmente ou online?

{{Quote|text=Bem, naquela época éramos colegas (até 2005), então podíamos discutir as coisas pessoalmente. Depois disso, ainda tínhamos algumas reuniões pessoais, mas discutíamos a maioria das coisas por e-mail ou telefone.}

As third core developer Yorik joined around end of 2007 but it took another 3 or 4 years until the community and number of contributors started to grow significantly.

Q: Did you divide the tasks or work on competing implementations?

Yes. Jürgen was designing and implementing most of the application and document logic and I was doing the basics of the GUI.

However, this wasn't a gradual process but we have experimented with many things at the beginning. For example, in the initial version we used OCC's document framework OCAF and its viewer but after a year or two we got into a dead end because documentation about OCC was very poor and we couldn't get it to work to extend OCAF with our own feature types. So, we decided to only use OCC's modeling capacities but develop our own application/document framework.

Q: At the time did you think FreeCAD would be where it is today?

We didn't know but we hoped. Of course we couldn't anticipate how exactly FreeCAD will look today.
The most important design decisions were to make it available on all major platforms and make the whole SW as accessible as possible, i.e. to impose all important functions to Python so that (power) users are able to extend FreeCAD with own functions. This way we hoped to get a broad audience.

(See this forum post from Werner Re: FreeCAD History)

Yorik joins the project

Yorik van Havre joined the project in 2008 and started work on the Draft Module. Before that point, there was no way to create 2D geometry through the GUI. This module was programmed entirely in Python rather than in C++ (the core programming language used in FreeCAD). The new Draft workbench proved that Python integration was a success and could be used to extend or customize FreeCAD's capabilities. In addition to his work on the Draft module, Yorik worked on expanding the FreeCAD documentation, and became FreeCAD's de facto "Art director", creating many icons for FreeCAD's GUI and defining its style.

Version 0.7 of FreeCAD released in April 2009 was the first to include the Draft module. The Part module provided a simple CSG workflow with creation of primitive shapes and boolean operations accessible through the Part menu. Extrusion of 2D profiles and filleting was also possible.

Version 0.8 released in July 2009 saw some more work in the Draft module, including a new Dimension tool. The Part module benefited from a new toolbar along with new tools, Revolve and Section.

By the end of 2009, FreeCAD was accepted as a Debian package in the Debian repositories. FreeCAD was added to the Ubuntu 10.04 repositories in 2010.

The project goes on

Version 0.10 was released in July 2010 and introduced the Sketcher Workbench, based on Sketchsolve, a constraint-based solver to create 2D geometry. The first version was limited to creation of rectangles and lines.

In early 2011, taking the opportunity given by the Launchpad online platform, the FreeCAD Maintainers team was created to provide fresh stable releases along with daily build packages of FreeCAD to users of the Ubuntu operating system.

Version 0.11 as released in May 2011 and introduced the new Part Design workbench which included tools such as Pad, Pocket, Fillet and Chamfer. The Draft workbench received enhancements and new tools, like BSpline. The Robot workbench featured more GUI tools.

Version 0.12 was released in January 2012 and featured a more complete Sketcher workbench. It included a totally rewritten solver, FreeGCS. It was the result of months of work by the main FreeCAD developers along with newcomers logari81 (who programmed the solver) and mrlukeparry. More tools were added to the PartDesign workbench.

Ampliação da equipe principal de desenvolvedores

Em abril de 2019, a equipe de desenvolvedores principais foi expandida: Jürgen, Werner e Yorik se juntaram a Abdullah, Bernd, sliptonic e WandererFan

Postagens interessantes no fórum

Histórico de lançamento

Visão geral

Versão Nome da versão Data de lançamento Notas de lançamento Release commit Release branch
0.21 - em desenvolvimento Notas da versão 0.21 head master
0.20 - 2022-06-14 Notas da versão 0.20 release commit 0.20 branch bugfixes 0.20
0.19 - 2021-03-20 Notas de lançamento 0.19 release commit 0.19 branch bugfixes 0.19
0.18 - 2019-03-12 Notas de lançamento 0.18 release commit 0.18 branch bugfixes 0.18
0.17 Roland 2018-04-06 Notas de lançamento 0.17 release commit 0.17 branch bugfixes 0.17
0.16 - 2016-04-18 Notas de lançamento 0.16 release commit 0.16 branch bugfixes 0.16
0.15 - 2015-04-08 Notas de lançamento 0.15 release commit 0.15 branch bugfixes 0.15
0.14 - 2014-07-01 Notas de lançamento 0.14 release commit 0.14 branch bugfixes 0.14
0.13 - 2013-01-29 Notas de lançamento 0.13 release commit 0.13 branch bugfixes 0.13
0.12 - 2011-12-20 Notas de lançamento 0.12
0.11 - 2011-05-03 Notas de lançamento 0.11
0.10 - 2010-07-24
0.9 - 2010-01-16
0.8 - 2009-07-10
0.7 - 2009-04-24
0.6 - 2007-02-27
0.5 - 2006-10-05
0.4 - 2006-01-15
0.3 - 2005-10-31
0.2 - 2005-08-09
0.1 - 2003-01-27
0.0.1 - 2002-10-29 Inicio de vercionamento

Legenda

Cor Tipo de versão
Lançamento futuro
Versão prévia mais recente
Versão mais recente
Versão antiga, mas ainda compatível
Versão mais antiga

== Links externos