Part BooleanFragments/pl: Difference between revisions
(Created page with "{{Caption|Na powyższym obrazku poszczególne elementy zostały ręcznie rozsunięte, aby uwidocznić cięcie.}}") |
No edit summary |
||
(24 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
{{Docnav/pl |
{{Docnav/pl |
||
|[[Part_CompSplittingTools/pl|Komponent Podziel obiekty]] |
|[[Part_CompSplittingTools/pl|Komponent Podziel obiekty]] |
||
|[[Part_SliceApart/pl| |
|[[Part_SliceApart/pl|Rozetnij]] |
||
|[[Part_Workbench/pl|środowisko pracy Część]] |
|[[Part_Workbench/pl|środowisko pracy Część]] |
||
|IconL=Part_CompSplittingTools.png |
|IconL=Part_CompSplittingTools.png |
||
Line 28: | Line 28: | ||
{{Caption|Na powyższym obrazku poszczególne elementy zostały ręcznie rozsunięte, aby uwidocznić cięcie.}} |
{{Caption|Na powyższym obrazku poszczególne elementy zostały ręcznie rozsunięte, aby uwidocznić cięcie.}} |
||
Kształt wyjściowy jest zawsze złożony. Zawartość złożenia zależy od typu kształtu wejściowego i trybu działania. Oznacza to, że nie masz natychmiastowego dostępu do poszczególnych elementów wyniku - elementy pozostają zgrupowane. Poszczególne elementy można wyodrębnić poprzez rozbicie złożenia funkcją ''([[Draft_Downgrade/pl|Rozbij kształt]])''. |
|||
The output shape is always a compound. The content of the compound depends on input shape types and operation mode. That means, you don't immediately get access to individual pieces of the result - the pieces remain grouped together. The individual pieces can be extracted by exploding the compound ([[Draft_Downgrade|Draft Downgrade]]). |
|||
Narzędzie ma trzy tryby pracy: "Standardowy", "Podziel" i "BryłaZłożona". |
|||
'''Standard''' i '''Podziel''' różnią się działaniem narzędzia na linach, powłokach i bryłach. W przypadku opcji "Podziel " są one rozdzielane. W przypadku opcji "Standard" są one utrzymywane razem ''(otrzymują dodatkowe segmenty)''. |
|||
"Standard" and "Split" differ by the action of the tool on wires, shells and compsolids. If "Split", those are separated. If "Standard", they are kept together (get extra segments). |
|||
Struktura łączenia w trybach "Standard" i "Podziel" jest zgodna ze strukturą łączenia krojonego kształtu. Oznacza to, że jeśli wprowadzisz dwa złożenia, każde zawierające kulę, jak w powyższym przykładzie, wynik będzie również zawierał dwa złożenia, każde zawierające kawałki pierwotnie zawartej kuli. Oznacza to, że wspólny element zostanie powtórzony dwukrotnie w wyniku. Tylko jeśli kule wejściowe nie są częścią złożenia, wynik będzie zawierał wspólny element tylko raz. |
|||
Compounding structure in "Standard" and "Split" modes follows the compounding structure of inputs. That is, if you feed in two compounds, each containing a sphere like on example above, the result will also contain two compounds, each containing the pieces of the originally contained sphere. That means, the common piece will be repeated twice in the result. Only if the input spheres are both not in compounds, the result will contain the common piece once. |
|||
W trybie "BryłaZłożona" bryły są łączone w bryłę złożoną ''(bryła złożona to zestaw brył połączonych ścianami. Są one powiązane z bryłami tak, jak linie są powiązane z krawędziami, a powłoki są powiązane ze ścianami. Nazwa pochodzi więc od wyrażenia "bryła złożona")''. Wynikiem jest nie zagnieżdżony zbiór brył złożonych |
|||
In "CompSolid" mode, the solids are joined into a compsolid (compsolid is a set of solids connected by faces; they are related to solids like wires are related to edges, and shells are related to faces; the name is probably a shortened phrase "composite solid"). The output is a non-nested compound of compsolids |
|||
= |
<span id="Usage"></span> |
||
==Użycie== |
|||
# Wybierz obiekty do przecięcia. |
|||
# Select objects to be intersected. <br /> The order of selection is not important, since the action of the tool is symmetric. It is enough to select one sub-shape of each object (e.g., faces). You can also select a compound containing all the shapes to be connected, e.g. [[Draft_OrthoArray|Draft OrthoArray]]. |
|||
<br> Kolejność wyboru nie ma znaczenia, ponieważ działanie narzędzia jest symetryczne. Wystarczy wybrać jeden kształt podrzędny każdego obiektu ''(np. ściany)''. Możesz także wybrać złożenie zawierające wszystkie kształty do połączenia, np. [[Draft_OrthoArray/pl|w Szyku ortogonalnym]]. |
|||
# Invoke the Part BooleanFragments command several ways: |
|||
# Polecenie '''Fragmentacja funkcją logiczną''' można wywołać na kilka sposobów: |
|||
#* |
#* Naciskając przycisk [[Image:Part_BooleanFragments.svg|24px|link=Part_BooleanFragments/pl]] na pasku narzędzi. |
||
#* Using the {{MenuCommand|Part → Split → Boolean Fragments}} entry in the Part menu |
|||
#* Używając pozycji {{MenuCommand|Część → Podziel → Fragmentacja funkcją logiczną}} w menu głównym. |
|||
Tworzony jest obiekt parametryczny ```FragmentyLogiczne```. Oryginalne obiekty są ukrywane, a wynik połączenia jest wyświetlany w oknie [[3D_view/pl|widoku 3D]]. |
|||
A Boolean Fragments parametric object is created. Original objects are hidden, and the result of intersection is shown in [[3D_view|3D view]]. |
|||
= |
<span id="Properties"></span> |
||
==Właściwości== |
|||
{{TitleProperty| |
{{TitleProperty|Fragmenty logiczne}} |
||
* {{PropertyData| |
* {{PropertyData|Obiekty}}: Lista obiektów do przecięcia. Ogólnie rzecz biorąc, potrzebne są co najmniej dwa obiekty, ale pojedyncze złożenie zawierające kształty do przecięcia również się nada. ''(od wersji FreeCAD v0.17.8053 właściwość ta nie jest wyświetlana w edytorze właściwości i można uzyskać do niej dostęp tylko za pośrednictwem środowiska Python)''. |
||
* {{PropertyData|Tryb}}: '''Standartowy''', '''Podziel''' lub '''BryłaZłożona'''. Wartość "Standardowy" jest ustawieniem domyślnym. Standartowy i Podziel różnią się działaniem narzędzia na kształcie typu zbiorczego: jeśli wybrano Podziel, są one rozdzielane. W przeciwnym razie są trzymane razem ''(otrzymują dodatkowe segmenty)''. |
|||
* {{PropertyData|Mode}}: "Standard", "Split", or "CompSolid". "Standard" is default. Standard and Split differ by the action of the tool on aggregation type shapes: if Split, those are separated; otherwise they are kept together (get extra segments). |
|||
* {{PropertyData|Tolerancja}}: wartość '''Rozmyj'''. Jest to dodatkowa tolerancja stosowana podczas wyszukiwania przecięć, oprócz tolerancji przechowywanych w kształtach wejściowych. |
|||
* {{PropertyData|Tolerance}}: "fuzziness" value. This is an extra tolerance to apply when searching for intersections, in addition to tolerances stored in the input shapes. |
|||
<span id="Implementation_details"></span> |
|||
==Implementation details== |
|||
==Szczegóły realizacji== |
|||
Boolean Fragments |
Narzędzie Boolean Fragments w "trybie standardowym" to Ogólny Operator Scalenia ''('''G'''eneral '''F'''use '''O'''perator GFA)'' OpenCascade. Akceptuje on kombinację prawdopodobnie wszystkich typów kształtów, a logika wyjścia jest dość zawiła. Zobacz [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__boolean_operations.html Podręcznik użytkownika OpenCascade: Operacje logiczne] jeśli ten temat Cię zainteresował. |
||
W trybach "Podziel" i "BryłaZłożona" przeprowadzane jest przez FreeCAD dodatkowe przetwarzanie końcowe. |
|||
For "Split" and "CompSolid" modes, extra post-processing is done by FreeCAD. |
|||
= |
<span id="Scripting"></span> |
||
==Tworzenie skryptów== |
|||
Narzędzie '''Fragmentacja funkcją logiczną''' może być używane w [[macros/pl|makrodefinicjach]] i z konsoli [[Python/pl|Python]] za pomocą następującej funkcji: |
|||
The tool can by used in [[Macros|macros]] and from the [[Python|python]] console by using the following function: |
|||
'''BOPTools.SplitFeatures.makeBooleanFragments(name)''' |
'''BOPTools.SplitFeatures.makeBooleanFragments(name)''' |
||
* Tworzy pustą cechę Fragmentacja funkcją logiczną. Właściwość "Obiekty" musi zostać przypisana jawnie, a następnie. |
|||
* Creates an empty BooleanFragments feature. The 'Objects' property must be assigned explicitly, afterwards. |
|||
* Zwraca nowo utworzony obiekt. |
|||
* Returns the newly created object. |
|||
Funkcja Fragmentacja funkcją logiczną może być również stosowana do zwykłych kształtów, bez konieczności posiadania obiektu dokumentu: |
|||
BooleanFragments can also be applied to plain shapes, without the need to have a document object, via: |
|||
{{code|code= |
{{code|code= |
||
Line 80: | Line 85: | ||
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence |
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence |
||
}} |
}} |
||
Może to być przydatne do tworzenia niestandardowych funkcji skryptowych Python. |
|||
This can be useful for making custom Python scripted features. |
|||
Przykład: |
|||
Example: |
|||
{{code|code= |
{{code|code= |
||
import BOPTools.SplitFeatures |
import BOPTools.SplitFeatures |
||
Line 89: | Line 94: | ||
}} |
}} |
||
Samo narzędzie jest zaimplementowane w środowisku Python, patrz /Mod/Part/BOPTools/SplitFeatures.py w miejscu instalacji FreeCAD. |
|||
= |
<span id="Notes"></span> |
||
==Uwagi== |
|||
Narzędzie zostało wprowadzone w wersji FreeCAD v0.17.8053. FreeCAD musi być skompilowany z OCC '''6.9.0''' lub nowszym. W przeciwnym razie narzędzie jest niedostępne. |
|||
{{Docnav |
{{Docnav/pl |
||
|[[Part_CompSplittingTools| |
|[[Part_CompSplittingTools/pl|Komponent Podziel obiekty]] |
||
|[[Part_SliceApart| |
|[[Part_SliceApart/pl|Rozetnij]] |
||
|[[Part_Workbench| |
|[[Part_Workbench/pl|środowisko pracy Część]] |
||
|IconL=Part_CompSplittingTools.png |
|IconL=Part_CompSplittingTools.png |
||
|IconR=Part_SliceApart.svg |
|IconR=Part_SliceApart.svg |
Latest revision as of 15:56, 6 July 2023
Część: Fragmentacja funkcją logiczną |
Lokalizacja w menu |
---|
Część → Rozdziel → Fragmentacja funkcją logiczną |
Środowisko pracy |
Część |
Domyślny skrót |
brak |
Wprowadzono w wersji |
0.17 |
Zobacz także |
Krojenie, Logiczny XOR, Połącz obiekty, Operacje logiczne na bryłach |
Opis
Narzędzie do obliczania wszystkich fragmentów, które mogą wynikać z zastosowania operacji logicznych między kształtami wejściowymi. Na przykład dla dwóch przenikających się kul generowane są trzy nienakładające się, ale stykające się bryły.
Na powyższym obrazku poszczególne elementy zostały ręcznie rozsunięte, aby uwidocznić cięcie.
Kształt wyjściowy jest zawsze złożony. Zawartość złożenia zależy od typu kształtu wejściowego i trybu działania. Oznacza to, że nie masz natychmiastowego dostępu do poszczególnych elementów wyniku - elementy pozostają zgrupowane. Poszczególne elementy można wyodrębnić poprzez rozbicie złożenia funkcją (Rozbij kształt).
Narzędzie ma trzy tryby pracy: "Standardowy", "Podziel" i "BryłaZłożona".
Standard i Podziel różnią się działaniem narzędzia na linach, powłokach i bryłach. W przypadku opcji "Podziel " są one rozdzielane. W przypadku opcji "Standard" są one utrzymywane razem (otrzymują dodatkowe segmenty).
Struktura łączenia w trybach "Standard" i "Podziel" jest zgodna ze strukturą łączenia krojonego kształtu. Oznacza to, że jeśli wprowadzisz dwa złożenia, każde zawierające kulę, jak w powyższym przykładzie, wynik będzie również zawierał dwa złożenia, każde zawierające kawałki pierwotnie zawartej kuli. Oznacza to, że wspólny element zostanie powtórzony dwukrotnie w wyniku. Tylko jeśli kule wejściowe nie są częścią złożenia, wynik będzie zawierał wspólny element tylko raz.
W trybie "BryłaZłożona" bryły są łączone w bryłę złożoną (bryła złożona to zestaw brył połączonych ścianami. Są one powiązane z bryłami tak, jak linie są powiązane z krawędziami, a powłoki są powiązane ze ścianami. Nazwa pochodzi więc od wyrażenia "bryła złożona"). Wynikiem jest nie zagnieżdżony zbiór brył złożonych
Użycie
- Wybierz obiekty do przecięcia.
Kolejność wyboru nie ma znaczenia, ponieważ działanie narzędzia jest symetryczne. Wystarczy wybrać jeden kształt podrzędny każdego obiektu (np. ściany). Możesz także wybrać złożenie zawierające wszystkie kształty do połączenia, np. w Szyku ortogonalnym.
- Polecenie Fragmentacja funkcją logiczną można wywołać na kilka sposobów:
Tworzony jest obiekt parametryczny ```FragmentyLogiczne```. Oryginalne obiekty są ukrywane, a wynik połączenia jest wyświetlany w oknie widoku 3D.
Właściwości
Fragmenty logiczne
- DANEObiekty: Lista obiektów do przecięcia. Ogólnie rzecz biorąc, potrzebne są co najmniej dwa obiekty, ale pojedyncze złożenie zawierające kształty do przecięcia również się nada. (od wersji FreeCAD v0.17.8053 właściwość ta nie jest wyświetlana w edytorze właściwości i można uzyskać do niej dostęp tylko za pośrednictwem środowiska Python).
- DANETryb: Standartowy, Podziel lub BryłaZłożona. Wartość "Standardowy" jest ustawieniem domyślnym. Standartowy i Podziel różnią się działaniem narzędzia na kształcie typu zbiorczego: jeśli wybrano Podziel, są one rozdzielane. W przeciwnym razie są trzymane razem (otrzymują dodatkowe segmenty).
- DANETolerancja: wartość Rozmyj. Jest to dodatkowa tolerancja stosowana podczas wyszukiwania przecięć, oprócz tolerancji przechowywanych w kształtach wejściowych.
Szczegóły realizacji
Narzędzie Boolean Fragments w "trybie standardowym" to Ogólny Operator Scalenia (General Fuse Operator GFA) OpenCascade. Akceptuje on kombinację prawdopodobnie wszystkich typów kształtów, a logika wyjścia jest dość zawiła. Zobacz Podręcznik użytkownika OpenCascade: Operacje logiczne jeśli ten temat Cię zainteresował.
W trybach "Podziel" i "BryłaZłożona" przeprowadzane jest przez FreeCAD dodatkowe przetwarzanie końcowe.
Tworzenie skryptów
Narzędzie Fragmentacja funkcją logiczną może być używane w makrodefinicjach i z konsoli Python za pomocą następującej funkcji:
BOPTools.SplitFeatures.makeBooleanFragments(name)
- Tworzy pustą cechę Fragmentacja funkcją logiczną. Właściwość "Obiekty" musi zostać przypisana jawnie, a następnie.
- Zwraca nowo utworzony obiekt.
Funkcja Fragmentacja funkcją logiczną może być również stosowana do zwykłych kształtów, bez konieczności posiadania obiektu dokumentu:
import BOPTools.SplitAPI
BOPTools.SplitAPI.booleanFragments(list_of_shapes, mode, tolerance = 0.0)
# OR, for Standard mode:
list_of_shapes = [App.ActiveDocument.Sphere.Shape, App.ActiveDocument.Sphere001.Shape]
pieces, map = list_of_shapes[0].generalFuse(list_of_shapes[1:], tolerance)
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence
Może to być przydatne do tworzenia niestandardowych funkcji skryptowych Python.
Przykład:
import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeBooleanFragments(name= 'BooleanFragments')
j.Objects = FreeCADGui.Selection.getSelection()
Samo narzędzie jest zaimplementowane w środowisku Python, patrz /Mod/Part/BOPTools/SplitFeatures.py w miejscu instalacji FreeCAD.
Uwagi
Narzędzie zostało wprowadzone w wersji FreeCAD v0.17.8053. FreeCAD musi być skompilowany z OCC 6.9.0 lub nowszym. W przeciwnym razie narzędzie jest niedostępne.
- Bryły pierwotne: Prostopadłościan, Walec, Sfera, Stożek, Torus, Rura, Bryły pierwotne, Konstruktor kształtu
- Tworzenie i modyfikacja: Wyciągnij, Wyciągnij przez obrót, Odbicie lustrzane, Zaokrąglenie, Fazka, Utwórz ścianę z linii łamanych, Powierzchnia prostokreślna, Wyciągnięcie przez profile, Wyciągnięcie po ścieżce, Przecięcie, Przekrój poprzeczny, Odsunięcie 3D, Odsunięcie 2D, Grubość, Rzutowanie na powierzchnię, Mocowanie
- Funkcje logiczne: Utwórz złożenie, Rozbij złożenie, Filtr złożeń, Funkcje logiczne, Wytnij, Połączenie, Część wspólna, Przyłącz, Dołącz do osadzenia, Wycięcie połączenia, Funkcja logiczna rozdzielająca, Pokrój część, Krojenie, XOR
- Wymiarowanie: Wymiarowanie liniowe, Wymiarowanie kątowe, Odśwież wymiary, Usuń wymiary, Przełącz widoczność wymiaru, Przełącz widoczność wymiarów przestrzennych, Przełącz widoczność wymiarów przyrostowych
- Jak zacząć
- Instalacja: Pobieranie programu, Windows, Linux, Mac, Dodatkowych komponentów, Docker, AppImage, Ubuntu Snap
- Podstawy: Informacje na temat FreeCAD, Interfejs użytkownika, Profil nawigacji myszką, Metody wyboru, Nazwa obiektu, Edytor ustawień, Środowiska pracy, Struktura dokumentu, Właściwości, Pomóż w rozwoju FreeCAD, Dotacje
- Pomoc: Poradniki, Wideo poradniki
- Środowiska pracy: Strona Startowa, Architektura, Assembly, CAM, Rysunek Roboczy, MES, Inspekcja, Siatka, OpenSCAD, Część, Projekt Części, Punkty, Inżynieria Wsteczna, Robot, Szkicownik, Arkusz Kalkulacyjny, Powierzchnia 3D, Rysunek Techniczny, Test Framework