OpenCASCADE/de: Difference between revisions

From FreeCAD Documentation
(Created page with "OpenCASCADE ist eine Kernkomponente von FreeCAD. Wenn du FreeCAD über einen der Verknüpfungen auf der Seite Herunterladen erhälst, hast du es installiert,...")
No edit summary
 
(46 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>


{{TOCright}}

<span id="Description"></span>
== Beschreibung ==
== Beschreibung ==


[[OpenCASCADE/de|OpenCASCADE Technologie]], '''OCC''' oder kurz '''OCCT''', ist eine Sammlung von C++ Bibliotheken, die zusammen einen professionellen Computer Aided Design (CAD)-Kernel für die Modellierung von 2D und 3D Objekten und den Aufbau spezialisierter Werkzeuge für die Fertigung, Simulation oder Visualisierung bilden. OpenCASCADE ist das Herzstück der geometrischen Fähigkeiten von FreeCAD.
[[OpenCASCADE/de|OpenCASCADE Technologie]], kurz '''OCC''' oder '''OCCT''', ist eine Sammlung von C++ Bibliotheken, die zusammen einen professionellen Computer-Aided-Design-Kernel (CAD-Kernel) für die Modellierung von 2D- und 3D-Objekten und den Aufbau spezialisierter Werkzeuge für die Fertigung, Simulation oder Visualisierung bilden. OpenCASCADE ist das Herzstück der geometrischen Fähigkeiten von FreeCAD.


Die geometrischen Klassen von OCCT werden in FreeCAD hauptsächlich durch das [[part_Module/de|Part Arbeitsbereich]] implementiert und verfügbar gemacht, von dem die meisten anderen [[Workbenches/de|Arbeitsbereiche]] abhängen. Es bietet auch interne Funktionen zum Lesen und Schreiben verschiedener Dateiformate wie STEP und IGES sowie zur Durchführung von 2D Projektionen, die zur Erstellung technischer Zeichnungen in [[TechDraw_Workbench/de|TechDraw]] verwendet werden können.
Die geometrischen Klassen von OCCT werden in FreeCAD hauptsächlich durch das Modul [[Part_Workbench/de|Part]] umgesetzt und zur Verfügung gestellt, von dem die meisten anderen [[Workbenches/de|Arbeitsbereiche]] abhängen. Es enthält auch interne Funktionen zum Lesen und Schreiben verschiedener Dateiformate wie STEP und IGES und zum Ausführen von 2D-Projektionen, die zur Erstellung technischer Zeichnungen in [[TechDraw_Workbench/de|TechDraw]] verwendet werden können.


[[Image:Part_Workbench_relationships.svg|600px]]
[[Image:Part_Workbench_relationships.svg|600px]]


{{Caption|OpenCASCADE stellt dem [[Part_Module/de|Part Arbeitsbereich]] die grundlegenden geometrischen Klassen und Zeichenfunktionen zur Verfügung, die dann von allen Arbeitsbereichen in FreeCAD verwendet werden.}}
{{Caption|OpenCASCADE stellt dem Arbeitsbereich [[Part_Workbench/de|Part]] die grundlegenden geometrischen Klassen und Zeichenfunktionen zur Verfügung, welche dann von allen Arbeitsbereichen in FreeCAD verwendet werden.}}


OpenCASCADE ist nicht zu verwechseln mit [https://www.openscad.org/ OpenSCAD], das ein anderes Open Source Projekt zur Erstellung von 3D Modellen ist und über die [[OpenSCAD_Workbench/de|OpenSCAD Arbeitsbereich]] zugänglich ist.
OpenCASCADE ist nicht zu verwechseln mit [https://www.openscad.org/ OpenSCAD], das ein anderes Open Source Projekt zur Erstellung von 3D-Modellen ist und über den Arbeitsbereich [[OpenSCAD_Workbench/de|OpenSCAD]] zugänglich ist.


OpenCASCADE ist freie Software und unterliegt den Bedingungen der GNU Lesser General Public License (LGPL) Version 2.1 mit einer zusätzlichen Ausnahme.
OpenCASCADE ist freie Software und unterliegt den Bedingungen der GNU Lesser General Public License (LGPL) Version 2.1 mit einer zusätzlichen Ausnahme.
Line 17: Line 20:
== Installation ==
== Installation ==


OpenCASCADE ist eine Kernkomponente von FreeCAD. Wenn du FreeCAD über einen der Verknüpfungen auf der Seite [[Download/de|Herunterladen]] erhälst, hast du es installiert, und es ist keine weitere Installation erforderlich.
OpenCASCADE ist eine Kernkomponente von FreeCAD. Wird FreeCAD über einen der Verweise auf der Seite [[Download/de|Herunterladen]] geladen, wird es auch installiert, und es ist keine weitere Installation erforderlich.


However, if you would like to develop applications that use OCCT, or would like to contribute C++ code to FreeCAD, then you need to install the development files of OCCT. In this case, the procedure is explained in [[Compiling|Compiling]] for each of the main systems, Linux, Windows, and MacOS.
Wenn du jedoch Anwendungen entwickeln möchtest, die OCCT verwenden, oder C++ Code zu FreeCAD beitragen möchtest, dann musst du die Entwicklungsdateien von OCCT installieren. In diesem Fall wird die Prozedur unter [[Compiling/de|Kompilieren]] für jedes der Hauptsysteme, Linux, Windows und MacOS, erklärt.


<span id="Community_edition"></span>
== Gemeinschaftsausgabe ==
== Gemeinschaftsausgabe ==


A "community edition" of OpenCASCADE, abbreviated OCE, was released in 2011, based on the official OpenCASCADE sources (OCCT) of version 6.5. In theory the community edition OCE should be compatible with the main version OCCT in most aspects, while having some additional code contributed by the community.
Eine "Gemeinschaftsausgabe" von OpenCASCADE, abgekürzt OCE, wurde 2011 veröffentlicht, die auf den offiziellen OpenCASCADE Quellen (OCCT) der Version 6.5 basiert. Theoretisch sollte die Community Edition OCE in den meisten Aspekten mit der Hauptversion OCCT kompatibel sein, wobei einige zusätzliche Codes von der Gemeinschaft beigesteuert werden sollten.


However, this alternative distribution stopped active development around 2017, and lagged behind the main version in terms of features and bug fixes. For this reason, since FreeCAD v0.17, FreeCAD is compiled exclusively with OCCT, and OCE is not tested.
Diese alternative Distribution stoppte jedoch um 2017 die aktive Entwicklung und blieb in Bezug auf Funktionen und Fehlerbehebungen hinter der Hauptversion zurück. Aus diesem Grund wird FreeCAD seit FreeCAD v0.17 ausschließlich mit OCCT kompiliert und OCE wird nicht getestet.


In some older Linux distributions, FreeCAD is compiled against OCE 0.18, equivalent to OCCT 6.9.x, causing various issues that have been solved already in the main OCCT 7.x releases. If this is the case, try removing OCE, and installing OCCT instead. If this is not possible, use the [[AppImage|AppImage]] to get a modern FreeCAD with an updated OCCT version.
In einigen älteren Linux-Distributionen wird FreeCAD gegen OCE 0.18, äquivalent zu OCCT 6.9.x, kompiliert, was verschiedene Probleme verursacht, die bereits in den Hauptversionen von OCCT 7.x gelöst wurden. Wenn dies der Fall ist, versuche, OCE zu entfernen und stattdessen OCCT zu installieren. Falls dies nicht möglich ist, verwende das [[AppImage/de|AnwendungsAbbild]], um ein modernes FreeCAD mit einer aktualisierten OCCT-Version zu erhalten.


<span id="History"></span>
== Geschichte ==
== Geschichte ==


Der geometrische Kernel von Cas.CADE war ursprünglich Closed Source, wurde aber um das Jahr 2000 unter seinem heutigen Namen Open Source. Kurz danach wurde das FreeCAD Projekt gestartet, wobei die ältesten Dateien auf Januar 2001 datiert sind. Lies mehr unter [[History/de|Geschichte]].
Der geometrische Kernel von Cas.CADE war ursprünglich Closed-Source, wurde aber um das Jahr 2000 unter seinem heutigen Namen Open-Source. Kurz danach wurde das FreeCAD-Projekt gestartet, wobei die ältesten Dateien auf Januar 2001 datiert sind. Lies mehr unter [[History/de|Geschichte]].

OpenCASCADE Version 6.6 und früher wurde durch eine eigene öffentliche Lizenz "OCCT public license" reguliert, was es nicht gänzlich zu "freier Software" machte. Dies wurde mit der Veröffentlichung von OCCT 6.7 (2013) gelöst, als es die LGPL2-Lizenz übernahm.

<span id="OCCT_geometric_concepts"></span>
== OCCT geometrische Konzepte ==

In der OpenCascade-Terminologie unterscheiden wir zwischen geometrischen Grundelementen (engl.: primitives) und topologischen Formen. Ein geometrisches Grundelement kann ein Punkt, eine Linie, ein Kreis, eine Ebene usw. oder sogar einige komplexere Typen wie eine B-Spline-Kurve oder eine Oberfläche sein. Eine Form kann ein Knoten, eine Kante, ein Draht, eine Fläche, ein Solid oder eine Verbindung aus anderen Formen sein. Die geometrischen Grundelemente sind nicht dazu bestimmt, direkt in der 3D-Szene dargestellt zu werden, sondern als Baugeometrie für Formen zu dienen. So kann beispielsweise eine Kante aus einer Linie oder aus einem Teil eines Kreises konstruiert werden.

Zusammenfassend lässt sich sagen, dass Geometrie-Grundelemente "formlose" Bausteine sind, während [[Part_TopoShape/de|topologische Formen]] die darauf aufgebauten realen Objekte sind.

Eine vollständige Liste aller Grundelemente und Formen findet man in der [https://dev.opencascade.org/resources/documentation OCC-Dokumentation] (Alternativ: [https://www.opencascade.com/doc/occt-7.4.0/refman/html/ sourcearchive.com]) wenn man nach '''Geom_*''' (für geometrische Grundelemente) und '''TopoDS_*''' (für Formen) sucht. Dort kann man auch mehr über die Unterschiede zwischen ihnen lesen. Bitte beachte, dass die offizielle OCC-Dokumentation nicht online verfügbar ist (Du musst ein Archiv herunterladen) und sich hauptsächlich an Programmierer und nicht an Endbenutzer richtet. Aber hoffentlich findest du hier genügend Informationen, um anzufangen. Siehe auch [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Benutzerhandbuch zur Datenmodellierung].

<blockquote style="color: slategray">''Auf einer sehr hohen Stufe sagt die Topologie aus, aus welchen Teilen ein Objekt besteht und welche logischen Beziehungen zwischen ihnen bestehen. Eine Form besteht aus einem bestimmten Satz von Flächen. Eine Fläche wird durch einen bestimmten Satz von Kanten begrenzt. Zwei Flächen sind benachbart, wenn sie eine gemeinsame Kante besitzen.''</blockquote>

<blockquote style="color: slategray">''Die Topologie allein sagt dir nichts über die Größe, Krümmung oder 3D-Positionen jedes dieser Teile. Jedes Teil der Topologie weiß jedoch über seine zugrundeliegende Geometrie Bescheid. Eine Fläche weiß, auf welcher Oberfläche sie liegt. Eine Kante weiß, auf welcher Kurve sie liegt. Die Geometrie weiß über Krümmung und Lage im Raum Bescheid..'' - [https://www.opencascade.com/content/geometry-and-topology Quelle]</blockquote>

<hr />

<blockquote style="color: slategray">''So definiert die Topologie die Beziehung zwischen einfachen geometrischen Einheiten, die miteinander verbunden werden können, um komplexe Formen darzustellen.'' - [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Benutzerhandbuch zur Datenmodellierung]</blockquote>

[[File:ClassTopoDS_Shape_inherit_graph.png]]

'''Hinweis:''' Nur 3 Arten von topologischen Objekten haben geometrische Abbilder - Knoten, Kante und Fläche ([https://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade.html Quelle]).

Die geometrischen Typen lassen sich tatsächlich in zwei große Gruppen unterteilen: Kurven und Oberflächen. Aus den Kurven (Linie, Kreis, ...) kann man direkt eine Kante bauen, aus den Oberflächen (Ebene, Zylinder,...) kann man eine Fläche bauen. So ist beispielsweise die geometrische Grundlinie unbegrenzt, d.h. sie wird durch einen Basisvektor und einen Richtungsvektor definiert, während ihre Formdarstellung irgendetwas sein muss, das durch einen Start- und Endpunkt begrenzt ist. Und ein Quader - ein Festkörper - kann durch sechs begrenzte Ebenen erstellt werden.

Von einer Kante oder Fläche aus kannst du auch zu seinem geometrischen Grundelement-Gegenstück zurückkehren.

So können aus Formen sehr komplexe Teile gebaut oder umgekehrt alle Unterformen extrahiert werden, aus denen eine komplexere Form besteht.

[[File:Part_TopoShape_relationships.svg|600px]]


{{Caption|Die Klasse {{incode|Part::TopoShape}} ist das geometrische Objekt, das auf dem Bildschirm zu sehen ist. Im Wesentlichen verwenden alle Arbeitsbereiche intern diese [[Part_TopoShape/de|TopoFormen]] um Kanten, Flächen und Festkörper zu erstellen und anzuzeigen.}}
OpenCASCADE Version 6.6 und früher wurde durch eine eigene öffentliche Lizenz "OCCT public license" reguliert, was es nicht gänzlich zu "freier Software" machte. Dies wurde mit der Veröffentlichung von OCCT 6.7 (2013) gelöst, als es die LGPL2 Lizenz übernahm.


<span id="Related"></span>
== Verwandt ==
== Verwandt ==


* Hauptnetzauftritt, [http://www.opencascade.com opencascade.com]
* OpenCASCADE Technologie (OCCT) [http://www.opencascade.com Hauptwebsite]
* Entwicklungsportal, [https://dev.opencascade.org/ dev.opencascade.org]
* OCCT [https://dev.opencascade.org/ Entwicklungsportal]
* OpenCASCADE Technologie (OCCT), [https://www.opencascade.com/content/latest-release letzte Version].
* OCCT [https://www.opencascade.com/content/latest-release letzte Version]
* OCCT [https://git.dev.opencascade.org/gitweb/?p=occt.git git Repositorium]
* Glossar, [[Glossary#Open_CASCADE|Open CASCADE]]
* OpenCASCADE Gemeinschaftsausgabe (OCE) [https://github.com/tpaviot/oce git Repositorium]
* [http://en.wikipedia.org/wiki/Open_Cascade_Technology Offene Kaskadentechnologie] auf Wikipedia
* [http://en.wikipedia.org/wiki/Open_Cascade_Technology Open Cascade Technologie OCCT] auf Wikipedia
* OpenCASCADE Gemeinschaftsausgabe (OCE), [https://github.com/tpaviot/oce repository], [https://github.com/tpaviot/oce repository].
* Glossar, [[Glossary/de#Open_CASCADE|Open CASCADE]]
* Verfolgung von OCCT Fehlern im FreeCAD Bugtracker [https://forum.freecadweb.org/viewtopic.php?f=10&t=20264 (Beitrag)]


{{Userdocnavi{{#translation:}}}}
{{Powerdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
{{clear}}

Latest revision as of 15:04, 1 December 2023

Beschreibung

OpenCASCADE Technologie, kurz OCC oder OCCT, ist eine Sammlung von C++ Bibliotheken, die zusammen einen professionellen Computer-Aided-Design-Kernel (CAD-Kernel) für die Modellierung von 2D- und 3D-Objekten und den Aufbau spezialisierter Werkzeuge für die Fertigung, Simulation oder Visualisierung bilden. OpenCASCADE ist das Herzstück der geometrischen Fähigkeiten von FreeCAD.

Die geometrischen Klassen von OCCT werden in FreeCAD hauptsächlich durch das Modul Part umgesetzt und zur Verfügung gestellt, von dem die meisten anderen Arbeitsbereiche abhängen. Es enthält auch interne Funktionen zum Lesen und Schreiben verschiedener Dateiformate wie STEP und IGES und zum Ausführen von 2D-Projektionen, die zur Erstellung technischer Zeichnungen in TechDraw verwendet werden können.

OpenCASCADE stellt dem Arbeitsbereich Part die grundlegenden geometrischen Klassen und Zeichenfunktionen zur Verfügung, welche dann von allen Arbeitsbereichen in FreeCAD verwendet werden.

OpenCASCADE ist nicht zu verwechseln mit OpenSCAD, das ein anderes Open Source Projekt zur Erstellung von 3D-Modellen ist und über den Arbeitsbereich OpenSCAD zugänglich ist.

OpenCASCADE ist freie Software und unterliegt den Bedingungen der GNU Lesser General Public License (LGPL) Version 2.1 mit einer zusätzlichen Ausnahme.

Installation

OpenCASCADE ist eine Kernkomponente von FreeCAD. Wird FreeCAD über einen der Verweise auf der Seite Herunterladen geladen, wird es auch installiert, und es ist keine weitere Installation erforderlich.

Wenn du jedoch Anwendungen entwickeln möchtest, die OCCT verwenden, oder C++ Code zu FreeCAD beitragen möchtest, dann musst du die Entwicklungsdateien von OCCT installieren. In diesem Fall wird die Prozedur unter Kompilieren für jedes der Hauptsysteme, Linux, Windows und MacOS, erklärt.

Gemeinschaftsausgabe

Eine "Gemeinschaftsausgabe" von OpenCASCADE, abgekürzt OCE, wurde 2011 veröffentlicht, die auf den offiziellen OpenCASCADE Quellen (OCCT) der Version 6.5 basiert. Theoretisch sollte die Community Edition OCE in den meisten Aspekten mit der Hauptversion OCCT kompatibel sein, wobei einige zusätzliche Codes von der Gemeinschaft beigesteuert werden sollten.

Diese alternative Distribution stoppte jedoch um 2017 die aktive Entwicklung und blieb in Bezug auf Funktionen und Fehlerbehebungen hinter der Hauptversion zurück. Aus diesem Grund wird FreeCAD seit FreeCAD v0.17 ausschließlich mit OCCT kompiliert und OCE wird nicht getestet.

In einigen älteren Linux-Distributionen wird FreeCAD gegen OCE 0.18, äquivalent zu OCCT 6.9.x, kompiliert, was verschiedene Probleme verursacht, die bereits in den Hauptversionen von OCCT 7.x gelöst wurden. Wenn dies der Fall ist, versuche, OCE zu entfernen und stattdessen OCCT zu installieren. Falls dies nicht möglich ist, verwende das AnwendungsAbbild, um ein modernes FreeCAD mit einer aktualisierten OCCT-Version zu erhalten.

Geschichte

Der geometrische Kernel von Cas.CADE war ursprünglich Closed-Source, wurde aber um das Jahr 2000 unter seinem heutigen Namen Open-Source. Kurz danach wurde das FreeCAD-Projekt gestartet, wobei die ältesten Dateien auf Januar 2001 datiert sind. Lies mehr unter Geschichte.

OpenCASCADE Version 6.6 und früher wurde durch eine eigene öffentliche Lizenz "OCCT public license" reguliert, was es nicht gänzlich zu "freier Software" machte. Dies wurde mit der Veröffentlichung von OCCT 6.7 (2013) gelöst, als es die LGPL2-Lizenz übernahm.

OCCT geometrische Konzepte

In der OpenCascade-Terminologie unterscheiden wir zwischen geometrischen Grundelementen (engl.: primitives) und topologischen Formen. Ein geometrisches Grundelement kann ein Punkt, eine Linie, ein Kreis, eine Ebene usw. oder sogar einige komplexere Typen wie eine B-Spline-Kurve oder eine Oberfläche sein. Eine Form kann ein Knoten, eine Kante, ein Draht, eine Fläche, ein Solid oder eine Verbindung aus anderen Formen sein. Die geometrischen Grundelemente sind nicht dazu bestimmt, direkt in der 3D-Szene dargestellt zu werden, sondern als Baugeometrie für Formen zu dienen. So kann beispielsweise eine Kante aus einer Linie oder aus einem Teil eines Kreises konstruiert werden.

Zusammenfassend lässt sich sagen, dass Geometrie-Grundelemente "formlose" Bausteine sind, während topologische Formen die darauf aufgebauten realen Objekte sind.

Eine vollständige Liste aller Grundelemente und Formen findet man in der OCC-Dokumentation (Alternativ: sourcearchive.com) wenn man nach Geom_* (für geometrische Grundelemente) und TopoDS_* (für Formen) sucht. Dort kann man auch mehr über die Unterschiede zwischen ihnen lesen. Bitte beachte, dass die offizielle OCC-Dokumentation nicht online verfügbar ist (Du musst ein Archiv herunterladen) und sich hauptsächlich an Programmierer und nicht an Endbenutzer richtet. Aber hoffentlich findest du hier genügend Informationen, um anzufangen. Siehe auch Benutzerhandbuch zur Datenmodellierung.

Auf einer sehr hohen Stufe sagt die Topologie aus, aus welchen Teilen ein Objekt besteht und welche logischen Beziehungen zwischen ihnen bestehen. Eine Form besteht aus einem bestimmten Satz von Flächen. Eine Fläche wird durch einen bestimmten Satz von Kanten begrenzt. Zwei Flächen sind benachbart, wenn sie eine gemeinsame Kante besitzen.

Die Topologie allein sagt dir nichts über die Größe, Krümmung oder 3D-Positionen jedes dieser Teile. Jedes Teil der Topologie weiß jedoch über seine zugrundeliegende Geometrie Bescheid. Eine Fläche weiß, auf welcher Oberfläche sie liegt. Eine Kante weiß, auf welcher Kurve sie liegt. Die Geometrie weiß über Krümmung und Lage im Raum Bescheid.. - Quelle


So definiert die Topologie die Beziehung zwischen einfachen geometrischen Einheiten, die miteinander verbunden werden können, um komplexe Formen darzustellen. - Benutzerhandbuch zur Datenmodellierung

Hinweis: Nur 3 Arten von topologischen Objekten haben geometrische Abbilder - Knoten, Kante und Fläche (Quelle).

Die geometrischen Typen lassen sich tatsächlich in zwei große Gruppen unterteilen: Kurven und Oberflächen. Aus den Kurven (Linie, Kreis, ...) kann man direkt eine Kante bauen, aus den Oberflächen (Ebene, Zylinder,...) kann man eine Fläche bauen. So ist beispielsweise die geometrische Grundlinie unbegrenzt, d.h. sie wird durch einen Basisvektor und einen Richtungsvektor definiert, während ihre Formdarstellung irgendetwas sein muss, das durch einen Start- und Endpunkt begrenzt ist. Und ein Quader - ein Festkörper - kann durch sechs begrenzte Ebenen erstellt werden.

Von einer Kante oder Fläche aus kannst du auch zu seinem geometrischen Grundelement-Gegenstück zurückkehren.

So können aus Formen sehr komplexe Teile gebaut oder umgekehrt alle Unterformen extrahiert werden, aus denen eine komplexere Form besteht.

Die Klasse Part::TopoShape ist das geometrische Objekt, das auf dem Bildschirm zu sehen ist. Im Wesentlichen verwenden alle Arbeitsbereiche intern diese TopoFormen um Kanten, Flächen und Festkörper zu erstellen und anzuzeigen.

Verwandt