Zmienianie nazw treści interfejsu API

Witam

Chcę ułatwić zrozumienie i narysowanie pliku wieloczęściowego. Aby tego dokonać, jedną z moich ścieżek refleksji byłaby zmiana nazw ciał tej części przez przyrost podzbioru. Wszystko za pomocą makra, które pozwala mi kliknąć na ciała, których nazwy zostały zmienione.

W jaśniejszy i bardziej jednoznaczny sposób: wyobraźmy sobie plik części mebla składający się z wielu podzespołów: korpusu, drzwi, szuflady, półek. Te podzespoły same w sobie składają się z kilku odrębnych brył (na przykład szuflady: front, gałka, dół, boki i tył). Aby było to czytelne, chciałbym uruchomić makro, które prosi mnie o kliknięcie na korpusy w widoku 3D, które składają się na szufladę i zmianę nazwy tych ciał na "szuflada [1], szuflada [2], szuflada [3], ... ". Kiedy już zidentyfikuję wszystkie elementy szuflady, klikam w prawy przycisk, a makro automatycznie przełącza się na zmianę nazw elementów drzwi: "drzwi [1], drzwi [2], ..."  I tak dalej dla wszystkich podzbiorów. Po kilku poszukiwaniach znalazłem makro, które pozwala wyświetlić nazwę ciała po kliknięciu na nie, które zmieszałem z innym, które pozwala na zmianę nazwy za pomocą swbody.name=. Potykam się o edycję pętli, zwłaszcza test prawego przycisku myszy.

Jestem prawie nowy w API, moje stare doświadczenia są niestety całkowicie zapomniane z powodu braku regularnej praktyki. Wiem, że aktywni są tu eksperci API (właściwie ukradłem makro wyboru z samouczków w .PL), każda pomoc w tym, co musi być dla nich dość podstawowe, będzie mile widziana.

Dziękuję.

Sebastian

2 polubienia

Witam

Czymś całkiem prostym i w zasięgu każdego jest zrobienie makra poprzez naukę, dzięki czemu możesz zobaczyć, jak robi to SolidWorks!

Poza tym jest tu kilka interesujących informacji:

https://forum.solidworks.com/thread/81918

A może tutaj:

https://forum.solidworks.com/thread/55341

1 polubienie

Dziękuję za tę pierwszą opinię. Znalazłem już i wykorzystałem drugie ogniwo.

Mój problem nie jest już tak bardzo na SW, a raczej na VBA. Nauka makr pod SW nie pozwala mi nauczyć się kodować pętli i jej zdarzeń wyjściowych (w tym przypadku prawy przycisk).

Mój scenariusz wyglądałby następująco:

  • implementacja w kodzie listy nazw (szuflada, półka, ...) -> poszukam tego, myślę, że nie jest to zbyt duży problem
  • podczas uruchamiania makra prosi mnie o kliknięcie elementów na pierwszej liście (szufladzie) -> częściowo OK
  • Klikam kolejno na X body lewym przyciskiem, makro zmienia nazwę korpusów na szuflada1, szuflada2,...,  szufladaX ("szuflada" jest pierwsza na liście)-> OK dzięki 2. linkowi i macro.PL
  • Klikam prawy przycisk, makro wznawia pętlę tuż powyżej, prosząc mnie o kliknięcie pozycji na półce (2. na liście) -> W tym miejscu utknęłem
  • Koniec makra po kliknięciu prawym przyciskiem myszy ostatniego elementu ostatniej listy (która może być pusta).

Następnie poszukam, jak wprowadzić listę za pomocą okna dialogowego podczas uruchamiania, ale jest to naprawdę akcesorium.

Zamierzam przejrzeć i przetestować na podstawie pierwszego linku, którego nie znalazłem, na pierwszy rzut oka jest w nim kilka bardzo interesujących informacji. Ale nie wiem, czy używana jest akcja kliknięcia prawym przyciskiem myszy.

Dziękuję.

2 polubienia

Dla kliknięcia wyszukaj "kliknięcie zdarzenia".

Zobacz tę stronę:

https://books.google.fr/books?id=ftVsBgAAQBAJ&pg=PA97&lpg=PA97&dq=event+click+solidworks&source=bl&ots=11x9fcPapa&sig=yk4KI0H_hDwF6M2BpRQBoPdH5ow&hl=fr&sa=X&redir_esc=y#v=onepage&q=event%20click%20solidworks&f=false

Lub zobacz tutaj:

http://help.solidworks.com/2015/English/api/sldworksapi/Run_SOLIDWORKS_Commands_and_Synthesize_Mouse_Events_Example_VB.htm

http://help.solidworks.com/2012/English/api/sldworksapiprogguide/Overview/Events.htm?id=6328edd0faf9464baf45de5be3f06f30