kako-s-solidworks-api-povecati-produktivnost-in-zmanjsati-stevilo-napak

Kako s SOLIDWORKS API povečati produktivnost in zmanjšati število napak

API za SOLIDWORKS in SOLIDWORKS PDM omogoča razvoj makrov, dodatkov in samostojnih aplikacij, s katerimi lahko avtomatizirate delo ter zmanjšate število napak. Članek v obliki vprašanj in odgovorov pojasnjuje osnove te obsežne teme, predstavlja značilne primere uporabe in opisuje, kako zahteve pretvoriti v dobro zasnovano programsko rešitev. Pri zahtevnejših projektih vam lahko pomaga tudi naša razvojna ekipa, ki za stranke izdeluje aplikacije po meri.


Kaj je SOLIDWORKS API in kaj omogoča?


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.




Kaj vse lahko avtomatiziramo s SOLIDWORKS API?


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.



Makro ali dodatek za SOLIDWORKS?


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.




Kdaj je smiselna uporaba rešitve SOLIDWORKS API?


Rešitev, ki uporablja SOLIDWORKS API, je smiselna predvsem za:

  1. avtomatizacijo ponavljajočih se, zamudnih opravil;
  2. izvajanje dejanj, ki v uporabniškem vmesniku SOLIDWORKS ali PDM niso neposredno na voljo;
  3. zmanjšanje časa in stroškov ročnega dela;
  4. zmanjšanje števila človeških napak s standardizacijo postopkov;
  5. hitrejšo in doslednejšo izvedbo določenih operacij.



Kako lahko avtomatiziramo SOLIDWORKS PDM?


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.



Povezovanje SOLIDWORKS in PDM z API-jem


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.



Od ideje do aplikacije: kako začeti?


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.




Primer zasnove dodatka za SOLIDWORKS


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:

  1. Nameščeni dodatek za SOLIDWORKS bo imel eno ikono.
  2. Dodatek bo deloval le v trenutno odprti in aktivni datoteki dela v programu SOLIDWORKS.
  3. Konfiguracijska datoteka bo vsebovala ime izvorne lastnosti po meri, poizvedbo SQL in povezovalni niz za podatkovno zbirko.
  4. Uporabnik mora pred zagonom dodatka določiti izvorno lastnost po meri.
  5. Ob kliku na gumb dodatek prebere vrednost lastnosti po meri v aktivnem dokumentu in izvede parametrizirano poizvedbo SQL.
  6. Vrednosti dveh lastnosti po meri se izpolnijo s podatki, ki jih vrne poizvedba SQL.
  7. Lastnosti po meri se ustvarijo, če še ne obstajajo.


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.




Kaj storiti, če nimate programerskega znanja?


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.




Priporočila za načrtovanje rešitve SOLIDWORKS API


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.