Część: Fragmentacja funkcją logiczną
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: "Standartowy", "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 mieszania w trybach "Standard" i "Podziel" jest zgodna ze strukturą mieszania danych wejściowych. 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
Boolean Fragments
- DANEObjects: List of objects to be intersected. Generally, at least two objects are needed, but a single compound containing the shapes to intersect will do as well. (as of FreeCAD v0.17.8053, this property is not displayed in property editor, and can only be accessed via Python).
- DANEMode: "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).
- DANETolerance: "fuzziness" value. This is an extra tolerance to apply when searching for intersections, in addition to tolerances stored in the input shapes.
Implementation details
Boolean Fragments tool in "Standard mode" is OpenCascade's General Fuse Operator (GFA). It accepts a combination of probably all shape types, and the logic of output is quite convoluted. See OpenCascade user guide: Boolean operations.
For "Split" and "CompSolid" modes, extra post-processing is done by FreeCAD.
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ć skompilowane 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, Skaluj, 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
- 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, Złożenie, BIM, 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