Czy wiesz...

Pole intensywności turbulencji

Jak uniknąć powszechnych błędów przy obliczeniach CFD?

Fragment Arkusza Kalkulacyjnego Do Sprawdzania Wyników Egzaminu Spawacza Wg ISO9606

Czy ładna spoina jest zawsze dobra?

Wykres błędnych ruchów osi wrzeciona w funkcji kąta obrotu

Jak diagnozować przyczyny błędów obróbki CNC detali? cz. 2

Pękanie Elementów Form Wtryskowych

Dlaczego pękają matryce form wtryskowych?

Czytaj także:

odległość pomiędzy przewodem paliwowym a opaską zaciskową
Projektowanie

Packaging, czyli jak to wszystko pomieścić

­ Piotr Cabaj
Klejenie Metali w Praktyce Przemysłowej
Technologie

Klejenie metali w praktyce przemysłowej

­ [Marek Bernaciak]
Połączenie Skurczowe
Technologie

Niedoceniane połączenie skurczowe

­ Jerzy Mydlarz
gięcie blachy
Projektowanie

Blaszane origami. Metodyka projektowania konstrukcji blachowych

­ Paweł Bancarzewski
Projektowanie i Konstrukcje Inżynierskie
  • STRONA GŁÓWNA
  • Aktualności
    samopoziomujący się podkład kolejowy w konfiguracji z poziomymi klinami

    Samopoziomujący się podkład kolejowy nowej konstrukcji

    zintegrowany napęd elektryczny Geely Thunder

    Zintegrowany napęd elektryczny Geely Thunder

    Robotyczny ptak lata, pływa i nurkuje

    Robotyczny ptak lata, pływa i nurkuje

    Turbodoładowany Silnik Na Metanol Jako Range Extender

    Turbodoładowany silnik na metanol jako range-extender

    Warstewki SNL (superlattice nano-layer) i nanostrukturalne cząstki typu core-shell w strukturze stopu

    Nowy stop aluminium do produkcji odlewów dla lotnictwa i motoryzacji

    Druk 3D elastomeru DNGE

    Wytrzymałe elastomery do druku 3D

    Diamond Atelier DA#22

    Hiperbike spod znaku diamentu

    Rakieta Long March 10B po wylądowaniu na pokładzie statku Linghangzhe

    Lądowanie chińskiej rakiety Long March 10B

    Dr D. Staack podczas demonstracji działania reaktora do otrzymywania tlenku grafenu

    Nowa metoda otrzymywania tlenku grafenu

  • Artykuły
    • Wszystkie artykuły
    • Analizy, symulacje
    • Badania, analizy
    • Części maszyn i urządzeń
    • Historia
    • Inne
    • Konstrukcje
    • Maszyny i urządzenia
    • Materiały
    • Projektowanie
    • Rozwiązania
    • Technologie
    Przemysłowa Drukarka Etykiet BradyPrinter I4311

    BradyPrinter i4311: Przemysłowy druk etykiet bez przewodów

    Zagnieżdżona Sprężyna Falista O Trzech Zwojach W Przykładowym Zastosowaniu

    Napięcie wstępne łożyska z użyciem sprężyn

    Symulacje numeryczne wpływu wewnętrznych zwarć łukowych na rozdzielnice średniego napięcia

    Symulacje numeryczne wpływu wewnętrznych zwarć łukowych na rozdzielnice SN

    Zautomatyzowana linia do galwanizacji komponentów aluminiowych w produkcji seryjnej

    Obróbka powierzchniowa aluminium

    software do obliczeń akustycznych

    O wyborze i testowaniu solvera MES

    Helikopter Marsjański Ingenuity

    Helikoptery na Marsie

    Przykład przedmiotu obrabianego posiadającego na ukośnej powierzchni kieszeń prostokątną

    Wybrane aspekty produktywnego skrawania na wieloosiowych obrabiarkach CNC; cz. 9

    Systemy Mocowania Narzędzi Skrawających

    Systemy mocowania narzędzi skrawających

    Przykład rozwiązania odpowietrzania w płaszczyźnie podziału formy

    Odpowietrzanie form wtryskowych; cz. 2

    Transport Technologiczny

    Organizacja produkcji, cz. 4: projekt technologiczny

    zaleta sprężyn falistych oszczędność miejsca

    Poznaj zalety sprężyn falistych

    analiza zmęczeniowa spoiny

    Numeryczna i eksperymentalna analiza losowego zmęczenia złączy spawanych metodą Dirlika

    Organizacja produkcji; cz. 3: systemy zarządzania jakością

    Robotyzacja transportu profili w lakierni proszkowej

    Jednozwojowa sprężyna falista Smalley do wstępnego obciążenia łożyska

    Wstępne napięcie łożysk: pięć najbardziej typowych nieporozumień

    Organizacja produkcji; cz. 3: systemy zarządzania jakością

    Odpowietrzanie form wtryskowych; cz. 1

    Wybrane tematy:

    • robotyzacja
    • spawanie
    • obróbka skrawaniem
    • MES
    • klejenie
    • tworzywa sztuczne
    • motoryzacja
    • CAD
    • polskie projekty
    • lotnictwo
    • druk 3D
    • silniki
    • formy wtryskowe
    • budowa maszyn
    • technologie łączenia
    • obliczenia
    • kompozyty
    • ceramika techniczna
    • Analizy, symulacje
    • Badania, analizy
    • Technologie
    • Maszyny i urządzenia
    • Części maszyn i urządzeń
    • Konstrukcje
    • Rozwiązania
    • Projektowanie
    • Materiały
    • Historia
    • Inne
  • Czasopismo
    • Jak zakupić
    • Archiwum
      • Archiwum 2026
      • Archiwum 2025
      • Archiwum 2024
      • Archiwum 2023
      • Archiwum 2022
      • Archiwum 2021
      • Archiwum 2020
      • Archiwum 2019
      • Archiwum 2018
      • Archiwum 2017
      • Archiwum 2016
      • Archiwum 2015
      • Archiwum 2014
      • Archiwum 2013
      • Archiwum 2012
      • Archiwum 2011
      • Archiwum 2010
      • Archiwum 2009
      • Archiwum 2008
      • Archiwum 2007
  • O nas
  • Kontakt
  • ­
Nie znaleziono
Zobacz wszystkie wyniki
Projektowanie i Konstrukcje Inżynierskie
  • STRONA GŁÓWNA
  • Aktualności
    samopoziomujący się podkład kolejowy w konfiguracji z poziomymi klinami

    Samopoziomujący się podkład kolejowy nowej konstrukcji

    zintegrowany napęd elektryczny Geely Thunder

    Zintegrowany napęd elektryczny Geely Thunder

    Robotyczny ptak lata, pływa i nurkuje

    Robotyczny ptak lata, pływa i nurkuje

    Turbodoładowany Silnik Na Metanol Jako Range Extender

    Turbodoładowany silnik na metanol jako range-extender

    Warstewki SNL (superlattice nano-layer) i nanostrukturalne cząstki typu core-shell w strukturze stopu

    Nowy stop aluminium do produkcji odlewów dla lotnictwa i motoryzacji

    Druk 3D elastomeru DNGE

    Wytrzymałe elastomery do druku 3D

    Diamond Atelier DA#22

    Hiperbike spod znaku diamentu

    Rakieta Long March 10B po wylądowaniu na pokładzie statku Linghangzhe

    Lądowanie chińskiej rakiety Long March 10B

    Dr D. Staack podczas demonstracji działania reaktora do otrzymywania tlenku grafenu

    Nowa metoda otrzymywania tlenku grafenu

  • Artykuły
    • Wszystkie artykuły
    • Analizy, symulacje
    • Badania, analizy
    • Części maszyn i urządzeń
    • Historia
    • Inne
    • Konstrukcje
    • Maszyny i urządzenia
    • Materiały
    • Projektowanie
    • Rozwiązania
    • Technologie
    Przemysłowa Drukarka Etykiet BradyPrinter I4311

    BradyPrinter i4311: Przemysłowy druk etykiet bez przewodów

    Zagnieżdżona Sprężyna Falista O Trzech Zwojach W Przykładowym Zastosowaniu

    Napięcie wstępne łożyska z użyciem sprężyn

    Symulacje numeryczne wpływu wewnętrznych zwarć łukowych na rozdzielnice średniego napięcia

    Symulacje numeryczne wpływu wewnętrznych zwarć łukowych na rozdzielnice SN

    Zautomatyzowana linia do galwanizacji komponentów aluminiowych w produkcji seryjnej

    Obróbka powierzchniowa aluminium

    software do obliczeń akustycznych

    O wyborze i testowaniu solvera MES

    Helikopter Marsjański Ingenuity

    Helikoptery na Marsie

    Przykład przedmiotu obrabianego posiadającego na ukośnej powierzchni kieszeń prostokątną

    Wybrane aspekty produktywnego skrawania na wieloosiowych obrabiarkach CNC; cz. 9

    Systemy Mocowania Narzędzi Skrawających

    Systemy mocowania narzędzi skrawających

    Przykład rozwiązania odpowietrzania w płaszczyźnie podziału formy

    Odpowietrzanie form wtryskowych; cz. 2

    Transport Technologiczny

    Organizacja produkcji, cz. 4: projekt technologiczny

    zaleta sprężyn falistych oszczędność miejsca

    Poznaj zalety sprężyn falistych

    analiza zmęczeniowa spoiny

    Numeryczna i eksperymentalna analiza losowego zmęczenia złączy spawanych metodą Dirlika

    Organizacja produkcji; cz. 3: systemy zarządzania jakością

    Robotyzacja transportu profili w lakierni proszkowej

    Jednozwojowa sprężyna falista Smalley do wstępnego obciążenia łożyska

    Wstępne napięcie łożysk: pięć najbardziej typowych nieporozumień

    Organizacja produkcji; cz. 3: systemy zarządzania jakością

    Odpowietrzanie form wtryskowych; cz. 1

    Wybrane tematy:

    • robotyzacja
    • spawanie
    • obróbka skrawaniem
    • MES
    • klejenie
    • tworzywa sztuczne
    • motoryzacja
    • CAD
    • polskie projekty
    • lotnictwo
    • druk 3D
    • silniki
    • formy wtryskowe
    • budowa maszyn
    • technologie łączenia
    • obliczenia
    • kompozyty
    • ceramika techniczna
    • Analizy, symulacje
    • Badania, analizy
    • Technologie
    • Maszyny i urządzenia
    • Części maszyn i urządzeń
    • Konstrukcje
    • Rozwiązania
    • Projektowanie
    • Materiały
    • Historia
    • Inne
  • Czasopismo
    • Jak zakupić
    • Archiwum
      • Archiwum 2026
      • Archiwum 2025
      • Archiwum 2024
      • Archiwum 2023
      • Archiwum 2022
      • Archiwum 2021
      • Archiwum 2020
      • Archiwum 2019
      • Archiwum 2018
      • Archiwum 2017
      • Archiwum 2016
      • Archiwum 2015
      • Archiwum 2014
      • Archiwum 2013
      • Archiwum 2012
      • Archiwum 2011
      • Archiwum 2010
      • Archiwum 2009
      • Archiwum 2008
      • Archiwum 2007
  • O nas
  • Kontakt
  • ­
Nie znaleziono
Zobacz wszystkie wyniki
Projektowanie i Konstrukcje Inżynierskie
Nie znaleziono
Zobacz wszystkie wyniki
ceramiczne elementy maszyn

wykrawarki Trumpf

Python orężem nowoczesnego inżyniera

­ Sławomir Polański
23.02.2019
A A

Gdy rozpoczynałem edukację rodzice powtarzali mi, żebym szczególnie przykładał się do nauki języków obcych. Mówili wtedy, że znajomość innego języka niż ojczysty jest gwarancją dobrze płatnej pracy w przyszłości. Od tego czasu minęły niecałe dwie dekady i dziś już wpis w CV podkreślający znajomość np. języka angielskiego jest częściej standardem aniżeli atutem. Podobnie rzecz się ma z językami służącymi do komunikacji z komputerem.

Globalna komputeryzacja spowodowała, że programiści są jedną z najlepiej zarabiających grup społecznych, a pracowników w tym sektorze ciągle brakuje. Czy oznacza to, że wszyscy powinniśmy się przebranżowić i zostać programistami? Oczywiście nie, ale warto pomyśleć nad poszerzeniem swoich kompetencji o podstawy programowania. Nie musimy być komputerowym czarodziejem, aby napisać kilka linijek tekstu, które pozwolą zaoszczędzić cenny czas pracy.

Jaki język programowania na początek?

Pierwszym krokiem, jaki należy wykonać, jest wybór języka programowania. Nie jest to decyzja łatwa, a przed rozpoczęciem nauki warto przejrzeć internet, aby dowiedzieć się jaki język będzie odpowiadał naszym potrzebom. W moim przypadku wybór padł na język Python, który jest obecnie jednym z najpopularniejszych języków programowania. Jego składnia jest na tyle przejrzysta i łatwa do zrozumienia, że niektórzy twierdzą, iż znajomość języka angielskiego wystarczy do zrozumienia dobrze napisanego kodu. Dodatkowym atutem jest fakt, że Python jest rozwijany na zasadach wolnego oprogramowania.

Tym samym jest dostępny dla każdego, a ilość bezpłatnych bibliotek (modułów) wykracza poza nasze najśmielsze oczekiwania. Warto zwrócić uwagę, że jest to język o bardzo szerokim spektrum zastosowania. Z powodzeniem wykorzystać go można przy tworzeniu stron internetowych, gier komputerowych czy podczas prostych symulacji numerycznych. Dlaczego akurat prostych symulacji? Jedną z wad Pythona jest fakt, że programy w nim napisane wykonują się wolniej od odpowiedników w językach C, C++ czy Fortran. Z drugiej strony, coraz częstszą praktyką wśród programistów jest tworzenie szkieletu kodu w języku Python i odwoływanie się do funkcji i bibliotek napisanych we wspomnianych wyżej językach. W taki właśnie sposób zostały napisane biblioteki NumPy i SciPy, które z powodzeniem znajdują zastosowanie w skomplikowanych obliczeniach naukowych.

Dla mnie, jako osoby korzystającej na co dzień z oprogramowania do symulacji Abaqus, wybór Pythona również nie jest przypadkiem. Abaqus ma interfejs, który umożliwia uruchomienie dowolnej komendy z menu graficznego za pomocą skryptu. W rezultacie użytkownik w niesamowicie prosty sposób jest w stanie zautomatyzować wszystkie czynności, które musiałby wykonać manualnie. Chcąc lepiej ukazać potencjał interfejsu programistycznego w Abaqusie, chciałbym odnieść się do projektu, w jakim niedawno brałem udział. Firma, w której pracuję, została poproszona o napisanie zestawu skryptów celem częściowego zautomatyzowania budowy modelu numerycznego silnika motocyklowego. Część z nich służyła do generowania geometrii i aplikacji odpowiednich warunków brzegowych, a pozostałe miały na celu generowanie odpowiednich raportów z przeprowadzonych symulacji. W rezultacie, czas potrzebny na przeprowadzenie pełnego cyklu obliczeń silnika został zredukowany z tygodnia do dwóch dni. Tak wielka oszczędność czasu pozwala na przeprowadzenie dodatkowej iteracji obliczeń i przyspieszenie procesu projektowego. Tym samym ilość błędów, które mógł popełnić użytkownik została zredukowana do minimum, co zdecydowanie zwiększyło jakość i rzetelność otrzymanych wyników.

Pierwsze kroki z Pythonem

Z programowaniem jest trochę jak ze sportem – trzeba próbować i ćwiczyć samemu, ponieważ samo czytanie o tym na nic się nie zda. Oczywiście, najlepiej gdy mamy przy sobie mentora, który podpowie nam od razu, co robimy źle. W przypadku programowania sprawa jest o tyle prosta, że internet pełen jest materiałów szkoleniowych. Jeśli chodzi o Pythona to materiałów tych jest tak dużo, że problem polega na decyzji, które wybrać. Osobiście polecam portal internetowy codecademy. com, na którym rozpoczynałem przygodę z Pythonem. Znajduje się tam bezpłatny kurs pozwalający zrozumieć podstawy języka oraz może stanowić wstęp do bardziej zaawansowanych zagadnień. Całość szkolenia przeprowadzona jest online, co oznacza, że nie jesteśmy zmuszani do instalacji czegokolwiek na własnym komputerze.

Uzyskaną w czasie kursu wiedzę warto rozwijać dalej pisząc skrypty, które usprawnią nasze codzienne obowiązki. Jak wspomniałem, Python jest językiem o szerokim spektrum zastosowania, więc może być to cokolwiek. Pamiętam, że jednym z moich pierwszych projektów było wygenerowanie kształtu koła zębatego w programie Abaqus dla zadanych parametrów ewolwenty (Rys. 1).

generowanie kształtu koła zębatego w programie Abaqus dla zadanych parametrów ewolwenty
Rys. 1

W moim odczuciu, tworzenie jakichkolwiek brył i obiektów w przestrzeni pozwala poczuć frajdę z programowania.

Chcąc zachęcić Czytelnika do sprawdzenia swoich sił przygotowałem skrypt służący do uruchomienia symulacji belki jednostronnie utwierdzonej w programie Abaqus. Choć jest to program komercyjny, to w internecie z łatwością pobrać można jego wersję bezpłatną do nauki symulacji.

Przepis na skrypt uruchamiający symulację belki

Skrypt, który przedstawię poniżej ma na celu budowę prostego obiektu, jakim jest belka, w sposób parametryczny. W programie Abaqus istnieje kilka sposobów uruchamiania kodu. Najprostszym z nich jest napisanie skryptu do pliku z rozszerzeniem .py, a następnie uruchomienie go poprzez wybranie File → Run script z menu rozwijanego (Rys. 2).

pisanie skryptu do pliku z rozszerzeniem .py (Abaqus)
Rys. 2

Pierwszym krokiem, który należy wykonać jest stworzenie parametrów definiujących modelowany obiekt. W naszym wypadku będą to wymiary geometryczne, materiałowe i globalny rozmiar siatki. Nawet jeżeli nie zamierzamy być programistami na pełen etat to dobrym zwyczajem jest tworzenie kodu w języku angielskim. W innym przypadku nasz skrypt będzie mało czytelny, ponieważ praktycznie nie istnieją biblioteki napisane po polsku.

1. height = 30.0
2. width = 30.0
3. length = 300.0
4. youngsModulus = 2.1e5
5. poissonRatio = 0.3
6. globalMeshSize = 10.0   

Gdy parametry są już zdefiniowane, powinniśmy stworzyć geometrię belki. W przypadku skryptu cały proces będzie wyglądał tak samo jak gdybyśmy tworzyli ją manualnie w programie CAD. Pierwszym krokiem jest stworzenie szkicu z przekrojem (w naszym przypadku będzie to prostokąt), a następnie jego wyciągnięcie celem stworzenia objętości.

7. from abaqus import mdb
8. model = mdb.models['Model-1']
9. mySketch = model.ConstrainedSketch(name = '__profile__',
10.                                    sheetSize = 200.0)
11.mySketch.rectangle(point1 = (0.0, 0.0), point2 = (width, height))
12.
13. from abaqusConstants import THREE_D, DEFORMABLE_BODY
14. beam = model.Part(dimensionality = THREE_D, name = 'Beam',
15.                   type = DEFORMABLE_BODY)
16.
17. beam.BaseSolidExtrude(depth = length, sketch = mySketch)
18. del mySketch

Warto zauważyć, że nazwy parametrów długości, szerokości oraz wysokości zostały zmyślnie użyte w linijce 11 i 17. Tym samym, wartość podana w górnej części kodu zostanie użyta przy każdorazowym użyciu nazwy jakiegokolwiek parametru. Po uruchomieniu powyższego kodu wygenerowana zostanie geometria belki (Rys. 3).

wygenerowana geometria belki
Rys. 3

Częścią każdej symulacji metodą elementów skończonych jest wygenerowanie siatki. Dla tak prostego przypadku jakim jest belka, proces ten można wykonać za pomocą dwóch linijek.

19. beam.seedPart(size = globalMeshSize)
20. beam.generateMesh()

Kolejnym krokiem, który należy wykonać, jest przypisanie właściwości materiałowych do modelu. W Abaqusie odbywa się to w trzech krokach. Najpierw tworzony jest obiekt, który zawiera informację o danych materiałowych. Następnie zdefiniować należy jakiego rodzaju przekrój geometryczny będzie użyty (przykładowo, czy ma to być objętość, powierzchnia, pręt jednowymiarowy itp.). W ostatnim kroku przypisywany jest materiał, wraz z danymi geometrycznymi, do obiektu naszej części. Nie dzieje się to jednak bezpośrednio – wcześniej należy zdefiniować obiekt Set, czyli zbiór geometrii, dla których definiować będziemy własności materiałowe.

22. steel = model.Material(name = 'Steel')
23. steel.Elastic(table = ((youngsModulus, poissonRatio), ))
24.
25. model.HomogeneousSolidSection(material = 'Steel',
26.                               name = 'SteelSection')
27. allSet = beam.Set(cells = beam.cells[:], name = 'All')
28.
29.
30. beam.SectionAssignment(region = allSet, sectionName = 'SteelSection')      31.  

Kolejną konwencją w Abaqusie jest podział na moduły Part i Assembly. Assembly jest modułem, w którym tworzone jest złożenie modelu, przy czym do uruchomienia symulacji wymagane jest umieszczenie w nim przynajmniej jednej części z modułu Part. Krok dodania części do złożenia przedstawiony został poniżej.

32. from abaqusConstants import CARTESIAN
33. assembly = model.rootAssembly
34. assembly.DatumCsysByDefault(CARTESIAN)
35.
36. from abaqusConstants import ON
37. beamInstance = assembly.Instance(name = 'Beam-1', part=beam, dependent=ON)
38. 

W momencie gdy złożenie jest gotowe powinniśmy się zastanowić nad tym, jakiego typu symulację chcemy uruchomić. W tym konkretnym przykładzie będzie to analiza statyczna, którą definiujemy w sposób przedstawiony poniżej.

39. model.StaticStep(name = 'StaticStep', nlgeom = ON, previous = 'Initial')

Użytkownik przypisując warunki brzegowe w Abaqusie automatycznie tworzy zbiory obiektów geometrycznych (analogicznie do operacji przypisania materiału, opisanej wcześniej). Aby wykonać tę operację za pomocą skryptu sami musimy stworzyć taki zbiór, który będzie odpowiadał naszym potrzebom. W tym przypadku zdecydowałem, że przednia powierzchnia belki będzie unieruchomiona, a na tylnej zostanie zaaplikowane przemieszczenie 2,5 mm, w kierunku Y. Obie powierzchnie zdefiniować można przy pomocy funkcji findAt(), która dosłownie przeszukuje współrzędne do niej wprowadzone.

Na tym etapie warto zauważyć, że funkcja służąca tworzeniu zbiorów Set() wywoływana jest na rzecz obiektu złożenia, a nie jak miało to miejsce w linijce 27, na rzecz obiektu części. Jest to kolejna konwencja zastosowana w programie Abaqus – zbiory mogą być tworzone zarówno w module Part, jak i Assembly.

40. fixedFace = beamInstance.faces.findAt(coordinates = ((width/2.,height/2.,0.0), ) )
41. fixedFaceSet = assembly.Set(faces = fixedFace, name = 'FIXED')
42.
43. dispFace = beamInstance.faces.findAt(coordinates = ((width/2.,height/2.,length),))
44. dispFaceSet = assembly.Set(faces = dispFace, name = 'DISP')
45.   

W oparciu o wcześniej zdefiniowane zbiory wywołujemy funkcje, które mają na celu zdefiniowanie warunków brzegowych.

46. model.DisplacementBC(createStepName = 'StaticStep', name = 'FIXED',      47.                      region = fixedFaceSet, u1 = 0.0, u2 = 0.0, u3 = 0.0)      48.
49. model.DisplacementBC(createStepName = 'StaticStep', name = 'DISP',
50.                      region = dispFaceSet, u2 = -2.5)
51.   

Kończąc nasz skrypt dobrym zwyczajem jest uruchomienie komendy regeneracji modelu. Tym samym będziemy mieć pewność, że wszystkie z uruchomionych komend się wykonały. Ostatecznym krokiem jest stworzenie obiektu symulacji i jej uruchomienie za pomocą komendy submit().

52. assembly.regenerate()
53.
54. simulation = mdb.Job(model='Model-1', name='BeamSimulation')
55. simulation.submit()

Przy pomocy tak napisanego skryptu w prosty sposób możemy modyfikować kształt czy wartości materiałowe naszej belki. Możemy również w szybki sposób przeprowadzić studium zbieżności siatki, zmieniając wartość zmiennej globalMeshSize na taką, która nam odpowiada (Rys. 4).

studium zbieżności siatki globalMeshSize
Rys. 4

Na tym etapie część z Państwa może się zastanawiać skąd wiedzieć, jakich funkcji należy użyć i skąd, jako początkujący, mamy znać biblioteki, w których się one znajdują. Najprostszym ze sposobów na „odgadnięcie”, jak napisać skrypt jest uruchomienie opcji nagrywania makra w Abaqusie. Nagrywając makro automatycznie zapisujemy wszystkie wykonane kroki do pliku abaqusMacro.py. Innym ze sposobów jest otworzenie pliku .jnl lub .rpy znajdującego się w katalogu naszego projektu. W plikach tych zamieszczone są wszystkie czynności, które użytkownik wykonuje w trakcie trwania sesji.

Ćwiczenia z Pythonem – co dalej?

Przypuszczam, że lektura powyższego artykułu może pozostawiać niedosyt u niektórych czytelników. Przedstawiony przykład miał jedynie zademonstrować fakt, że Python jest bardzo prostym i przystępnym językiem. Osobom na co dzień pracującym z Abaqusem polecam zaznajomienie się nie tylko z dokumentacją (przedstawiającą gotowe przykłady), ale również ze stroną internetową SIMULIA Learning Community. Platforma ta zawiera mnóstwo przydatnych samouczków oraz gotowe skrypty i pluginy. Jednakże wszystkich chcących zgłębić tajniki Pythona zachęcam do wymyślenia sobie projektu i wdrożenia go w życie.

Z pewnością każdy z nas ma wśród swoich obowiązków do wykonywania jakąś niesamowicie żmudną czynność, którą musimy powtarzać w jakimś odstępie czasu. W moim przypadku było to tworzenie raportu w postaci pliku Excel, co manualnie zajmowało mi około kilku godzin. Nieszczególnie skomplikowany skrypt pozwolił skrócić ten czas do niecałej minuty. Polecam uczucie, które towarzyszy takiej zmianie!

Sławomir Polański

artykuł pochodzi z wydania 1/2 (136/137) styczeń/luty 2019

  • Share on Facebook
  • Share on Twitter
  • Share on LinkedIn
  • Share on WhatsApp
  • Share on Email
Tagi: MESprogramowanie

Powiązane artykuły

Analizy konstrukcji metodą bezsiatkową
Analizy, symulacje

Analizy konstrukcji przy pomocy metody bezsiatkowej

analiza zmęczeniowa spoiny
Analizy, symulacje

Numeryczna i eksperymentalna analiza losowego zmęczenia złączy spawanych metodą Dirlika

Modelowanie zjawisk sprzężonych
Analizy, symulacje

Modelowanie zjawisk sprzężonych

Analiza nitowania bezotworowego w układzie wzmacniany polimer–metal
Analizy, symulacje

Analiza nitowania bezotworowego w układzie wzmacniany polimer-metal z wykorzystaniem modelowania numerycznego

model przekładni
Analizy, symulacje

Badanie wpływu uszkodzeń zębów na dynamikę przekładni zębatej przy pomocy metod komputerowych

Ładowarka Bocznie Wysypująca ŁBT 1200EH/LS A
Analizy, symulacje

Weryfikacja wytrzymałościowa wysięgnika ładowarki górniczej

Tematyka:

aluminium budowa maszyn CAD ceramika techniczna CNC diagnostyka druk 3D energetyka formy wtryskowe innowacje inżynieria materiałowa klejenie kompozyty konstruktor laser lotnictwo mechanizm MES montaż motocykle motoryzacja nanotechnologia narzędzia obliczenia obrabiarki obróbka plastyczna obróbka skrawaniem polskie projekty powłoki programy przemysł kosmiczny przemysł morski przemysł zbrojeniowy robot robotyzacja silniki spawanie stal technologie łączenia tribologia tworzywa sztuczne wynalazki wywiad zgrzewanie łożyska
FORMY WTRYSKOWE Integracja Konstrukcji i Technologii Ebook
MetalTop
ceramiczne elementy maszyn

wykrawarki Trumpf
Projektowanie i Konstrukcje Inżynierskie
  • O nas
  • Polityka prywatności
  • Kontakt

© ITER 2007-2026

Nie znaleziono
Zobacz wszystkie wyniki
  • Strona główna
  • Aktualności
  • Artykuły
    • Analizy, symulacje
    • Badania, analizy
    • Części maszyn i urządzeń
    • Historia
    • Inne
    • Konstrukcje
    • Maszyny i urządzenia
    • Materiały
    • Projektowanie
    • Rozwiązania
    • Technologie
  • Jak zakupić
  • O nas
  • Kontakt

© ITER 2007-2026

email_icon

Nie przegap nowych wydań!

Zapisz się, aby na bieżąco otrzymywać linki do kolejnych, darmowych wydań Projektowania i Konstrukcji Inżynierskich

Wpisz adres email

Dziękuję, nie pokazuj więcej