Tworzenie geometrii i wizualizacji w Fusion 360 API – przewodnik dla początkujących
Fusion 360 to zaawansowane narzędzie do projektowania CAD, które dzięki swojemu API pozwala na automatyzację procesów i dostosowywanie projektów. Jednym z najważniejszych elementów pracy z API Fusion 360 jest umiejętność tworzenia obiektów geometrycznych, wizualnych oraz matematycznych za pomocą metod takich jak .create().
W tym artykule pokażę, jakie obiekty można tworzyć za pomocą adsk.core, jak z nich korzystać i dlaczego są tak istotne w procesie projektowania.
1. Co to jest adsk.core i dlaczego jest ważne?
adsk.core to jedna z kluczowych przestrzeni nazw w API Fusion 360. Zawiera klasy i metody, które umożliwiają tworzenie elementów geometrycznych (np. punkty, wektory), wizualnych (np. kolory), a także narzędzi matematycznych (np. macierze transformacji). Dzięki temu API staje się bardziej elastyczne i daje użytkownikowi pełną kontrolę nad tworzeniem i edycją modeli.
2. Najczęściej używane obiekty z funkcją .create()
Fusion 360 API udostępnia różne obiekty, które można tworzyć przy użyciu metody .create(). Oto lista najważniejszych z nich:
a) Obiekty geometryczne
Te obiekty są fundamentem pracy z modelami 3D. Służą do definiowania kształtów, pozycji, kierunków i ograniczeń.
1. Point3D – Punkt w przestrzeni 3D
- Opis: Punkt z określonymi współrzędnymi w przestrzeni 3D.
- Kod:pythonSkopiuj kod
point = adsk.core.Point3D.create(10, 20, 30) # Punkt w (x=10, y=20, z=30) - Zastosowanie:
- Tworzenie punktów w szkicach.
- Określanie pozycji początkowej obiektów.
2. Vector3D – Wektor w przestrzeni 3D
- Opis: Wektor definiujący kierunek i odległość w przestrzeni.
- Kod:pythonSkopiuj kod
vector = adsk.core.Vector3D.create(1, 0, 0) # Wektor wzdłuż osi X - Zastosowanie:
- Definiowanie kierunków przesunięć lub obrotów.
- Operacje matematyczne, takie jak normalizacja lub dodawanie wektorów.
3. Matrix3D – Macierz transformacji
- Opis: Macierz reprezentująca przesunięcie, obrót lub skalowanie w 3D.
- Kod:pythonSkopiuj kod
transform = adsk.core.Matrix3D.create() # Macierz jednostkowa - Zastosowanie:
- Przenoszenie komponentów.
- Skalowanie lub obracanie geometrii.
4. BoundingBox3D – Prostopadłościan ograniczający
- Opis: Granice obiektu w przestrzeni 3D.
- Kod:pythonSkopiuj kod
box = adsk.core.BoundingBox3D.create(minPoint, maxPoint) - Zastosowanie:
- Obliczanie przestrzeni zajmowanej przez obiekt.
- Analiza kolizji lub ustawianie tolerancji.
b) Obiekty wizualne i kolorystyczne
Obiekty te pomagają w dodawaniu kolorów i stylizacji do projektu.
1. Color – Kolor RGBA
- Opis: Kolor zdefiniowany przez wartości czerwony, zielony, niebieski i przezroczystość.
- Kod:pythonSkopiuj kod
redColor = adsk.core.Color.create(255, 0, 0, 255) # Czerwony, pełna nieprzezroczystość - Zastosowanie:
- Ustawianie kolorów brył lub komponentów.
- Tworzenie wizualizacji lub wyróżnianie elementów w modelu.
c) Obiekty matematyczne
1. ValueInput – Wartość wejściowa
- Opis: Wartość liczbową można wprowadzać jako tekst (np. „5 mm”) lub liczbę zmiennoprzecinkową (np. 10.0).
- Kod:pythonSkopiuj kod
value = adsk.core.ValueInput.createByString("5 mm") # Wartość jako tekst value2 = adsk.core.ValueInput.createByReal(10.0) # Wartość liczbowo - Zastosowanie:
- Ustawianie parametrów w szkicach.
- Definiowanie odległości, promieni czy kątów.
2. Plane – Płaszczyzna
- Opis: Definiuje płaszczyznę w przestrzeni 3D.
- Kod:pythonSkopiuj kod
plane = adsk.core.Plane.create(originPoint, normalVector) - Zastosowanie:
- Tworzenie niestandardowych płaszczyzn konstrukcyjnych.
- Analiza położenia obiektów.
3. Przykłady użycia w praktyce
a) Tworzenie punktu startowego dla tekstu
Przykład kodu, w którym tworzony jest tekst w szkicu:
# Tworzenie punktu w przestrzeni
point = adsk.core.Point3D.create(5, 5, 0)
# Tworzenie tekstu na szkicu
sk = rootComp.sketches.add(rootComp.xYConstructionPlane)
texts = sk.sketchTexts
input = texts.createInput2("Hello Fusion!", 10) # Tekst o wysokości 10 mm
texts.add(input, point)
b) Przesunięcie komponentu
Przykład przesunięcia komponentu w osi X:
# Tworzenie transformacji
transform = adsk.core.Matrix3D.create()
translation = adsk.core.Vector3D.create(10, 0, 0) # Przesunięcie w osi X o 10 mm
transform.translation = translation
# Zastosowanie transformacji na wystąpieniu komponentu
occurrence = rootComp.occurrences[0]
occurrence.transform = transform
c) Zmiana koloru bryły
Przykład nadania koloru czerwonego bryle:
redColor = adsk.core.Color.create(255, 0, 0, 255) # Czerwony kolor
body.appearance = rootComp.appearanceOverride(redColor)
4. Dlaczego to wszystko jest ważne?
- Precyzja: Obiekty geometryczne i matematyczne umożliwiają precyzyjne definiowanie elementów projektu.
- Zgodność z API: Metody
.create()są wymagane, aby generować obiekty zgodne z Fusion 360 API. - Automatyzacja: Dzięki funkcjom API można zautomatyzować procesy projektowe, oszczędzając czas i redukując błędy.
- Elastyczność: Obiekty takie jak
Matrix3DczyVector3Dpozwalają na zaawansowane operacje transformacji i modyfikacji modeli.
5. Podsumowanie
Metody .create() w API Fusion 360 to fundament pracy z modelami 3D, kolorami i transformacjami. Dzięki nim możesz nie tylko tworzyć zaawansowane modele, ale także dostosowywać je do swoich potrzeb. Znajomość tych obiektów otwiera drzwi do automatyzacji pracy w Fusion 360 i znacząco zwiększa możliwości projektowe.
Gotowy na więcej? Jeśli interesuje Cię temat automatyzacji w Fusion 360 lub chcesz zobaczyć kolejne przykłady, daj znać w komentarzu!