Älykkäät Python-kokoonpanot ja kirjastomallit

Video
Aiheesta löytyy video Vertex Systems Oy:n Youtube-kanavalta:
https://www.youtube.com/watch?v=Gd5XL9v1SRgKirjastomallien ja Python-kokoonpanojen periaate

Kirjastomalleihin voidaan liittää mittamuuttujia, kaavoja mittoihin sekä myös Python-koodia laskentaa ja käyttöliittymiä (sisäinen/ulkoinen) varten
Liitettäessä kirjastomallit kokoonpanoon Python-koodi seuraa mukana ja mallia voidaan ohjata koodilla tuotaessa ja kokoonpanon sisällä (tuplaklikkaus)
Mittamuuttujat kirjastomallista näkyy kokoonpanon mittataulukossa, mutta sitä kautta näihin muuttujiin ei mallin oma Python-koodi vaikuta
Kokoonpanon omalla Python-koodilla voidaan myös ohjata kirjastomallin muuttujien arvoja ja esimerkiksi niiden näkymistä kokoonpanossa
Kirjastoon on tehtävä eri muuttujan nimillä varustettuja variaatioita samasta mallista, mikäli haluat käyttää samanlaista geometriaa samassa kokoonpanossa eri arvoilla
Huomaa, että mikäli sinulla on monta samaa kirjastomallia samassa kokoonpanossa ja muutat muuttujien arvoja mittataulukossa tai Python-koodin kautta, kaikki samalla muuttujan nimellä varustetut saavat samat arvot ja kaikki samanlaiset mallit muuttuvat
Pythonilla varustetut kirjastomallit

Kirjastomallit voivat olla osia tai kokoonpanoja
Mittataulukkomuuttujilla voidaan ohjata osien mittamuuttujia tai kokoonpanon apugeometrian kautta alikokoonpanoja tai osia ja suoraan kokoonpanon osia
Osiin tai kokoonpanoihin voidaan liittää myös Python-koodia, jolla lasketaan muuttujille arvoja, poistetaan kokoonpanosta osia tai alakokoonpanoja à mallista löytyy kaikki eri variaatiot, kysymyksillä valitaan halutut osat/alikokoonpanot itse tuotavaan malliin
Pythonkoodin kysymykset voidaan esittää mallin sisäisellä käyttöliittymällä tai tuoda muuttujan arvot json-tiedostona erillisestä käyttöliittymästä
Kirjastomallissa voi olla myös kirjastokompponentteja, vakiokirjastosta tai omasta kirjastosta
Kirjastomallissa voi olla smart snap-komponentteja, joko vakioita tai itse tehtyjä
HUOM: Jos smart snap-komponentissa on mittataulukko, mittataulukon muutokset eivät toimi Python-koodin kanssa samassa mallissa, jos niille ei kysytä arvoja Python-koodin kautta
Smart snap-komponentit

Smart Snap-komponentti on Vertex G4-suunnitteluympäristössä osa tai alikokoonpano, jonka paikka ja muoto määräytyvät ulkoisen geometrian perusteella heti kokoonpanoon lisättäessä
Smart snap komponentteina voi olla esimerkiksi hoitotason kaiteet, tukipalkit, portaat jne.
Esim. tukipalkit voidaan tehdä niin, että mallissa palkin pituus muuttuu, mutta päitten osat pysyy aina samanlaisina à tuotantoon vienti tehdään taulukkopiirustuksella
Kun kokoonpanossa muuttujien mittoja ohjataan Python-koodilla, smart snap-komponentit skaalautuvat mittojen muutosten mukaan automaattisesti
Smart Snap-komponentteihin voidaan liittää mittataulukkoon mittamuuttujia ja niitä voidaan ohjata kokoonpanon Python-koodin kautta
Smart Snap-komponentteihin ei voi suoraan liittää Python-koodia
Nopeuttavat suunnittelutyötä
Kokoonpanossa oleva Python-koodi ohjaamaan komponentteja

Kokoonpanossa löytyvää mittataulukkoa ja sen kaikkia muuttujia voidaan ohjata mittataulukkoon liitetyllä Python-koodilla, mukaan lukien komponenttikirjastokomponenttien ja SmartSnap-komponenttien muuttujat
Python-koodissa voidaan tehdä laskutoimenpiteitä, esim. perustamalla muuttujia laskentaa varten ja tehdä laskentaa mittataulukon muuttujien avulla
Esim. koodissa kysytään käyttäjältä hallin pituus ja sen perusteella lasketaan sarjalle palkkimoduulille oikea määrä ja palkkien välille oikea määrä pituuden mukaan
Python-koodissa voidaan antaa ehtolauseita
Vain tietyillä mitoilla tietyt alikokoonpanot pysyvät kokoonpanossa
Voidaan asettaa mitoille rajoja, joiden sisällä mittoja voi käyttäjä antaa
Python-koodissa voidaan tehdä kysymyksiä tiettyjen osien/alikokoonpanojen näkymisestä ja poistamisesta lopullisessa kokoonpanossa
Python-koodin sisään voidaan rakentaa yksinkertaisia käyttöliittymiä muuttujien arvojen antamiseen käyttäjälle
Ohjelma ajetaan joko mittataulukon kautta tai työalueelta hiiren oikealla ”Suorita Python-ohjelma”
Ulkoisella käyttöliittymällä ohjaus

Mittataulukon Python-koodiin voidaan hakea muuttujien arvot Vertex G4:n ulkopuolelta JSON-tiedostomuodossa
Kokoonpanon skaalaaminen ja kirjastokomponenttien skaalaaminen ja näkyminen määritellään tällöin ulkoisen käyttöliittymän kautta
Käyttöliittymä on täysin riippumaton Vertex G4:stä
Käyttöliittymä voi olla excel-pohjainen taulukko, Python- tai jollakin muulla ohjelmointikielellä rakennettu erillinen ohjelma, selainpohjainen Python Streamlit-sovellus tai selainpohjainen Javascriptiä sisältävä web-sivu
Ulkoisesta käyttöliittymästä tallennetaan muuttujien arvot JSON-tiedostoon johonkin kansioon, joka ladataan sitten Vertex G4:n mittataulukossa olevaan Python-koodiin ja muuttujat saavat uudet arvonsa JSON-tiedostosta
Mahdollistaa erittäin monipuoliset ja visualisestikin havainnolliset käyttöliittymät mallin variointiin à käyttöliittymän avaus ikonilla työpöydältä
Ulkoista käyttöliittymää voi käyttää ja valintoja siellä tehdä myös suunnittelun ulkopuolinen taho, esim. myynti
Suunnittelu voi tämän jälkeen ladata kokoonpanoon kyseisen tiedoston kansiosta ja generoida uuden variaation mallista
Esimerkki teräsrunkoisen hallin rungon ulkoisesta mitoituskäyttöliittymästä:
