{"id":148,"date":"2024-12-05T10:35:17","date_gmt":"2024-12-05T09:35:17","guid":{"rendered":"https:\/\/blog.ctr24.co.pl\/?p=148"},"modified":"2024-12-05T11:01:22","modified_gmt":"2024-12-05T10:01:22","slug":"tworzenie-geometrii-i-wizualizacji-w-fusion-360-api-przewodnik-dla-poczatkujacych","status":"publish","type":"post","link":"https:\/\/blog.ctr24.co.pl\/?p=148","title":{"rendered":"Tworzenie geometrii i wizualizacji w Fusion 360 API \u2013 przewodnik dla pocz\u0105tkuj\u0105cych"},"content":{"rendered":"\n<p>Fusion 360 to zaawansowane narz\u0119dzie do projektowania CAD, kt\u00f3re dzi\u0119ki swojemu API pozwala na automatyzacj\u0119 proces\u00f3w i dostosowywanie projekt\u00f3w. Jednym z najwa\u017cniejszych element\u00f3w pracy z API Fusion 360 jest umiej\u0119tno\u015b\u0107 tworzenia obiekt\u00f3w geometrycznych, wizualnych oraz matematycznych za pomoc\u0105 metod takich jak <code>.create()<\/code>.<\/p>\n\n\n\n<p>W tym artykule poka\u017c\u0119, jakie obiekty mo\u017cna tworzy\u0107 za pomoc\u0105 <strong><code>adsk.core<\/code><\/strong>, jak z nich korzysta\u0107 i dlaczego s\u0105 tak istotne w procesie projektowania.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Co to jest <code>adsk.core<\/code> i dlaczego jest wa\u017cne?<\/strong><\/h2>\n\n\n\n<p><code>adsk.core<\/code> to jedna z kluczowych przestrzeni nazw w API Fusion 360. Zawiera klasy i metody, kt\u00f3re umo\u017cliwiaj\u0105 tworzenie element\u00f3w geometrycznych (np. punkty, wektory), wizualnych (np. kolory), a tak\u017ce narz\u0119dzi matematycznych (np. macierze transformacji). Dzi\u0119ki temu API staje si\u0119 bardziej elastyczne i daje u\u017cytkownikowi pe\u0142n\u0105 kontrol\u0119 nad tworzeniem i edycj\u0105 modeli.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. Najcz\u0119\u015bciej u\u017cywane obiekty z funkcj\u0105 <code>.create()<\/code><\/strong><\/h2>\n\n\n\n<p>Fusion 360 API udost\u0119pnia r\u00f3\u017cne obiekty, kt\u00f3re mo\u017cna tworzy\u0107 przy u\u017cyciu metody <code>.create()<\/code>. Oto lista najwa\u017cniejszych z nich:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>a) Obiekty geometryczne<\/strong><\/h3>\n\n\n\n<p>Te obiekty s\u0105 fundamentem pracy z modelami 3D. S\u0142u\u017c\u0105 do definiowania kszta\u0142t\u00f3w, pozycji, kierunk\u00f3w i ogranicze\u0144.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. <code>Point3D<\/code> \u2013 Punkt w przestrzeni 3D<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opis:<\/strong> Punkt z okre\u015blonymi wsp\u00f3\u0142rz\u0119dnymi w przestrzeni 3D.<\/li>\n\n\n\n<li><strong>Kod:<\/strong>pythonSkopiuj kod<code>point = adsk.core.Point3D.create(10, 20, 30) # Punkt w (x=10, y=20, z=30)<\/code><\/li>\n\n\n\n<li><strong>Zastosowanie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Tworzenie punkt\u00f3w w szkicach.<\/li>\n\n\n\n<li>Okre\u015blanie pozycji pocz\u0105tkowej obiekt\u00f3w.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. <code>Vector3D<\/code> \u2013 Wektor w przestrzeni 3D<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opis:<\/strong> Wektor definiuj\u0105cy kierunek i odleg\u0142o\u015b\u0107 w przestrzeni.<\/li>\n\n\n\n<li><strong>Kod:<\/strong>pythonSkopiuj kod<code>vector = adsk.core.Vector3D.create(1, 0, 0) # Wektor wzd\u0142u\u017c osi X<\/code><\/li>\n\n\n\n<li><strong>Zastosowanie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Definiowanie kierunk\u00f3w przesuni\u0119\u0107 lub obrot\u00f3w.<\/li>\n\n\n\n<li>Operacje matematyczne, takie jak normalizacja lub dodawanie wektor\u00f3w.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. <code>Matrix3D<\/code> \u2013 Macierz transformacji<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opis:<\/strong> Macierz reprezentuj\u0105ca przesuni\u0119cie, obr\u00f3t lub skalowanie w 3D.<\/li>\n\n\n\n<li><strong>Kod:<\/strong>pythonSkopiuj kod<code>transform = adsk.core.Matrix3D.create() # Macierz jednostkowa<\/code><\/li>\n\n\n\n<li><strong>Zastosowanie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Przenoszenie komponent\u00f3w.<\/li>\n\n\n\n<li>Skalowanie lub obracanie geometrii.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. <code>BoundingBox3D<\/code> \u2013 Prostopad\u0142o\u015bcian ograniczaj\u0105cy<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opis:<\/strong> Granice obiektu w przestrzeni 3D.<\/li>\n\n\n\n<li><strong>Kod:<\/strong>pythonSkopiuj kod<code>box = adsk.core.BoundingBox3D.create(minPoint, maxPoint)<\/code><\/li>\n\n\n\n<li><strong>Zastosowanie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Obliczanie przestrzeni zajmowanej przez obiekt.<\/li>\n\n\n\n<li>Analiza kolizji lub ustawianie tolerancji.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>b) Obiekty wizualne i kolorystyczne<\/strong><\/h3>\n\n\n\n<p>Obiekty te pomagaj\u0105 w dodawaniu kolor\u00f3w i stylizacji do projektu.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. <code>Color<\/code> \u2013 Kolor RGBA<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opis:<\/strong> Kolor zdefiniowany przez warto\u015bci czerwony, zielony, niebieski i przezroczysto\u015b\u0107.<\/li>\n\n\n\n<li><strong>Kod:<\/strong>pythonSkopiuj kod<code>redColor = adsk.core.Color.create(255, 0, 0, 255) # Czerwony, pe\u0142na nieprzezroczysto\u015b\u0107<\/code><\/li>\n\n\n\n<li><strong>Zastosowanie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Ustawianie kolor\u00f3w bry\u0142 lub komponent\u00f3w.<\/li>\n\n\n\n<li>Tworzenie wizualizacji lub wyr\u00f3\u017cnianie element\u00f3w w modelu.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>c) Obiekty matematyczne<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. <code>ValueInput<\/code> \u2013 Warto\u015b\u0107 wej\u015bciowa<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opis:<\/strong> Warto\u015b\u0107 liczbow\u0105 mo\u017cna wprowadza\u0107 jako tekst (np. \u201e5 mm\u201d) lub liczb\u0119 zmiennoprzecinkow\u0105 (np. 10.0).<\/li>\n\n\n\n<li><strong>Kod:<\/strong>pythonSkopiuj kod<code>value = adsk.core.ValueInput.createByString(\"5 mm\") # Warto\u015b\u0107 jako tekst value2 = adsk.core.ValueInput.createByReal(10.0) # Warto\u015b\u0107 liczbowo<\/code><\/li>\n\n\n\n<li><strong>Zastosowanie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Ustawianie parametr\u00f3w w szkicach.<\/li>\n\n\n\n<li>Definiowanie odleg\u0142o\u015bci, promieni czy k\u0105t\u00f3w.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. <code>Plane<\/code> \u2013 P\u0142aszczyzna<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opis:<\/strong> Definiuje p\u0142aszczyzn\u0119 w przestrzeni 3D.<\/li>\n\n\n\n<li><strong>Kod:<\/strong>pythonSkopiuj kod<code>plane = adsk.core.Plane.create(originPoint, normalVector)<\/code><\/li>\n\n\n\n<li><strong>Zastosowanie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Tworzenie niestandardowych p\u0142aszczyzn konstrukcyjnych.<\/li>\n\n\n\n<li>Analiza po\u0142o\u017cenia obiekt\u00f3w.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. Przyk\u0142ady u\u017cycia w praktyce<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>a) Tworzenie punktu startowego dla tekstu<\/strong><\/h3>\n\n\n\n<p>Przyk\u0142ad kodu, w kt\u00f3rym tworzony jest tekst w szkicu:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code># Tworzenie punktu w przestrzeni<br>point = adsk.core.Point3D.create(5, 5, 0)<br><br># Tworzenie tekstu na szkicu<br>sk = rootComp.sketches.add(rootComp.xYConstructionPlane)<br>texts = sk.sketchTexts<br>input = texts.createInput2(\"Hello Fusion!\", 10)  # Tekst o wysoko\u015bci 10 mm<br>texts.add(input, point)<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>b) Przesuni\u0119cie komponentu<\/strong><\/h3>\n\n\n\n<p>Przyk\u0142ad przesuni\u0119cia komponentu w osi X:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code># Tworzenie transformacji<br>transform = adsk.core.Matrix3D.create()<br>translation = adsk.core.Vector3D.create(10, 0, 0)  # Przesuni\u0119cie w osi X o 10 mm<br>transform.translation = translation<br><br># Zastosowanie transformacji na wyst\u0105pieniu komponentu<br>occurrence = rootComp.occurrences[0]<br>occurrence.transform = transform<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>c) Zmiana koloru bry\u0142y<\/strong><\/h3>\n\n\n\n<p>Przyk\u0142ad nadania koloru czerwonego bryle:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>redColor = adsk.core.Color.create(255, 0, 0, 255)  # Czerwony kolor<br>body.appearance = rootComp.appearanceOverride(redColor)<br><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Dlaczego to wszystko jest wa\u017cne?<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Precyzja:<\/strong> Obiekty geometryczne i matematyczne umo\u017cliwiaj\u0105 precyzyjne definiowanie element\u00f3w projektu.<\/li>\n\n\n\n<li><strong>Zgodno\u015b\u0107 z API:<\/strong> Metody <code>.create()<\/code> s\u0105 wymagane, aby generowa\u0107 obiekty zgodne z Fusion 360 API.<\/li>\n\n\n\n<li><strong>Automatyzacja:<\/strong> Dzi\u0119ki funkcjom API mo\u017cna zautomatyzowa\u0107 procesy projektowe, oszcz\u0119dzaj\u0105c czas i redukuj\u0105c b\u0142\u0119dy.<\/li>\n\n\n\n<li><strong>Elastyczno\u015b\u0107:<\/strong> Obiekty takie jak <code>Matrix3D<\/code> czy <code>Vector3D<\/code> pozwalaj\u0105 na zaawansowane operacje transformacji i modyfikacji modeli.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Metody <code>.create()<\/code> w API Fusion 360 to fundament pracy z modelami 3D, kolorami i transformacjami. Dzi\u0119ki nim mo\u017cesz nie tylko tworzy\u0107 zaawansowane modele, ale tak\u017ce dostosowywa\u0107 je do swoich potrzeb. Znajomo\u015b\u0107 tych obiekt\u00f3w otwiera drzwi do automatyzacji pracy w Fusion 360 i znacz\u0105co zwi\u0119ksza mo\u017cliwo\u015bci projektowe.<\/p>\n\n\n\n<p><strong>Gotowy na wi\u0119cej?<\/strong> Je\u015bli interesuje Ci\u0119 temat automatyzacji w Fusion 360 lub chcesz zobaczy\u0107 kolejne przyk\u0142ady, daj zna\u0107 w komentarzu!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fusion 360 to zaawansowane narz\u0119dzie do projektowania CAD, kt\u00f3re dzi\u0119ki swojemu API pozwala na automatyzacj\u0119 proces\u00f3w i dostosowywanie projekt\u00f3w. Jednym<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,6,19],"tags":[],"class_list":["post-148","post","type-post","status-publish","format-standard","hentry","category-fusion","category-python","category-tips"],"_links":{"self":[{"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=\/wp\/v2\/posts\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=148"}],"version-history":[{"count":2,"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=\/wp\/v2\/posts\/148\/revisions"}],"predecessor-version":[{"id":157,"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=\/wp\/v2\/posts\/148\/revisions\/157"}],"wp:attachment":[{"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ctr24.co.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}