_

[Catia V5] Pierwsze macro.

Forum ogólne. Miejsce na pierwsze pytania w karierze projektanta. Wszelkie tematy, których nie można zakwalifikować do jednej z poniższych grup.

[Catia V5] Pierwsze macro.

Postprzez Light_green » mar 14, 2016 11:56

Witam,

Po ostatnich moich zapytaniach muszę przyznać, tu jest naprawdę sporo specjalistów, najwyższej klasy.

Dlatego brnę dalej i chciałbym napisać swój pierwszy skrypt macro w catii.

Jego zadaniem było by wykonanie 60 tych samych optymalizacji, lecz z zmianą jednego parametru w modelu, mianowicie kąta.
Potrzebuję poznać jak zmienia się obszar ścięty przez płaszczyznę gdy ta jest odchylana od -30 stopni do 30 stopni co jeden stopień. Warunek jest taki iż objętość właściwa całego modelu podczas badania obszaru musi wynosić 1000cm3. Ten warunek zapewnia optymizer (dziękuję za pomoc kolegi z forum który to podpowiedział).

Aktualnie:
1. Właczam Part design, dokonuję zmiany kata +1 stopień,
2. Włączam moduł Product Engeniering Optymizer
3. Włączam wcześniej przygotowany Optymizer
4. Odczytuję wartość obszaru i wpisuję do Excela (potem powstaje wykres i jego mała analiza)
I tak w kółko.

Czy jest możliwość aby taką pętle zapewnić dzięki macro?

Wrzucam screeny :)
zapytanie_na_forum.png

zapytanie_na_forum2.png

zapytanie_na_forum3.png


Pozdrawiam bardzo !
Light_green
 
Posty: 10
Dołączył(a): gru 07, 2015 22:07

Re: [Catia V5] Pierwsze macro.

Postprzez catiav5 » mar 14, 2016 15:47

W kodzie makra potrzebna jest pętla, w której trzeba:
- ustalić wartość kąta
- uruchomić optymalizację
- zapamiętać wyniki (na przykład w pliku EXCEL).

Czyli na przykład:
PetlaOptymalizacji.jpg

Struktura mojego modelu:
DrzewoStrukturalne.jpg

Nie jestem ekspertem w programowaniu, ale makro (patrz załącznik) działa.
Wyniki:
Wyniki.jpg
Wyniki.jpg (21.15 KiB) Przeglądane 745 razy
Załączniki
PetlaOptymalizacji.txt
(1.63 KiB) Pobrane 46 razy
catiav5
 
Posty: 95
Dołączył(a): paź 21, 2005 10:54
Lokalizacja: Wrocław

Re: [Catia V5] Pierwsze macro.

Postprzez Light_green » mar 15, 2016 10:00

Dzięki za odpowiedz !
Przyznam że jest to bardziej skomplikowane niż się spodziewałem, część linijek kodu rozumiem. Rozumiem część jest standardowa, do kasowania błędów?
Zaraz będę sprawdzał czy u mnie zadziała. Próbuję podobne informacje znaleźć z opisem tu:
http://www.catia.com.pl/tutorial/z2/kno ... dvisor.pdf

Pozdrawiam !
Light_green
 
Posty: 10
Dołączył(a): gru 07, 2015 22:07

Re: [Catia V5] Pierwsze macro.

Postprzez ll » mar 15, 2016 21:15

Uczysz sie dopiero CATII ? Bo mega ambitnie podchodzisz do sprawy :-) w takim tempie za rok przeskoczysz wiedzą CATIOWA i "kombinatoryką" 90% klikaczy automotive, którzy w dużym % uważają się za wręcz developerów CATII :-)

A za ostatnią odpowiedź postaw jakąś wirtualną flaszke..... Chyba kojarze kto to napisał :-) - lepiej trafić nie mogłeś...
ll
 
Posty: 412
Dołączył(a): maja 05, 2011 17:43

Re: [Catia V5] Pierwsze macro.

Postprzez bielak54 » sie 07, 2017 19:47

Cześć,
to mój pierwszy post na forum więc proszę o wyrozumiałość .
Mam pytanie do powyższego tematu macra w Catii. Jestem początkującym konstruktorem więc jak to bywa starsi dają często zadania wymagające całą masę bezsensownego klikania, pomyślałem więc ,ze trzeba zacząć uczyć się pisać macra aby i teraz i w przyszłości zaoszczędzić sobie takiej pracy. Przechodząc do rzeczy mam do przeklikania kilkaset plików, w których nazwę muszę wprowadzić numer rewizji pobrany z PROPERTIES z Catii, ostatecznie plik ma mieć nazwę np "nazwa_pliku_AA01".
Do tej pory udało mi się napisać macro, które robiło coś takiego z jednym plikiem i to nie do końca poprawnie. Mój problem polega na tym ,ze nie wiem jakiego kodu użyć aby dla każdego pliku z określonego folderu była pobierana rewizja z properties.
Informacji o programowaniu w Catii jest mało więc może znajdzie się jakiś łaskawca, który wskaże mi drogę :D
bielak54
 
Posty: 1
Dołączył(a): sie 07, 2017 19:24

Re: [Catia V5] Pierwsze macro.

Postprzez catiav5 » wrz 01, 2017 11:17

Podejrzewam, że chcesz zmieniać nazwy plików typu CATPart i to takich, które nie są komponentami zespołów.
Jeśli tak, to makro poniżej:

Kod: Zaznacz cały
Sub CatMain()

Set fileSys = CATIA.FileSystem
InFolderPath = InputBox( "Enter an INPUT folder path:", "Folder path to original files" ,sDocPath & "C:\temp\INPUT")

If InFolderPath ="" Then
   Exit Sub
End If

OutFolderPath = InputBox( "Enter an OUTPUT folder path:", "Folder path to renamed files" ,sDocPath & "C:\temp\OUTPUT")
If OutFolderPath ="" Then
   Exit Sub
End If

Set filefolder = FileSys.GetFolder(InFolderPath)

For i = 1 To filefolder.Files.Count
   Set IFile = filefolder.Files.Item(i)
   If InStr(IFile.Name, ".CATPart") <> 0 Then
      Set Doc = CATIA.Documents.Open(IFile.Path)
      Set PartDoc = CATIA.ActiveDocument
      Set MyPart = PartDoc.Product
      OldPartName = MyPart.PartNumber
      PartRevision = MyPart.Revision
      NewPartName=OldPartName+"_"+PartRevision
      MyPart.PartNumber = NewPartName
      PartDoc.SaveAs(OutFolderPath+"\"+NewPartName)
      PartDoc.Close()
   End If
Next
End Sub


Jeśli nie, to trzeba w CATII otworzyć pliki typu CATProduct, zmienić nazwy komponentów aktywnego zespołu i wszystko zapisać. W takim przypadku trochę inne makro.
catiav5
 
Posty: 95
Dołączył(a): paź 21, 2005 10:54
Lokalizacja: Wrocław


Powrót do Pytania studentów, laików i początkujących

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników