OpenCASCADE

From FreeCAD Documentation
Revision as of 15:48, 7 July 2022 by Kaktus (talk | contribs) (Created page with "OpenCASCADE jest podstawowym komponentem FreeCAD, więc jeśli pobierzesz FreeCAD z jednego z linków na stronie Pobierania, będziesz miał go zainstalowanego...")

Opis

OpenCASCADE Technology, w skrócie OCC lub OCCT, jest zbiorem bibliotek C++, które razem tworzą profesjonalne jądro komputerowego wspomagania projektowania (CAD) do modelowania obiektów 2D i 3D oraz budowania specjalistycznych narzędzi do produkcji, symulacji lub wizualizacji. OpenCASCADE jest sercem geometrycznych możliwości programu FreeCAD.

Klasy geometryczne OCCT są w większości zaimplementowane i udostępnione w programie FreeCAD za pośrednictwem środowiska pracy Część, od którego zależy większość innych środowisk pracy. Udostępnia on także wewnętrzne funkcje odczytu i zapisu różnych formatów plików, takich jak STEP i IGES, oraz wykonywania rzutów 2D, które mogą być używane do tworzenia rysunków technicznych w środowisku pracy Rysunek Techniczny.

OpenCASCADE dostarcza podstawowe klasy geometryczne i funkcje rysunkowe do środowiska pracy Część, które są następnie wykorzystywane przez wszystkie grupy robocze w programie FreeCAD.

OpenCASCADE nie powinien być mylony z OpenSCAD, który jest innym projektem open source do budowy modeli 3D, dostępnym poprzez środowisko pracy OpenSCAD.

OpenCASCADE jest wolnym oprogramowaniem podlegającym warunkom licencji GNU Lesser General Public License (LGPL) w wersji 2.1 z dodatkowym wyjątkiem.

Instalacja

OpenCASCADE jest podstawowym komponentem FreeCAD, więc jeśli pobierzesz FreeCAD z jednego z linków na stronie Pobierania, będziesz miał go zainstalowanego i żadna dalsza akcja instalacji nie jest konieczna.

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 for each of the main systems, Linux, Windows, and MacOS.

Edycja społecznościowa

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.

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.

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 to get a modern FreeCAD with an updated OCCT version.

Historia

The Cas.CADE geometric kernel was originally closed source, but it became open source under its current name around the year 2000. Shortly after, the FreeCAD project was started, with the oldest files being dated to January 2001. Read more in History.

OpenCASCADE version 6.6 and earlier were governed by its own "OCCT public license", which made it not entirely "free software". This was solved with the release of OCCT 6.7 (2013), when it adopted the LGPL2 license.

Koncepcje geometryczne OCCT

W terminologii OpenCascade rozróżniamy geometryczne prymitywy i kształty powierzchniowe. Geometryczny prymityw może być punktem, linią, okręgiem, płaszczyzną itp. lub nawet bardziej skomplikowanymi typami, takimi jak krzywa złożona (B-Spline) lub powierzchnia. Kształt może być wierzchołkiem, krawędzią, obwodem, ścianą, bryłą lub składnikiem innych kształtów. Pierwotne elementy geometryczne nie są przeznaczone do bezpośredniego wyświetlania na scenie 3D, ale raczej do wykorzystania jako geometria konstrukcji kształtów. Na przykład, krawędź może być zbudowana z linii lub z fragmentu okręgu.

Podsumowując, prymitywy geometryczne to bezkształtne elementy konstrukcyjne, podczas gdy kształty topologiczne to realne obiekty zbudowane w ich oparciu.

A complete list of all primitives and shapes refer to the OCC documentation (Alternative: sourcearchive.com) and search for Geom_* (for geometric primitives) and TopoDS_* (for shapes). There you can also read more about the differences between them. Please note that the official OCC documentation is not available online (you must download an archive) and is mostly aimed at programmers, not at end-users. But hopefully you'll find enough information to get started here. Also see Modeling Data User's Guide.

Na bardzo wysokim poziomie topologia mówi, z jakich części składa się obiekt i jakie są logiczne relacje między nimi. Kształt tworzony jest z określonego zestawu powierzchni. Powierzchnia jest ograniczona pewnym zestawem krawędzi. Dwie powierzchnie sąsiadują ze sobą, jeśli mają wspólną krawędź.

Sama topologia nie określa wielkości, krzywizny ani lokalizacji 3D żadnego z tych elementów. Jednak każdy element topologii wie o swojej podstawowej geometrii. Każda ściana wie, na jakiej powierzchni się znajduje. Krawędź wie, na jakiej krzywej leży. Geometria wie o krzywiznach i położeniu w przestrzeni. - Source


Thus, Topology defines the relationship between simple geometric entities, which can be linked together to represent complex shapes. - Modeling Data User's Guide

Note: Tylko 3 typy obiektów topologicznych mają reprezentacje geometryczne - wierzchołek, krawędź i powierzchnia (źródło).

Typy geometryczne można podzielić na dwie główne grupy: krzywe i powierzchnie. Z krzywych (linii, okręgu, ...) można bezpośrednio zbudować krawędź, z powierzchni (płaszczyzna, cylinder, ...) można zbudować ścianę. Na przykład, pierwotna linia geometryczna jest nieograniczona, tzn. jest zdefiniowana wektorem bazowym i wektorem kierunku, podczas gdy jej reprezentacja kształtu musi być czymś ograniczonym np. przez punkt początkowy i końcowy. A kostka - bryła - może być utworzone przez sześć ograniczonych płaszczyzn.

Z krawędzi lub ściany można również powrócić do jej pierwotnego geometrycznego odpowiednika.

Zatem z kształtów można budować bardzo złożone części lub, odwrotnie, wyodrębniać wszystkie kształty podrzędne, z których składa się bardziej złożony kształt.

Part::TopoShape jest klasą obiektu geometrycznego, który jest widoczny na ekranie. Zasadniczo wszystkie Środowiska pracy wykorzystują te kształty TopoShapes wewnętrznie, aby budować i wyświetlać krawędzie, ściany i bryły.

Powiązane