SOLIDWORKS API oziroma aplikacijski programski vmesnik omogoča avtomatizacijo ponavljajočih se in zamudnih opravil v programu SOLIDWORKS. Rešitve po meri so lahko preprosti makri ali zahtevnejše aplikacije. Makro je programirano zaporedje ukazov, ki ga je mogoče večkrat izvesti. Snemalnik makrov v SOLIDWORKS lahko med izvajanjem podprtih ukazov zabeleži ustrezne API-klice in iz njih ustvari osnovni makro VBA. Ker snemalnik ne zajame vseh dejanj in praviloma ne ustvari dokončne rešitve, je treba posneti makro pogosto še urediti.
Makro je mogoče razširiti v vgrajenem urejevalniku VBA. Dodamo mu lahko programsko logiko, preverjanje pogojev, obvestila ter obrazce za zbiranje uporabniških vnosov in izbir.
Vse tri različice SOLIDWORKS Design – Standard, Professional in Premium – omogočajo uporabo, ustvarjanje in urejanje makrov.
Zahtevnejše rešitve je mogoče razviti na primer v programskih jezikih C#, VB.NET ali C++. Tako nastanejo dodatki za SOLIDWORKS ali samostojne aplikacije, ki lahko SOLIDWORKS zaženejo in prek API-ja izvajajo postopke tudi brez neposrednega uporabniškega upravljanja. Med komercialne dodatke, ki delujejo v okolju SOLIDWORKS, sodijo na primer SolidCAM, SWOOD, Solid Steel, DriveWorks in Logopress3. Primer našega dodatka je predstavljen na strani https://www.solidworld.si/solid-world-tools.
SOLIDWORKS API je mogoče uporabiti za številne naloge, pri katerih lahko konstruktorju prihrani čas, pa tudi za postopke, ki v uporabniškem vmesniku niso neposredno na voljo. Primeri so ustvarjanje koordinatnega sistema na podlagi določenih koordinat X, Y in Z ter izvajanje dodatnih dejanj ob dogodkih, kot so prenova, odpiranje ali shranjevanje modela. Tako je mogoče na primer posodobiti tabelo ali drugo dokumentacijo, dodati vidno oznako modelu ali risbi, izvoziti kosovnico (BOM) v obliko CSV, Excel ali XML ter lastnosti po meri izpolniti s podatki iz Excelove preglednice. Možnosti so odvisne od razpoložljivih API-funkcij in zasnove rešitve.
Makri SOLIDWORKS praviloma temeljijo na jeziku VBA, ki se uporablja tudi za makre v Excelu. Osnovni koncept je zato podoben. Razlika je predvsem v objektnih modelih in naboru API-klicev: SOLIDWORKS ponuja funkcije za delo z modeli, sestavi in risbami, Excel pa funkcije za delo z delovnimi zvezki in preglednicami.
Razvoj dodatka za SOLIDWORKS namesto makra lahko prinese več prednosti. Dodatek je lažje vključiti v uporabniški vmesnik, primernejši je za obsežnejšo programsko logiko ter lahko ponudi boljšo zmogljivost, upravljanje napak in distribucijo med uporabniki. Združljivost z novimi različicami SOLIDWORKS je treba pri makrih in dodatkih preverjati ter rešitev po potrebi prilagoditi. Razvoj dodatka zahteva več programerskega znanja, zato je začetni vložek navadno večji.
Rešitev, ki uporablja SOLIDWORKS API, je smiselna predvsem za:
SOLIDWORKS PDM ima svoj API, namenjen avtomatizaciji postopkov v t.i. Vault-u. Za razliko od SOLIDWORKS, v PDM ni vgrajenega okolja za makre VBA, zato se rešitve običajno razvijajo kot dodatki ali samostojne aplikacije, na primer v jezikih C#, VB.NET ali C++.
Ker je PDM namenjen upravljanju datotek, referenc, različic in metapodatkov, so rešitve po meri večinoma osredotočene na ta področja. Upravljajo lahko reference med datotekami, izvajajo prijavo in odjavo datotek, spreminjajo vrednosti na podatkovnih karticah ter pošiljajo prilagojena obvestila. Omogočijo lahko tudi podporo postopkom potrjevanja in elektronskega podpisovanja, če je rešitev ustrezno zasnovana.
Za uporabnike je mogoče pripraviti tudi prilagojena opravila, ki jih zaženejo ročno ali pa se samodejno sprožijo ob določenem prehodu delovnega toka.
Nekatere rešitve uporabljajo tako API za PDM kot API za SOLIDWORKS. Takšna rešitev lahko na podlagi podatkov iz PDM izbere datoteke, jih odpre v programu SOLIDWORKS in nad njimi izvede določena dejanja. Pri tem je treba upoštevati razpoložljivost licence SOLIDWORKS, pravice uporabnika ter način izvajanja postopka.
Načrtovanje je eden najpomembnejših korakov pri razvoju aplikacije. Najprej zapišite, kaj želite doseči in kaj naj program naredi. Pisni opis pomaga jasno opredeliti zahteve, ki bi sicer ostale le zamisel in bi se med projektom lahko spreminjale. Tudi pri preprosti nalogi je pomemben jasen cilj.
Nato pripravite kratek funkcionalni osnutek: opišite namen rešitve, potrebne vhodne podatke, zaporedje korakov, pričakovane rezultate in morebitne izjeme. Tak zapis olajša razvoj, preizkušanje in poznejše vzdrževanje aplikacije.
Povzetek: Dodatek za SOLIDWORKS ob kliku na gumb prebere vrednost obstoječe lastnosti po meri in jo uporabi kot parameter poizvedbe v podatkovni zbirki SQL. Na podlagi vrnjenih podatkov nato v trenutno odprti datoteki dela ustvari oziroma izpolni dve novi lastnosti po meri.
Osnutek:
V tem primeru je rešitev zasnovana kot dodatek za SOLIDWORKS v programskem jeziku C#. Takšna zasnova omogoča pregledno obravnavo povezave s podatkovno zbirko, parametriziranih poizvedb, napak in nastavitev. Dostop do podatkovne zbirke je sicer mogoč tudi iz makra VBA.
Podoben pristop je mogoče uporabiti tudi pri integraciji s sistemom ERP. Glede na zahteve lahko rešitev podatke iz podatkovne zbirke pridobiva ali jih vanjo zapisuje. Pri tem je treba poskrbeti za preverjanje podatkov, pravice dostopa, varno upravljanje poverilnic in obravnavo napak.
Razvojna ekipa Solid World že vrsto let razvija aplikacije po meri in vam je na voljo za zahtevnejše programerske storitve. Postopek se začne z vprašanjem, kaj želite doseči in ali je mogoče zahtevo v celoti ali delno rešiti že z vgrajenimi funkcijami SOLIDWORKS oziroma PDM. Nato skupaj natančneje opredelimo zahteve, obseg rešitve in način izvedbe.
API lahko poveča produktivnost konstruktorjev in drugih oddelkov, ni pa namenjen nadomeščanju strokovnega dela uporabnikov. Priporočljivo je začeti z enim jasno določenim ciljem avtomatizacije in rešitev nato postopno širiti. Če poskušamo že v prvi različici zajeti preveč zahtev, lahko obseg projekta hitro postane težko obvladljiv. Bolje je pripraviti uporabno začetno različico, jo preizkusiti v praksi ter izboljšave in dodatne funkcije vključevati na podlagi izkušenj uporabnikov.
Za dodatne informacije in pomoč se obrnite na našo tehnično
podporo: https://www.solidworld.si/storitve/podpora
ali +386 (0)1 42 24 906.