blog-avtomatizacija-solidworks-a-z-uporabo-makrojev

BLOG: Avtomatizacija SOLIDWORKS-a z uporabo Makrojev

SOLIDWORKS, Blog

Piše: Tomaž Korošec



  • SOLIDWORKS program ima odprt in dokumentiran API (Application programming interface) vmesnik, ki med drugim uporabnikom omogoča izdelavo različnih makrojev in add-inov za avtomatizacijo najrazličnejših ponavljajočih, zamudnih in/ali na napake podvrženih opravil.
  • To so lahko preprosta opravila, kot je izvoz datotek v različne izhodne formate, ali bolj kompleksna opravila, kot je npr. manipulacija samih 3D modelov ali risb.

V tem prispevku je prikazano, kako lahko vsak uporabnik z nekaj enostavnimi koraki izdela svoj lasten makro na osnovi VBA (Visual Basic for Application) jezika, ki mu olajša določene ponavljajoče korake in prihrani nekaj časa. 


Pri tem si bomo ogledali naslednje korake in funkcionalnosti:

1. Snemanje ročnih ukazov v makro datoteko

2. Urejanje makro datoteke

3. Izdelava uporabniškega gumba za zagon makroja

4. Izdelava bližnjice za zagon makroja


Ogledali si bomo primer makroja, ki shrani odprto risbo ter jo obenem izvozi v PDF format. Tak makro nam omogoča, da imamo ob vsaki spremembi risbe na razpolago tudi njen usklajen PDF izvod.

1. Snemanje ročnih ukazov v SOLIDWORKS-u v makro datoteko


SOLIDWORKS ima snemalnik makrojev, ki omogoča, da določeno zaporedje ročnih ukazov zajame in zapiše v posebno datoteko v obliki programske kode (s končnico .swp). Tako posnet makro lahko včasih že v svoji posneti obliki uporabimo za nadaljnjo avtomatizacijo posnetega procesa, lahko je pa vsaj zelo dobra osnova, iz katere z malce predelave pridemo do bolj splošno uporabnega makroja.

Poglejmo si primer:

Snemanje makroja zaženemo z ukazom Tools > Macro > Record.

Izvedemo ukaze za avtomatizacijo:

File > Save

File > Save As… in izberemo PDF tip datoteke ter shranimo pod isto ime s končnico .pdf

Zaključimo snemanje makroja z ukazom Tools > Macro > Stop (ali s klikom na ustrezno ikono »Stop« med makro ukazi v SOLIDWORKS uporabniškem vmesniku)

Shranimo makro datoteko s poljubnim imenom na željeno lokacijo.

blog-avtomatizacija-solidworks-a-z-uporabo-makrojev

2. Urejanje makro datoteke


Čeprav je posneti makro do neke mere že pripravljen na uporabo, pogosto vsebuje specifične ukaze oz. podatke vezane na specifično datoteko, nad katero smo makro posneli (npr. specifično ime datoteke, ime gradnikov datoteke ipd.) in ni splošno uporaben nad katerokoli drugo datoteko oz. v katerikoli drugi podobni situaciji. 

Zato je makro večino potrebno še nekoliko predelati, da postane bolj splošno uporaben.

Shranjeno makro datoteko (.swp) s programsko kodo lahko urejamo z orodjem Microsoft Visual Basic for Applications (VBA), ki pride vkomponiran v sam SOLIDWORKS.

Urejanje makroja zaženemo z ukazom Tools > Macro > Edit in z izborom ustrezne shranjene makro datoteke.


Slika1C Tools Macro Edit


Makro datoteka vsebuje konkretno VBA programsko kodo.

Primer kode, ki se je avtomatsko zgenerirala v prejšnji točki tega prispevka, je podan spodaj.

Slika2 Makro posnet


V našem primeru kodo predelamo tako, da izbrišemo nekaj odvečnih nerelevantnih ukazov ter dodamo dodatne vrstice kode, ki poskrbijo:

za splošno poimenovanje izhodne PDF datoteke skladno z izvornim imenom risbe;

da se izvoz v PDF format izvede samo nad risbami, ne pa tudi nad modeli (kosi ali sestavi).


Obenem tudi vizualno poravnamo strukturo kode, da je bolj pregledna. Primer predelane kode je podan spodaj, kjer so dodane vrstice oranžno markirane. 

Slika3 Macro predelan+


Tako predelan makro lahko testno poženemo neposredno iz urejevalnika Microsoft Visual Basic for Applications s klikom na gumb poženi – Run (glej spodaj).

Za redno uporabo makroja pa običajno znotraj uporabniškega vmesnika SOLIDWORKS-a dodamo za to namenjen gumb. Več o tem v nadaljevanju.

Slika4 Run


3. Izdelava uporabniškega gumba za zagon makroja


Za izvajanje makroja iz okolja SOLDWORKS-a lahko v uporabniški vmesnik dodamo za to namenjen gumb (ikono). Slednjega dodamo lahko na poljuben zavihek Command managerja (vrstice z ukazi na vrhu SOLIDWORKS okna) ali v samo menijsko vrstico (poleg ukazov za Open, Save ipd.) – glej primere na sliki spodaj. 


Slika5 MakroGumbi+

Nov makro gumb dodamo preko okna Customize dostopnega preko desnega klika v Command manager. Pogoj za dostop do Customize ukaza je odprta vsaj ena datoteka v SOLIDWORKS-u. Znotraj Customize okna gremo na zavihek Commands, izberemo kategorijo Macro in v sklopu Buttons zagrabimo in nesemo zadnji gumb (New Macro Button) na željeno mesto v Command managerju. Pojavi se okno, kjer določimo željeno datoteko makroja za izvajanje, ime gumba za prikaz in po želji tudi poljubno sliko (ikono) gumba. Postopek dodajanja makro gumba ponazarja slika.

blog-avtomatizacija-solidworks-a-z-uporabo-makrojev

4. Izdelava bližnjice za zagon makroja


Makro v SOLIDWORKS-u lahko poleg gumba poženemo tudi preko vnaprej določene kombinacije bližnjičnih tipk. To nastavimo v istem oknu Customize kot gumb. Pod zavihkom Keyboard poiščemo na seznamu (običajno na dnu) naš makro in v stolpec Shortcut(s)dodamo kombinacijo željenih bližnjičnih tipk (to storimo kar s pritiskom na željeno kombinacijo).

Predpogoj za definiranje bližnjičnih tipk makroja je, da je že definiran gumb za zagon tega istega makroja. Postopek nastavitve bližnjice je ponazorjen tudi na sliki spodaj.

Po tej nastavitvi izbrana kombinacija tipk sproži makro, prav tako kot pritisk na prej dodan gumb.

blog-avtomatizacija-solidworks-a-z-uporabo-makrojev

Na opisan način lahko izdelamo svoje lastne makroje ter dodamo ustrezne gumbe oz. nastavimo ustrezne bližnjične tipke za njihovo lažje in hitrejše izvajanje.

Za bolj kompleksne makroje, ki jih pogosto ne moremo izdelati zgolj s snemanjem zaporedja korakov v SOLIDWORKS-u, si lahko pomagamo z obsežno dokumentacijo SOLIDWORKS API vmesnika (povezava), ki poleg opisov posameznih ukazov in funkcij ponuja tudi številne nazorne primere makrojev.