Strona główna Przykłady Zrzuty ekranu Instrukcja obsługi Logo Bluesky. YouTube ☰
OghmaNano Platforma do symulacji wielofizycznych procesów zachodzących w optoelektronicznych urządzeniach i systemach fotonicznych. POBIERZ Przewodnik szybkiego uruchomienia

Baza danych kształtów

Baza danych Shape pełni funkcję ogólnego lokalnego repozytorium modeli CAD 3D. Elementy w bazie danych Shape są przechowywane jako siatki 3D (lub kształty) i mogą reprezentować, na przykład, szorstką powierzchnię materiału uzyskaną z pomiarów AFM, złożoną heksagonalną strukturę na dużej powierzchni urządzenia (patrz ??) lub okresowe filary kryształu fotonicznego. Kształty są definiowane za pomocą siatek trójkątnych. Okno bazy danych Shape zawiera narzędzia do generowania nowych modeli CAD 3D na podstawie obrazów 2D, a także do importowania zewnętrznych siatek z plików Wavefront OBJ. Co ważne, wszystkie kształty w tej bazie danych są trwale przechowywane na dysku i mają na celu reprezentowanie bardziej złożonych geometrii niż te generowane przez edytor siatek, który koncentruje się na prostych elementach geometrycznych, takich jak sześciany, rury i kule (patrz CAD Meshes).

Uzyskiwanie dostępu do bazy danych.

Obiekty graficzne są przechowywane w bazie danych obiektów graficznych, do której można uzyskać dostęp za pomocą karty „Baza danych” i kliknięcia ikony „Obiekty graficzne” (patrz ??). Kliknięcie ikony bazy danych obiektów graficznych otwiera okno bazy danych obiektów graficznych (??).

Database ribbon showing the Shapes icon.
Otwieranie bazy danych kształtów z poziomu karty „Baza danych”.
The Shape Database window listing available shapes.
Okno „Baza kształtów”, wyświetlające listę dostępnych kształtów.

Spróbuj otworzyć niektóre z elementów, aby je obejrzeć. Zobaczysz okno podobne do tego na obrazku ??. Ten przykład przedstawia strukturę kontaktową w kształcie plastra miodu, stosowaną w ogniwach słonecznych. Po lewej stronie znajduje się trójwymiarowy model, a po prawej – dwuwymiarowy obraz, na podstawie którego został on wygenerowany. Na obrazie dwuwymiarowym nałożona jest projekcja z osi zx trójwymiarowej siatki. Możesz włączać i wyłączać wyświetlanie tej dwuwymiarowej siatki, korzystając z przycisku „Pokaż siatkę”, który znajduje się na górnym pasku narzędzi.

Example of a shape generated from a 2D PNG image.
Poniżej przedstawiono przykładowy kształt wygenerowany na podstawie dwuwymiarowego obrazu PNG. Po lewej stronie widoczna jest trójwymiarowa, heksagonalna struktura kontaktowa, a po prawej stronie znajduje się oryginalny obraz dwuwymiarowy wraz z projekcją siatki na płaszczyznę zx.

Generowanie siatki.

Po otwarciu okna bazy danych kształtów można przeglądać i edytować dowolny zapisany kształt. Wiele kształtów w bazie danych zostało pierwotnie utworzonych na podstawie obrazów 2D za pomocą wbudowanych narzędzi do dyskretyzacji. W tej sekcji wyjaśniono, jak działa ten proces. Otwórz morphology/1 w bazie danych kształtów. Zobaczysz okno podobne do ??. Lewy panel wyświetla wynikową trójwymiarową siatkę, a prawy panel pokazuje oryginalny obraz 2D, na podstawie którego została wygenerowana siatka. Przycisk „Pokaż siatkę” na wstążce „Plik” umożliwia przełączanie widoku siatki nałożonej na obraz 2D, co pozwala sprawdzić, w jaki sposób triangulacja odzwierciedla podstawowe elementy obrazu.

Morphology shape with mesh overlay.
Wyświetlona jest forma morfologiczna z włączoną opcją nakładania siatki.
Morphology shape after adjusting mesh settings.
Po zmianie ustawień siatki i ponownym wygenerowaniu modelu, jego kształt pozostał taki sam.

Aby zmienić sposób, w jaki obraz jest przekształcany w model 3D, kliknij opcję „Edytuj siatkę” na wstążce „Plik”. Otworzy się okno dialogowe konfiguracji siatki (??), które umożliwia kontrolowanie poziomu dyskretyzacji.

Kluczowe parametry to:

Mesh configuration window.
Okno konfiguracji siatki.

Na przykład, zmniejsz liczbę trójkątów „x” i trójkątów „y” do wartości 40, a następnie kliknij „Utwórz siatkę”. Otrzymana siatka będzie zawierała mniej trójkątów, a zatem będzie mniej szczegółowa, ale szybciej się z nią będzie pracować. To zmniejszenie jest od razu widoczne w podglądach 2D i 3D.

Ustawienie „Metoda” określa sposób generowania trójkątów:

Przełączenie na opcję „No reduce” i ponowne wygenerowanie siatki spowoduje zastąpienie adaptacyjnej siatki pełną, regularną siatką trójkątów 70 × 70. Jest to bardziej precyzyjne, ale również wymaga więcej pamięci i zasobów obliczeniowych. Każdy dodatkowy trójkąt w siatce zwiększa obciążenie obliczeniowe podczas symulacji. Dlatego celem podczas tworzenia siatki jest odwzorowanie kształtu przy użyciu jak najmniejszej liczby trójkątów. Jeśli można opisać całą powierzchnię przy użyciu stosunkowo niewielkiej liczby trójkątów, zazwyczaj warto to zrobić. Jednak w przypadku bardzo regularnych kształtów zastosowanie funkcji „Node reduce” w celu zmniejszenia liczby trójkątów może przynieść niewielkie lub żadne korzyści; w takich przypadkach prosta, regularna siatka może być równie skuteczna. W praktyce często konieczne będzie eksperymentowanie z różnymi ustawieniami i metodami, aby znaleźć siatkę, która zapewni akceptowalny kompromis między precyzją a kosztem obliczeniowym.

Narzędzia do generowania i przetwarzania obrazów 2D.

Oprócz możliwości wczytywania obrazów z plików, edytor kształtów zawiera zestaw narzędzi do tworzenia nowych wzorów 2D, które można przekształcić w modele 3D. Narzędzia te znajdują się w sekcji „Obraz 2D” i obejmują generatory do tworzenia różnorodnych struktur:

Każdy generator oferuje własne opcje konfiguracyjne, umożliwiając dostosowanie geometrii przed przekształceniem jej w siatkę. Obrazy te pełnią funkcję map wysokości lub masek, na podstawie których edytor kształtów tworzy odpowiednią strukturę 3D.

Saw-wave generated using the 2D image tools.
Wzorzec w kształcie fali piłokształtnej, wygenerowany za pomocą narzędzi do przetwarzania obrazów 2D.
Saw-wave image after applying thresholding.
Ten sam obraz w postaci fali piłokształtnej po zastosowaniu filtra progowego.

Po wygenerowaniu lub załadowaniu obrazu, na karcie „Filtry” dostępne są narzędzia do jego modyfikacji przed rozpoczęciem tworzenia siatki. Należą do nich:

Te narzędzia umożliwiają doprecyzowanie map wysokości, wygładzenie obrazów o niskiej jakości lub modyfikację wzorów przed wygenerowaniem ostatecznej siatki trójkątów. Połączenie generatorów i filtrów obrazów zapewnia elastyczny proces tworzenia złożonych, niestandardowych geometrii 3D bezpośrednio w programie OghmaNano.

Importowanie z plików CAD

Oprócz generowania kształtów na podstawie obrazów 2D, edytor kształtów umożliwia również importowanie zewnętrznych siatek 3D za pomocą przycisku „Importuj plik CAD”, który znajduje się w ??. OghmaNano obsługuje format Wavefront OBJ, który jest powszechnie stosowany do przechowywania siatek powierzchniowych składających się z trójkątów. W bazie danych kształtów znajdziesz również przykład zaimportowanego modelu CAD: klasyczny model Utah Teapot, który można zobaczyć w ??. Ta siatka ilustruje, jak wyglądają zewnętrzne modele składające się z trójkątów po zaimportowaniu do edytora.

Import CAD file button in the Shape Editor.
Przycisk „Importuj plik CAD” służy do wczytywania zewnętrznych siatek Wavefront OBJ.
Imported Utah teapot CAD mesh rendered in the Shape Editor.
Klasyczny model „Utah Teapot”, zaimportowany jako siatka CAD. To przykład wykorzystania funkcji importu CAD.

Podczas importowania modeli CAD należy zadbać o to, aby siatka tworzyła zamkniętą powierzchnię. Zamknięta powierzchnia to taka, w której każda krawędź należy dokładnie do dwóch trójkątów, tworząc w ten sposób całkowicie szczelną, nieprzepuszczalną objętość. Otwarte powierzchnie, brakujące ściany lub pęknięcia prowadzą do niejednoznaczności w określaniu, czy punkty znajdują się wewnątrz, czy na zewnątrz obiektu, co sprawia, że nie nadają się one do symulacji.

Modele siatkowe CAD są zazwyczaj projektowane z myślą o obróbce mechanicznej i produkcji, a nie o symulacjach numerycznych. W rezultacie często zawierają znacznie więcej trójkątów, niż jest to konieczne do modelowania optycznego lub fizycznego. Duża liczba trójkątów znacząco wydłuża czas obliczeń w procesach śledzenia promieni i innych algorytmach.

Aby uzyskać optymalną wydajność, należy upewnić się, że importowane modele 3D:

Przestrzeganie tych wytycznych pomoże zapewnić, że importowane modele CAD będą działać sprawnie w programie OghmaNano.

Format pliku kształtu.

Bryła musi tworzyć w pełni zamkniętą przestrzeń. Jeśli używasz wbudowanego narzędzia do dyskretyzacji brył, to warunek ten jest automatycznie spełniany. Jeśli jednak tworzysz bryły ręcznie, musisz upewnić się, że przestrzeń jest zamknięta.

Każdy katalog z kształtami zawiera następujące pliki:

Files within a shape directory
Nazwa pliku Opis
\(data.json\) Dane konfiguracyjne dotyczące kształtu.
\(image\_original.png\) Utworzenie kopii zapasowej zaimportowanego obrazu.
\(image\_out.png\) Ostateczny, zredagowany obraz.
\(image.png\) Robocza kopia zaimportowanego obrazu.
\(shape.inp\) Dyskretna trójwymiarowa siatka reprezentująca kształt.

Pliki PNG przedstawiają obraz w różnych etapach przetwarzania. Plik data.json przechowuje konfigurację edytora kształtów, a plik shape.inp zawiera trójwymiarową strukturę obiektu.

Przykładowy plik shape.inp przedstawiono na ilustracji ??. Format został zaprojektowany w taki sposób, aby program gnuplot mógł go bezpośrednio otworzyć za pomocą polecenia splot. Każdy trójkąt jest opisany przez cztery punkty z, x, y: pierwsze trzy wiersze definiują trójkąt, a czwarty powtarza pierwszy punkt, aby program gnuplot mógł narysować zamknięty obrys. Liczba trójkątów w pliku jest określona w wierszu rozpoczynającym się od #y.

Dokładne wartości z, x, y nie mają znaczenia. Zaraz po załadowaniu kształtu wszystkie wartości są normalizowane, tak aby punkt o najniższej wartości kształtu znajdował się w punkcie (0, 0, 0), a punkt o najwyższej wartości – w punkcie (1, 1, 1). Po wstawieniu kształtu do sceny, jest on ponownie normalizowany, aby uzyskać pożądany fizyczny rozmiar obiektu w danym urządzeniu.

Example of a shape.inp file that defines the 3D mesh using z, x, y coordinates.
Przykładowy plik shape.inp. Każdy trójkąt jest zdefiniowany przez cztery z, x, y punkty i może być bezpośrednio wyświetlany za pomocą gnuplot.

👉 Kolejny krok: Aby zobaczyć przykład, jak tworzyć kształty, zapoznaj się z samouczkiem dotyczącym bazy danych kształtów oraz sposobem tworzenia trójwymiarowych kształtów na podstawie obrazów, dostępnym pod adresem ten link.