Python-ohjelmoinnin käyttö parametrisen 3D-mallin ohjaamisessa
Tämä teksti on generoitu videon litteroinnin perusteella
Python-ohjelmoinnin käyttö parametrisen 3D-mallin ohjaamisessa Vertex G4:ssä
Tässä artikkelissa käydään läpi, miten Vertex G4:n parametrinen 3D-malli voidaan kytkeä Python-ohjelmaan niin, että Python laskee ja asettaa mallin mitat automaattisesti. Artikkelin lopussa sinulla on kokonaiskuva siitä, miten:
3D-kokoonpano muutetaan suunnitteluautomaattimalliksi
mittamuuttujia ohjataan Python-koodilla
Python-ohjelma liitetään suunnitteluautomaattiin ja/tai kokoonpanon pikavalikkoon
Ajatuksena on, että loppukäyttäjä näkee vain selkeän valinnan (esimerkiksi renkaan halkaisija) ja Python huolehtii taustalla siitä, että kaikki tarvittavat mitat päivittyvät oikein. Käyttäjän ei tarvitse avata eikä ymmärtää mittataulukkoa.
1. Perusidea: Python suunnitteluautomaatin “aivona”
Vertex G4:n parametrisessa mallissa mitat ovat mittamuuttujia (mittataulukossa). Tyypillisesti näitä ohjataan suoraan:
antamalla arvoja suunnitteluautomaatin optioihin
kirjoittamalla kaavoja suoraan mittataulukkoon
Monimutkaisemmissa tapauksissa kaavoista tulee helposti vaikealukuisia. Tällöin vaihtoehto on siirtää laskentalogiikka Python-ohjelmaan:
Python lukee käyttäjän valinnat (esim. renkaan halkaisija, leveys, tms.).
Python laskee niiden perusteella tarvittavat mitat (esim. haarukan korkeus ja leveys).
Python kirjoittaa lasketut arvot takaisin mallin mittamuuttujiin.
Vertex päivittää 3D-mallin automaattisesti.
Pienellä harjoittelulla kuka tahansa suunnittelija pääsee tähän kiinni ja pystyy tekemään yksinkertaisia, mutta erittäin hyödyllisiä suunnitteluautomaattitoimintoja.
2. Lähtökohdat: parametrinen malli ja suunnitteluautomaatti
Jotta Pythonilla on jotain, mitä ohjata, tarvitset:
Parametrisen kokoonpanomallin
Kokoonpanon mitat on määritelty mittamuuttujina (esim. korkeus, leveys, pituus tai renkaan päämitat).
Mieluiten taustalla on mittataulukko, josta Vertex lukee arvot.
Suunnitteluautomaattimalliksi muuttaminen
Kokoonpano muutetaan suunnitteluautomaattimalliksi, jolloin:malliin voidaan määritellä optioita (valintoja)
malliin voidaan liittää komentoja, mm. Python-ohjelman ajaminen
Python-ympäristö työasemalla
Tarvitset Python-tulkin (tai Vertexin toimittaman Python-ympäristön).
Python-ohjelmat tallennetaan sovittuun hakemistoon, josta Vertex osaa niitä kutsua.
3. Esimerkki: haarukan mitoitus renkaan halkaisijan mukaan
Konkretisoidaan idea yksinkertaisella esimerkillä:
Loppukäyttäjä syöttää renkaan halkaisijan (esim. 26", 27.5", 29").
Python laskee sen perusteella:
haarukan korkeuden
haarukan leveyden (napaleveys / renkaan leveys)
Python kirjoittaa arvot mittamuuttujiin, esimerkiksi:
korkeushaarukan_leveys
Tämän jälkeen Vertex päivittää 3D-mallin: haarukan korkeus ja leveys kasvavat automaattisesti, kun renkaan halkaisija kasvaa.
4. Python-ohjelman perusidea
Python-ohjelma toimii tyypillisesti seuraavasti:
Kysyy tarvittavat syöttötiedot
joko:
komentoikkunassa / terminaalissa
tai Windowsin kyselyikkunalla (dialogi), jolloin käyttäjä vain kirjoittaa arvon normaaliin syöttökenttään
Laskee uudet mittamuuttujien arvot
esim.
haarukan korkeus = (renkaan halkaisija millimetreinä / 2) + marginaali
haarukan leveys = renkaan leveys + pieni välys
Kirjoittaa tulokset Vertexin käyttämään mittataulukkoon
Mittataulukko on se paikka, jossa mallin parametrit asuvat.
Python päivittää taulukon arvot; Vertex lukee ne ja päivittää 3D-mallin.
Tarvittaessa käsittelee virheet
esimerkiksi
try–rakenteella: jos käyttäjä kirjoittaa kirjaimia numeron sijaan, ohjelma osaa antaa virheilmoituksen eikä kaadu.
Vinkki: Luennoitsija käytti esimerkissä myös ChatGPT:tä apuna Python-koodin kirjoittamiseen. Voit antaa luonnollisella kielellä ohjeen (“kirjoita Python-ohjelma, joka kysyy renkaan halkaisijan ja laskee haarukan korkeuden”) ja muokata saatua koodia Vertex-ympäristöösi sopivaksi.
5. Ohjelman kehittäminen ja testaaminen
Yleinen työskentelytapa on:
Aloita yksinkertaisella muuttujalla
Esimerkiksi koodi, joka vain asettaa
korkeus = 460.Tällä varmistat, että Python-ohjelma ylipäänsä toimii ja yhteys Vertexin mittataulukkoon on kunnossa.
Lisää laskentaa askel askeleelta
Seuraavaksi laske korkeus kaavalla, esim.:
korkeus = (renkaan_halkaisija_mm / 2) + jokin_marginaali
Lisää muut tarvittavat mitat samaan tapaan.
Lisää syöttödialogi
Muuta koodi niin, että halkaisija ja/tai leveys kysytään käyttäjältä Windowsin dialogilla.
Tällöin käyttäjä näkee vain selkeän kysymysruudun (“Anna renkaan halkaisija (mm)”) eikä tarvitse tietää taustalla olevasta koodista mitään.
Yhdistä lopuksi Vertexiin
Kun laskenta toimii, kytket Python-ohjelman suunnitteluautomaattiin ja kokoonpanon valikkoon (ks. seuraava luku).
6. Python-ohjelman liittäminen suunnitteluautomaattiin
6.1 Command list – komentolista suunnitteluautomaattia varten
Suunnitteluautomaattiominaisuuksien rinnalle on tuotu Command list –lista. Sen idea:
listaan voidaan lisätä komentoja, joita suoritetaan, kun:
suunnitteluautomaatin optio valitaan
tai kun malli ajetaan tietyllä tavalla
Yksi näistä komennoista voi olla Python-ohjelman suoritus.
Tyypillinen eteneminen:
Avaa suunnitteluautomaattimalli.
Mene suunnitteluautomaattioptioihin.
Lisää haluttuun optioon komento komentolistaan.
Määritä komentoon ajettava Python-ohjelma (esim.
c:\polku\renkaan_mitoitus.py).
Kun käyttäjä valitsee kyseisen option, Vertex:
suorittaa komentolistaan määritellyn Python-ohjelman
ohjelma laskee uudet arvot
3D-malli päivittyy suunnitteluautomaattimallin logiikan mukaisesti
6.2 Pythonin ajaminen kokoonpanon pikavalikosta
Python-ohjelmaa voi ajaa myös suoraan kokoonpanosta:
Avaa parametrinen kokoonpano Vertex G4:ssä.
Napsauta pääkokoonpanoa hiiren oikealla painikkeella.
Valitse Suorita pythonohjelma
Tämän jälkeen:
ohjelma käynnistyy
mahdollinen dialogi kysyy käyttäjältä tarvittavat arvot (esim. renkaan halkaisija)
ohjelma kirjoittaa lasketut arvot mittataulukkoon
malli varioituu – ilman että käyttäjän tarvitsee avata mittataulukkoa tai koodia
Juuri tähän viitattiin toteamuksella, että mallia voidaan ajaa vain klikkaamalla – eikä mittataulukosta tarvitse tietää välttämättä yhtään mitään.
7. Tiedostonhallinta ja command listin output
Esimerkeissä mainittiin myös, että:
komennot voivat kirjoittaa tekstitiedostoja, esimerkiksi
Download-kansioonnäitä voidaan käyttää lokitukseen, törmäystarkastuksen tuloksiin yms. jatkokehitystä varten
Pythonin ja command listin yhdistelmällä voit siis:
varioida 3D-mallia
ajaa muita automaattisia tarkastuksia
tallentaa tuloksia tiedostoiksi myöhempää analyysiä varten
Tämä puoli on vielä kehittyvä, mutta perusajatus on, että sama komentolista voi sisältää sekä Vertexin omia suunnitteluautomaattikomentoja että Python-komentoja.
8. Hyvät käytännöt
Kun otat Python-ohjauksen käyttöön, huomioi ainakin nämä:
Aloita pienestä
Tee ensin yksi muuttuja (esim. korkeus), joka on helppo testata. Laajenna vasta, kun perusvirta toimii.Nimeä muuttujat selkeästi
Käytä samoja nimiä mittataulukossa ja Python-koodissa – virheet vähenevät.Käytä virheenkäsittelyä
Lisäätry–rakenteita käyttäjän syötteiden ympärille. Jos käyttäjä kirjoittaa “26tuumaa” eikä numeroa, ohjelma voi pyytää uutta syötettä kaatumatta.Dokumentoi logiikka
Kirjoita kommentteihin, mitä mikäkin kaava tekee. Tämä helpottaa ylläpitoa ja muutoksia myöhemmin.Hyödynnä apuvälineitä
Jos Python ei ole entuudestaan tuttu, hyödynnä esimerkiksi ChatGPT:tä luonnoksen kirjoittamiseen ja muokkaa sitä sitten Vertex-ympäristöön sopivaksi.
9. Yhteenveto
Python-ohjelmointi tuo Vertex G4:n parametriseen mallinnukseen erittäin joustavan “älykerroksen”:
Mitat ja säännöt voidaan kuvata selkeäseen Python-koodiin kaavojen sijaan.
Käyttäjä näkee vain yksinkertaiset valinnat tai dialogit.
Mittataulukon arvot päivittyvät automaattisesti, ja 3D-malli varioituu sen mukaisesti.
Suunnitteluautomaattien command list ja kokoonpanon Suorita pythonohjelma -toiminto toimivat kytkimenä Vertexin ja Pythonin välillä.