Historia

From FreeCAD Documentation
This page is a translated version of the page History and the translation is 76% complete.
Outdated translations are marked like this.

História

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:

Olá a todos, meu nome é Juergen Riegel e hoje quero anunciar um projeto OpenCasCade, o FreeCAD. Ele é um CAx RAD de código aberto baseado no OpenCasCade, QT e Python. Ele apresenta alguns conceitos importantes, como gravação de macros, workbenches, capacidade de ser executado como servidor e como extensão de aplicativos carregáveis dinamicamente, e foi projetado para ser independente de plataforma... Embora esteja em um estágio inicial e não possa ser usado por usuários nem desenvolvedores - a primeira versão para usuários está planejada para o final de 2003 -, eu gostaria de receber algum feedback sobre a direção e o design do FreeCAD. A GUI está quase concluída e agora nós, meu co-desenvolvedor Werner Mayer e eu, começamos a adicionar as primeiras funções de CAD. O FreeCAD pode ser visto como um sistema CAD mecânico de uso geral, mas seu primeiro público, creio eu, serão os desenvolvedores de CAx que precisam de base para seu próprio desenvolvimento.

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?

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.

Como terceiro desenvolvedor principal, Yorik entrou por volta do final de 2007, mas levou mais 3 ou 4 anos até que a comunidade e o número de colaboradores começassem a crescer significativamente

.

P: Vocês dividiram as tarefas ou trabalharam em implementações concorrentes?

Sim,Jürgen estava projetando e implementando a maior parte da lógica do aplicativo e do documento, e eu estava fazendo o básico da GUI.

No entanto, este não foi um processo gradual, mas experimentamos muitas coisas no início. Por exemplo, na versão inicial, usamos a estrutura de documentos OCC OCAF e seu visualizador, mas depois de um ou dois anos chegamos a um beco sem saída porque a documentação sobre OCC era muito pobre e não conseguimos fazê-la funcionar para estender o OCAF com o nosso próprio tipos de recursos. Portanto, decidimos usar apenas as capacidades de modelagem do OCC, mas desenvolver nossa própria estrutura de aplicativo/documento.

P: Naquela época, você achava que o FreeCAD estaria onde está hoje?

Não sabíamos, mas esperávamos. É claro que não poderíamos prever exatamente como o FreeCAD se parecerá hoje.
As decisões de design mais importantes foram disponibilizá-lo em todas as principais plataformas e tornar todo o SW o mais acessível possível, ou seja, impor todas as funções importantes ao Python para que que os usuários (poderosos) possam estender o FreeCAD com funções próprias. Dessa forma, esperávamos obter um público amplo.

(Veja esta postagem do Werner no fórum Re: FreeCAD History)

Yorik se junta ao projeto

Yorik van Havre juntou-se ao projeto em 2008 e começou a trabalhar no módulo Draft. Antes disso, não havia como criar geometria 2D através da GUI. Este módulo foi totalmente programado em Python e não em C++ (a linguagem de programação central usada no FreeCAD). A nova bancada de trabalfo Draft provou que a integração do Python foi um sucesso e pode ser usado para estender ou customizar os recursos do FreeCAD. Além de seu trabalho no módulo Draft, Yorik trabalhou na expansão da documentação do FreeCAD e tornou-se o "diretor de arte" de fato do FreeCAD, criando muitos ícones para a GUI do FreeCAD e definindo seu estilo.

A versão 0.7 do FreeCAD lançada em abril de 2009 foi a primeira a incluir o módulo Draft. O módulo Part forneceu um fluxo de trabalho CSG simples com a criação de formas primitivas e operações booleanas acessíveis através do menu Part. A extrusão de perfis 2D e filetes também foi possível.

A versão 0.8 lançada em julho de 2009 teve mais algum trabalho no módulo Draft, incluindo uma nova ferramenta Dimension. O módulo Part se beneficiou de uma nova barra de ferramentas junto com novas ferramentas, Revolver e Seção.

No final de 2009, o FreeCAD foi aceito como um pacote Debian nos repositórios Debian. O FreeCAD foi adicionado aos repositórios do Ubuntu 10.04 em 2010.

O projeto continua

A versão 0.10 foi lançada em julho de 2010 e introduziu a bancada de trabalho Sketcher, baseado no Sketchsolve, um solucionador baseado em restrições para criar geometria 2D. A primeira versão limitava-se à criação de retângulos e linhas.

No início de 2011, aproveitando a oportunidade oferecida pela plataforma on-line Launchpad, foi criada a equipe FreeCAD Maintainers para fornecer novas versões estáveis e pacotes de compilação diária do FreeCAD aos usuários do sistema operacional Ubuntu.

A versão 0.11 foi lançada em maio de 2011 e introduziu a nova bancada de trabalho PartDesign, que incluía ferramentas como Protrusão, Cavidade, Filete e Chanfro. A bancada de trabalho Draft recebeu aprimoramentos e novas ferramentas, como o BSpline. A bancada de trabalho Robot apresentou mais ferramentas de GUI.

A versão 0.12 foi lançada em janeiro de 2012 e apresentava um bancada de trabalho Sketcher mais completo. Ela incluía um solucionador totalmente reescrito, o FreeGCS. Foi o resultado de meses de trabalho dos principais desenvolvedores do FreeCAD, juntamente com os novatos logari81 (que programou o solver) e mrlukeparry. Mais ferramentas foram adicionadas ao workbench do PartDesign.

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
1.0 - in development Release notes 1.0 head master
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