Geschichte

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page History and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎中文(中国大陆)‎ • ‎한국어

Geschichte

Frühes FreeCAD, Version unbekannt
FreeCAD Version 0.7 von 2009

Wie alles begann

FreeCAD begann im Januar 2001, als Jürgen Riegel mit der Arbeit an dem Cas.CADE Projekt begann. Cas.CADE war ein kommerzielles Softwareentwicklungsrahmenwerk, das einen geometrischen Modellierungskern (oder CAD Kernel) enthielt: Es wurde im Jahr 2000 unter einer Open-Source Lizenz veröffentlicht und in OpenCASCADE umbenannt. Dies ermöglichte die Realisierung eines quelloffenen 3D CAD Programms, da die Programmierung eines CAD Kerns von Grund auf einen enormen Arbeitsaufwand bedeutet hätte.

In Jürgens eigenen Worten:

Ich begann mit dem FreeCAD-Projekt im Jahr 2001, als einem sogenannten GOM (grafischer Objektmodellierer), mit der Idee, Qt, Python und Cas.CADE zu verwenden, einem kommerziellen CAD-Kern, den ich zu der Zeit im Daimler-Projekt benutzte. Cas.CADE wurde kurz vorher Open-Source, so dass es die richtige Zeit schien, den zu der Zeit freien Raum eines Open-Source-CAD zu besetzen. Ich hatte zwei Jahre Erfahrung mit OpenCascade in einem Projekt namens QSpect, in dem ich zum Schluss der Haupt-Software-Designer war. Ich habe eine Menge über 3D und CAD-Programmierung gelernt. Ich war auch beeinflusst von Catia V5 und dessen sehr ungewöhnlichen Benutzer- und Programmieroberfläche. Am 17. März 2002 habe ich während des OpenCasCade-Projektes die Software als FreeCAD registriert. Mir fiel kein besserer Name ein, ich bin sehr schlecht bei Namen. Im April 2003 wechselte Werner Mayer, einer den Kollegen im QSpect-Projekt, zu einer Firma namens Imetric. Der Kontakt zu Imetric war vielversprechend, denn sie suchten nach einer 3D-Software-Plattform für ihre 3D-Sensoren. Imetric spendete im Jahr 2005 das Meiste des Mesh-Moduls an FreeCAD und die Open-Source-Community und verwendeten seitdem FreeCAD als Basis für ihre Sensorsystem-Software. Seit dieser Zeit ist Werner Mayer ein sehr aktiver FreeCAD-Entwickler. Nach einem Jahr Anstrengungen habe ich 2005 entschieden, das OpenCasCade-Dokument-Gerüst herauszutrennen und durch eine Eigenentwicklung zu ersetzen. Schlussendlich benutzen wir nur den CAD-Kern von OpenCasCade und nicht den Rest des Gerüstes. 2007 war ein weiterer interessanter Meilenstein. Wir wechselten zu Qt4 und dadurch zur LGPL. Zu der Zeit haben wir viel Arbeit geleistet, hauptsächlich Werner.

Das Projekt wurde der Öffentlichkeit 2003 im OpenCascade Forum vorgestellt:

Hallo zusammen, mein Name ist Jürgen Riegel und heute möchte ich ein OpenCasCade-Projekt ankündigen, FreeCAD. Es ist ein Open-Source CAx RAD, basierend auf OpenCasCade, Qt und Python. Es bietet einige wichtige Ideen wie Makroaufzeichnung, Arbeitsbereiche, die Möglichkeit als Server zu arbeiten und als eine dynamisch ladbare Anwendungserweiterung, und es soll plattformunabhängig sein. Obwohl es in einer frühen Phase und weder für Anwender noch für Entwickler benutzbar ist - die erste Benutzerausgabe ist für Ende 2003 geplant -, möchte ich gerne etwas Feedback über die Richtung und das Design von FreeCAD haben. Die Benutzeroberfläche ist fast fertig und wir, mein Co-Entwickler Werner Mayer und ich, haben damit angefangen, die ersten CAD-Funktionen hinzufügen. FreeCAD kann als ein Allzweck-CAD-System angesehen werden, aber die erste Zielgruppe, denke ich, werden CAx-Entwickler sein, die eine Grundlage für die eigene Entwicklung benötigen.

Werner Mayer

Werner Mayer trat dem Projekt bei, sobald es als Open Source Projekt angekündigt wurde (vor der Ankündigung war das Projekt ein privates Projekt von Jürgen). Siehe diesen Forumsbeitrag von Werner auf Deutsch: https://forum.freecadweb.org/viewtopic.php?f=13&t=40235&start=10#p342330

Mit der Zeit gewann das Projekt an Zugkraft und es kamen neue wichtige Mitwirkende in der Gemeinschaft hinzu.

  • Linux Anfang

Eine lustige Tatsache ist, dass er eine Open-Source CAD Software hauptsächlich für Linux haben wollte, weil es zu dieser Zeit eigentlich nichts für diese Plattform gab. Von Anfang an entwickelten wir jedoch für die nächsten 1,5 Jahre ausschließlich unter Windows. Dann leistete ein Tscheche einen Beitrag, um den Code des Core Builds auf Linux zu bringen: https://github.com/berndhahnebach/All_FreeCAD/commit/9fd2e27c95ba3dc84778d92e2564cd094793ce2f#diff-480477e89f9b6ddafb30c4383dcdd705

Ein halbes Jahr später habe ich den Linux Build weitergeführt: https://github.com/berndhahnebach/All_FreeCAD/commit/35b962d7d751dd80f7c7781df60f93bc9a3da992

F: Kannst du mitteilen, wie die ersten 1,5 Jahre verliefen? Habt ihr euch persönlich oder online getroffen?

Nun, damals waren wir Kollegen (bis 2005), so dass wir Dinge von Angesicht zu Angesicht besprechen konnten. Danach hatten wir noch einige persönliche Treffen, aber die meisten Dinge haben wir per E-Mail oder Telefon besprochen.

Als dritter Kernentwickler kam Yorik Ende 2007 hinzu, aber es dauerte weitere 3 oder 4 Jahre, bis die Gemeinschaft und die Zahl der Mitwirkenden deutlich zu wachsen begannen.

F: Habt ihr die Aufgaben aufgeteilt oder an konkurrierenden Implementierungen gearbeitet?

Ja. Jürgen entwarf und implementierte den größten Teil der Anwendung und Dokumentenlogik, und ich kümmerte mich um die Grundlagen der Benutzeroberfläche.

Dies war jedoch kein allmählicher Prozess, sondern wir haben zu Beginn mit vielen Dingen experimentiert. In der ersten Version nutzten wir beispielsweise das OCC Dokumenten Rahmenwerk OCAF und seinen Betrachter, aber nach ein oder zwei Jahren gerieten wir in eine Sackgasse, weil die Dokumentation zu OCC sehr dürftig war und wir es nicht hinbekamen, OCAF um unsere eigenen Funktionstypen zu erweitern. Also beschlossen wir, nur die Modellierungskapazitäten von OCC zu nutzen, aber unser eigenes Anwendung/Dokumenten Rahmenwerk zu entwickeln.

F: Hättest du damals gedacht, dass FreeCAD dort stehen würde, wo es heute ist?

Wir wussten es nicht, aber wir hofften es. Natürlich konnten wir nicht vorhersehen, wie genau FreeCAD heute aussehen wird.
Die wichtigsten Gestaltungsentscheidungen waren, es auf allen wichtigen Plattformen verfügbar zu machen und die gesamte SW so zugänglich wie möglich zu gestalten, d.h. alle wichtigen Funktionen in Python zu implementieren, damit Hauptanwender FreeCAD mit eigenen Funktionen erweitern können. Auf diese Weise hofften wir, ein breites Publikum zu erreichen.

(Siehe diesen Forumsbeitrag von Werner Re: FreeCAD Geschichte)

Yorik trat dem Projekt bei

Yorik van Havre trat dem Projekt 2008 bei und begann mit der Arbeit am Entwurfsmodul. Vor diesem Zeitpunkt gab es keine Möglichkeit, 2D Geometrie mit dem GUI zu erstellen. Dieses Modul wurde vollständig in Python programmiert und nicht in C++, der in FreeCAD verwendeten Kernprogrammiersprache. Der neue Entwurf Arbeitsbereich bewies, dass die Python Integration ein Erfolg war und dazu genutzt werden konnte, die Fähigkeiten von FreeCAD zu erweitern oder anzupassen. Zusätzlich zu seiner Arbeit am Entwurfsmodul arbeitete Yorik an der Erweiterung der FreeCAD Dokumentation und wurde zum de facto"Artdirektor" von FreeCAD, der viele Symbole für die FreeCAD GUI und ihren Stil definieren erstellte.

FreeCAD Version 0.7 wurde im April 2009 veröffentlicht und war die erste mit dem Draft-Modul. Das Part-Modul enthielt einen einfachen CSG-Arbeitsablauf mit der Erstellung von primitiven Formen und Booleschen Operationen über das Part-Menu. Extrusion von 2D-Profiles und Verrundung was ebenfalls möglich.

Version 0.8 wurde im Juli 2009 veröffentlicht und enthielt weitere Arbeit am Draft-Modul, darunter ein neues Bemaßungswerkzeug. Das Part-Modul profitierte von einer neuen Werkzeugleiste zusammen mit neuen Werkzeugen, Drehen und Schnitt.

Gegen Ende 2009 wurde FreeCAD als Debian-Paket in den Debian-Repositories akzeptiert. FreeCAD wurde 2010 in den Ubuntu 10.04-Repositories hinzugefügt.

Das Projekt geht weiter

Version 0.10 wurde im Juli 2010 veröffentlicht und führte die Arbeitsbereich Skizzierer ein, die auf Sketchsolve basiert, einem beschränkungsbasierten Löser zur Erstellung von 2D Geometrie. Die erste Version war begrenzt auf die Erstellung von Rechtecken und Linien.

Anfang 2011, die Gelegenheit nutzend, die die Launchpad Online Plattform gibt, wurde das FreeCAD Instandhalter Team ins Leben gerufen, um den Benutzern des Ubuntu Betriebssystems frische stabile Ausgaben zusammen mit täglichen Build Paketen von FreeCAD bereitzustellen.

Version 0.11 wurde im Mai 2011 veröffentlicht und führte den Part Design Arbeitsbereich ein, der Werkzeuge wie Tasche, Verrundung und Fase umfasste. Der Draft Arbeitsbereich erhielt Verbesserungen und neue Werkzeuge, wie BSpline. Der Roboter Arbeitsbereich bekam weitere GUI Werkzeuge.

Version 0.12 wurde im Januar 2012 veröffentlicht und enthielt einen vollständigeren Skizzierer Arbeitsbereich. Sie enthielt einen völlig neu geschriebenen Löser, FreeGCS. Es war das Ergebnis monatelanger Arbeit der FreeCAD Hauptentwickler zusammen mit den Neueinsteigern logari81 (der den Löser programmiert hat) und mrlukeparry. Weitere Werkzeuge wurden dem PartDesign PartDesign-Arbeitsbereich hinzugefügt.

Vergrößerung des Kern Entwickler Teams

Im April 2019 wurde das Team der Kernentwickler erweitert: Zu Jürgen, Werner und Yorik gesellten sich Abdullah, Bernd, sliptonic und WandererFan

Interessante Beiträge im Forum

Veröffentlichungshistorie

Überblick

Version Veröffentlichungsname Veröffentlichungsdatum Veröffentlichungsverpflichtung Veröffentlichungszweig
0.20 ? in Entwicklung Versionshinweise 0.20 head master
0.19 - 2021-03-20 Versionshinweise 0.19 release commit 0.19 branch bugfixes 0.19
0.18 - 2019-03-12 Versionshinweise 0.18 release commit 0.18 branch bugfixes 0.18
0.17 Roland 2018-04-06 Versionshinweise 0.17 release commit 0.17 branch bugfixes 0.17
0.16 - 2016-04-18 Versionshinweise 0.16 release commit 0.16 branch bugfixes 0.16
0.15 - 2015-04-08 Versionshinweise 0.15 release commit 0.15 branch bugfixes 0.15
0.14 - 2014-07-01 Versionshinweise 0.14 release commit 0.14 branch bugfixes 0.14
0.13 - 2013-01-29 Versionshinweise 0.13 release commit 0.13 branch bugfixes 0.13
0.12 - 2011-12-20 Versionshinweise 0.12
0.11 - 2011-05-03 Versionshinweise 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 Initial Upload of a version

Legende

Farbe Versionstyp
Zukünftige Veröffentlichung
Letzte Vorschauversion
Letzte Version
Ältere Version, noch unterstützt
Alte Version

Externe Verweise