OpenCASCADE/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "{{Caption|OpenCASCADE dostarcza podstawowe klasy geometryczne i funkcje rysunkowe do środowiska pracy Część, które są następnie wykorzystywane prz...")
(Created page with "<blockquote style="color: slategray">''W ten sposób Topologia definiuje związek pomiędzy prostymi bryłami geometrycznymi, które mogą być łączone razem, aby reprezento...")
 
(27 intermediate revisions by 2 users not shown)
Line 13: Line 13:
{{Caption|OpenCASCADE dostarcza podstawowe klasy geometryczne i funkcje rysunkowe do środowiska pracy [[Part_Workbench/pl|Część]], które są następnie wykorzystywane przez wszystkie grupy robocze w programie FreeCAD.}}
{{Caption|OpenCASCADE dostarcza podstawowe klasy geometryczne i funkcje rysunkowe do środowiska pracy [[Part_Workbench/pl|Część]], które są następnie wykorzystywane przez wszystkie grupy robocze w programie FreeCAD.}}


OpenCASCADE should not be confused with [https://www.openscad.org/ OpenSCAD], which is a different open source project to build 3D models, and which is accessible through the [[OpenSCAD_Workbench|OpenSCAD Workbench]].
OpenCASCADE nie powinien być mylony z [https://www.openscad.org/ OpenSCAD], który jest innym projektem open source do budowy modeli 3D, dostępnym poprzez środowisko pracy [[OpenSCAD_Workbench/pl|OpenSCAD]].


OpenCASCADE is free software governed by the terms of the GNU Lesser General Public License (LGPL) version 2.1 with an additional exception.
OpenCASCADE jest wolnym oprogramowaniem podlegającym warunkom licencji GNU Lesser General Public License ''(LGPL)'' w wersji 2.1 z dodatkowym wyjątkiem.


== Installation ==
==Instalacja==


OpenCASCADE is a core component of FreeCAD, so if you get FreeCAD from one of the links in the [[Download|Download]] page, you will have it installed, and no further installation is necessary.
OpenCASCADE jest podstawowym komponentem FreeCAD, więc jeśli pobierzesz FreeCAD z jednego z linków na stronie [[Download/pl|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|Compiling]] for each of the main systems, Linux, Windows, and MacOS.
Jednakże, jeśli chciałbyś rozwijać aplikacje, które używają OCCT, lub chciałbyś dodać kod C++ do FreeCAD, wtedy musisz zainstalować pliki programistyczne OCCT. W tym przypadku, procedura jest wyjaśniona na stronie [[Compiling/pl|Kompilacja]] dla każdego z głównych systemów, Linux, MacOS i Windows.


==Edycja społecznościowa==
== Community edition ==


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.
Edycja społecznościowa" OpenCASCADE, w skrócie OCE, została wydana w 2011 roku, w oparciu o oficjalne źródła OpenCASCADE ''(OCCT)'' w wersji 6.5. W teorii wydanie społecznościowe OCE powinno być kompatybilne z główną wersją OCCT w większości aspektów, jednocześnie posiadając pewien dodatkowy kod wniesiony przez społeczność.


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.
Jednak ta alternatywna dystrybucja przestała aktywnie rozwijać się około 2017 roku i pozostała w tyle za główną wersją pod względem funkcji i poprawek błędów. Z tego powodu, od wersji FreeCAD v0.17, FreeCAD jest kompilowany wyłącznie z OCCT, a OCE nie jest testowany.


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.
W niektórych starszych dystrybucjach Linuksa, FreeCAD jest kompilowany z OCE 0.18, odpowiednikiem OCCT 6.9.x, powodując różne problemy, które zostały już rozwiązane w głównych wydaniach OCCT 7.x. Jeśli tak jest, spróbuj usunąć OCE i zainstalować OCCT zamiast niego. Jeśli nie jest to możliwe, użyj kompilacji [[AppImage/pl|AppImage]] aby uzyskać nowoczesny FreeCAD z zaktualizowaną wersją OCCT.


== History ==
==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|History]].
Jądro geometryczne Cas.CADE było pierwotnie zamknięte, ale stało się open source pod obecną nazwą około roku 2000. Niedługo potem rozpoczęto projekt FreeCAD, którego najstarsze pliki datowane na styczeń 2001 roku. Czytaj więcej na stronie [[History/pl|Historia]].


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.
OpenCASCADE w wersji 6.6 i wcześniejszych podlegał własnej "licencji publicznej OCCT", co sprawiało, że nie był w pełni "wolnym oprogramowaniem". Problem ten został rozwiązany wraz z wydaniem OCCT 6.7 ''(2013)'', kiedy to przyjęto w nim licencję LGPL2.


==Koncepcje geometryczne OCCT==
== OCCT geometric concepts ==


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.
In OpenCascade terminology, we distinguish between geometric primitives and topological shapes. A geometric primitive can be a point, a line, a circle, a plane, etc. or even some more complex types like a B-Spline curve or a surface. A shape can be a vertex, an edge, a wire, a face, a solid or a compound of other shapes. The geometric primitives are not made to be directly displayed on the 3D scene, but rather to be used as building geometry for shapes. For example, an edge can be constructed from a line or from a portion of a circle.


Podsumowując, prymitywy geometryczne to '''bezkształtne''' elementy konstrukcyjne, podczas gdy kształty [[Part_TopoShape/pl|topologiczne]] to realne obiekty zbudowane w ich oparciu.
In summary, geometry primitives are "shapeless" building blocks, while [[Part_TopoShape|topological shapes]] are the real objects built on them.


A complete list of all primitives and shapes refer to the [http://www.opencascade.org/org/doc/ OCC documentation] (Alternative: [https://www.opencascade.com/doc/occt-7.4.0/refman/html/ 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 [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Modeling Data User's Guide].
Pełna lista wszystkich elementów pierwotnych i kształtów znajduje się w [https://dev.opencascade.org/resources/documentation dokumentacji OCC] (Alternatywnie: [https://www.opencascade.com/doc/occt-7.4.0/refman/html/ sourcearchive.com]) i szukaj '''Geom_*''' ''(dla prymitywów geometrycznych)'' i '''TopoDS_*''' ''(dla kształtów)''. Tam możesz również przeczytać więcej o różnicach między nimi. Należy pamiętać, że oficjalna dokumentacja OCC nie jest dostępna online (musisz pobrać archiwum) i jest skierowana głównie do programistów, a nie do użytkowników końcowych. Ale mam nadzieję, że znajdziesz wystarczająco dużo informacji, aby zacząć tutaj. Zobacz również [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Podręcznik użytkownika danych modelowania].


<blockquote style="color: slategray">''At a very high level, topology tells what pieces an object is made of, and the logical relationships between them. A shape is made of a certain set of faces. A face is bounded by a certain set of edges. Two faces are adjacent if they share a common edge.''</blockquote>
<blockquote style="color: slategray">''Na bardzo wysokim poziomie topologia mówi, z jakich części składa się obiekt i jakie 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ź.''</blockquote>


<blockquote style="color: slategray">''Topology alone does not tell you the size, curvature, or 3D locations of any of those pieces. However, each piece of topology does knows about it's underlying geometry. A face knows what surface it lies on. An edge knows what curve it lies on. The geometry knows about curvature and location in space.'' - [https://www.opencascade.com/content/geometry-and-topology Source]</blockquote>
<blockquote style="color: slategray">''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.'' - [https://www.opencascade.com/content/geometry-and-topology Source]</blockquote>


<hr />
<hr />


<blockquote style="color: slategray">''Thus, Topology defines the relationship between simple geometric entities, which can be linked together to represent complex shapes.'' - [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Modeling Data User's Guide]</blockquote>
<blockquote style="color: slategray">''W ten sposób Topologia definiuje związek pomiędzy prostymi bryłami geometrycznymi, które mogą być łączone razem, aby reprezentować złożone kształty.'' - [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Podręcznik użytkownika danych modelowania]</blockquote>


[[File:ClassTopoDS_Shape_inherit_graph.png]]
[[File:ClassTopoDS_Shape_inherit_graph.png]]


'''Note:''' Only 3 types of topological objects have geometric representations – vertex, edge, and face ([https://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade.html Source]).
'''Note:''' Tylko 3 typy obiektów topologicznych mają reprezentacje geometryczne - wierzchołek, krawędź i powierzchnia ''([https://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade.html ź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.
The geometric types actually can be divided into two major groups: curves and surfaces. Out of the curves (line, circle, ...) you can directly build an edge, out of the surfaces (plane, cylinder, ...) a face can be built. For example, the geometric primitive line is unlimited, i.e. it is defined by a base vector and a direction vector while its shape representation must be something limited by a start and end point. And a box -- a solid -- can be created by six limited planes.


Z krawędzi lub ściany można również powrócić do jej pierwotnego geometrycznego odpowiednika.
From an edge or face you can also go back to its geometric primitive counterpart.


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.
Thus, out of shapes you can build very complex parts or, the other way round, extract all sub-shapes a more complex shape is made of.


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


{{Caption|The {{incode|Part::TopoShape}} class is the geometrical object that is seen on screen. Essentially all workbenches use these [[Part_TopoShape|TopoShapes]] internally to build and display edges, faces, and solids.}}
{{Caption|{{incode|Part::TopoShape}} jest klasą obiektu geometrycznego, który jest widoczny na ekranie. Zasadniczo wszystkie Środowiska pracy wykorzystują te kształty [[Part_TopoShape|TopoShapes]] wewnętrznie, aby budować i wyświetlać krawędzie, ściany i bryły.}}


== Related ==
==Powiązane==


* OpenCASCADE Technology (OCCT) [http://www.opencascade.com main website]
* OpenCASCADE Technology (OCCT) [http://www.opencascade.com strona główna]
* OCCT [https://dev.opencascade.org/ development portal]
* OCCT [https://dev.opencascade.org/ portal deweloperski]
* OCCT [https://www.opencascade.com/content/latest-release latest release]
* OCCT [https://www.opencascade.com/content/latest-release najnowsze wydanie]
* OCCT [https://git.dev.opencascade.org/gitweb/?p=occt.git git repository]
* OCCT [https://git.dev.opencascade.org/gitweb/?p=occt.git repozytorium git]
* OpenCASCADE Community Edition (OCE) [https://github.com/tpaviot/oce git repository]
* OpenCASCADE Community Edition (OCE) [https://github.com/tpaviot/oce repozytorium git]
* [http://en.wikipedia.org/wiki/Open_Cascade_Technology Open Cascade Technology OCCT] on Wikipedia
* w Wikipedii [[http://en.wikipedia.org/wiki/Open_Cascade_Technology Open Cascade Technology OCCT]]
* Glossary, [[Glossary#Open_CASCADE|Open CASCADE]]
* Słownik pojęć, [[Glossary/pl#Open_CASCADE|Open CASCADE]]
* Tracking OCCT bugs in the FreeCAD bugtracker [https://forum.freecadweb.org/viewtopic.php?f=10&t=20264 (thread)]
* Śledzenie błędów OCCT w bugtrackerze programu FreeCAD [https://forum.freecadweb.org/viewtopic.php?f=10&t=20264 ''(wątek)'']


{{Powerdocnavi{{#translation:}}}}
{{Powerdocnavi{{#translation:}}}}

Latest revision as of 16:03, 7 July 2022

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.

Jednakże, jeśli chciałbyś rozwijać aplikacje, które używają OCCT, lub chciałbyś dodać kod C++ do FreeCAD, wtedy musisz zainstalować pliki programistyczne OCCT. W tym przypadku, procedura jest wyjaśniona na stronie Kompilacja dla każdego z głównych systemów, Linux, MacOS i Windows.

Edycja społecznościowa

Edycja społecznościowa" OpenCASCADE, w skrócie OCE, została wydana w 2011 roku, w oparciu o oficjalne źródła OpenCASCADE (OCCT) w wersji 6.5. W teorii wydanie społecznościowe OCE powinno być kompatybilne z główną wersją OCCT w większości aspektów, jednocześnie posiadając pewien dodatkowy kod wniesiony przez społeczność.

Jednak ta alternatywna dystrybucja przestała aktywnie rozwijać się około 2017 roku i pozostała w tyle za główną wersją pod względem funkcji i poprawek błędów. Z tego powodu, od wersji FreeCAD v0.17, FreeCAD jest kompilowany wyłącznie z OCCT, a OCE nie jest testowany.

W niektórych starszych dystrybucjach Linuksa, FreeCAD jest kompilowany z OCE 0.18, odpowiednikiem OCCT 6.9.x, powodując różne problemy, które zostały już rozwiązane w głównych wydaniach OCCT 7.x. Jeśli tak jest, spróbuj usunąć OCE i zainstalować OCCT zamiast niego. Jeśli nie jest to możliwe, użyj kompilacji AppImage aby uzyskać nowoczesny FreeCAD z zaktualizowaną wersją OCCT.

Historia

Jądro geometryczne Cas.CADE było pierwotnie zamknięte, ale stało się open source pod obecną nazwą około roku 2000. Niedługo potem rozpoczęto projekt FreeCAD, którego najstarsze pliki datowane są na styczeń 2001 roku. Czytaj więcej na stronie Historia.

OpenCASCADE w wersji 6.6 i wcześniejszych podlegał własnej "licencji publicznej OCCT", co sprawiało, że nie był w pełni "wolnym oprogramowaniem". Problem ten został rozwiązany wraz z wydaniem OCCT 6.7 (2013), kiedy to przyjęto w nim licencję LGPL2.

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.

Pełna lista wszystkich elementów pierwotnych i kształtów znajduje się w dokumentacji OCC (Alternatywnie: sourcearchive.com) i szukaj Geom_* (dla prymitywów geometrycznych) i TopoDS_* (dla kształtów). Tam możesz również przeczytać więcej o różnicach między nimi. Należy pamiętać, że oficjalna dokumentacja OCC nie jest dostępna online (musisz pobrać archiwum) i jest skierowana głównie do programistów, a nie do użytkowników końcowych. Ale mam nadzieję, że znajdziesz wystarczająco dużo informacji, aby zacząć tutaj. Zobacz również Podręcznik użytkownika danych modelowania.

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


W ten sposób Topologia definiuje związek pomiędzy prostymi bryłami geometrycznymi, które mogą być łączone razem, aby reprezentować złożone kształty. - Podręcznik użytkownika danych modelowania

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