Skip to main content
Skip table of contents

Vertex G4:n mittataulukkoa ohjaavan Python-koodin käyttämistä omien apuohjelmien ajamiseen

Omien_apuohjelmien_luominen_koodikielellä.png

Tausta

Vertex G4:ssä on olemassa oma “sovelluskehitin”-tyyppinen makro/skripti-kieli erilaisten ohjelman sisäisten makrojen ja apuohjelmien tekemiseen. Tämä on kuitenkin erittäin vaikeaselkoinen oppia ja vaatii erittäin paljon syventymistä käyttäjän kannalta.

Tarvetta Vertex G4:n käyttäjillä olisi selkeään ja yksinkertaiseen ympäristöön, jossa Vertexin sisälle voidaan rakentaa omia apuohjelmia, joilla voidaan hoitaa suunnitteluun liittyviä aputoimintoja, kuten tiedostojen tallennusrutiineita, tuotedokumenttien kokoamista, erilaisia suunnittelumitoituslaskimia jne.

Ratkaisu

Ratkaisuna tällaiseen tarpeeseen voidaan käyttää Vertex G4:n 3d-mallin mittataulukkoon sidottua Python-koodia.

Periaatteessa mittataulukon Python-koodiksi kelpaa mikä tahansa Pythonilla rakennettu ohjelmakoodi.

HUOM: Varmista, että koneellesi on asennettu Python-ohjelmointikieli Vertex G4:n Python-ominaisuuksien käyttöön.

Ohjeet asentamiseen löydät täältä:

https://kbfi.vertex.fi/g4/mittaohjautuva-kokoonpanomalli-lisattyna-python-oh

Python-koodi voi sisältää esim. seuraavia yksityiskohtia:

Normaalikäyttö:

  • Mittataulukon muuttujien arvojen palauttamiseen suoraan laskennan kautta tai erillisellä käyttöliittymällä käyttäjältä kysellen ja sitten laskennan kautta

  • Ulkoisen käyttöliittymän kautta tallennettujen muuttujien arvojen hakemiseen ja palauttamiseen mittataulukkoon (JSON-tiedostot)

  • Monipuolisen mallien konfiguroimisen

Erikoiskäyttö apuohjelmien ajamiseen

  • Erillisen käyttöliittymän rakentamisen apuohjelmille Vertex G4:n sisälle erilaisten suunnitteluun liittyvien toimintojen tekemiseen

  • Erilaisten tiedostoformaattien käsittelyä, esim. Excel-, Word- ja PDF-tiedostojen tekemiseen/hallintaan/uudelleennimeämiseen

  • Tekoälykutsujen tekeminen tekoäly-API-liittymien kautta, esim. 3d mallien ja 2d-piirustusten generointi automaattisesti

  • Erilaiset suunnittelumitoitusapuohjelmat, esim. siilojen ja säiliöiden tilavuuden laskentaan, mallien avaminen toisiin ohjelmiin (esim. lujuuslaskentaohjelmat ) jne.

Esimerkkejä sovelluksista

Ohessa kaksi esimerkkiä sovelluksista (sisältäen vxz-mallit Python-koodin kanssa), joissa tätä samaa tekniikkaa käytetään:

https://kbfi.vertex.fi/mecsd/revisiomerkinnat-piirustusten-dxf-dwg-ja-pdf-tiedo

https://kbfi.vertex.fi/mecsd/ideoita-tuotedokumenttien-rakentamisen-nopeuttamis

Prosessi apuohjelmien tekemiseen

Pohja-asetukset

  • Aloita perustamalla kokoonpanomalli Vertex G4:n puolelle

image-20260521-115903.png
  • Tyhjään kokoonpanomalliin perustetaan paikallinen osa ja nimetään se esim. jigi-nimellä

image-20260522-054336.png
  • Muokkaa jigi-osaa ja perusta osalle uusi luonnos esim. pystytasolle

image-20260522-054518.png
  • Luonnostele tasolle ympyrä, anna sille mitan arvoksi 1 ja kaava-laatikkoon nimeksi esim. Muuttuja1

image-20260522-054638.png
image-20260522-054705.png
  • Tee luonnoksesta ohjauskäyrä

image-20260522-054828.png

Tällä tavoin saadaan mittataulukko näkymään/avautumaan kokoonpanomallissa, Muuttuja1;n merkitys ei ole muu.

Ohjelman rakentaminen mittataulukon alle

Nyt voidaan itse apuohjelman rakentaminen aloittaa.

  • Luo Python-pohjatiedosto mittataulukon alle klikkaamalla “Luo”

image-20260522-055958.png

Ohjelma luo Python-koodin pohjan ja avaa editointiohjelman (esim. Visual Studio Coden).

image-20260522-060302.png

Apuohjelman rakentaminen

Apuohjelmia voidaan rakentaa oheisen koodin päälle ainakin kahdella tavalla:

  1. Mikäli käyttäjällä on Python-osaamista, apuohjelma voidaan koodata manuaalisesti Pythonin ohjelmointikieltä hyväksikäyttäen

  2. Käyttäjä voi rakentaa apuohjelman tekoälyn avustuksella

Apuohjelman rakentaminen tekoälyn avulla

Käyttäjä voi käyttää mitä tahansa tekoälypalvelua tai niiden tekoälymallia apuohjelman rakentamiseen ja ohjelmoimiseen, (esim. ChatGPT, Gemini, Claude)

Käyttäjä määrittelee kehotteen tekoälylle, jonka mukaan palvelu aloittaa Python-koodin koodaamisen.

Esimerkki kehotteesta/Promptista:

Tee siilon tilavuuden laskentaan Python apuohjelma käyttäen graafista TKinter-käyttöliittymää.

Muuttujat ohjelmaan jolla siilon tilavuus lasketaan:

Siilon lieriön halkaisija: 3000 mm

Lieriön korkeus: 8000 mm

Alakartion korkeus: 1500 mm

Alakartion yläosan halkaisija sama kuin siilon lieriön halkaisija

Alakartion alareiän halkaisija: 600 mm

Kattokartion korkeus: 400 mm

Kattokartion yläreiän halkaisija: 600 mm

Kattokartion alaosan halkaisija sama kuin siilon lieriön halkaisija

Kysy ohjelmassa lisäksi siilossa säilöttävän materiaalin tiheys

Laske ohjelmaan siilon tilavuus kuutiometreinä ja kapasiteetti tonneina tilavuuden ja materiaalin tiheyden mukaan.

Lisää ohjelmaan myös näppäin, jolla muuttujien arvojen ja laskennan lopputuloksten perusteella generoidaan käyttäjän haluamaan kansioon PDF-raportti.

Yhdistä ohjelman koodi alla olevaan Vertex G4 mittataulukon Python-koodiin.

Älä palauta muuttujien arvoja G4:n puolelle, vaan lisää ohjelmaan sulje-näppäin, josta ohjelma sulkeutuu, kun käyttäjä on saanut ohjelmalla laskennat tehtyä.

PY
import sys
sys.dont_write_bytecode=True
import importlib
from collections import OrderedDict

def load(dirname):
    sys.path.append(dirname)
    module_name = "dimtable"
    dimtable = importlib.import_module(module_name)
    return dimtable

def main(argv):
    inputfile = sys.argv[1]
    outputfile = sys.argv[2]
    sysprogs = sys.argv[3]
    task_file = sys.argv[4]
    dimtable = load(sysprogs)
    dict = dimtable.read(inputfile)
    command_list = []
#Variables initialization
    Muuttuja1 = float(dimtable.get_value(dict, "Muuttuja1"))
#Your Code Starts Here

#Your Code Ends Here
    dimtable.set_value(dict, "Muuttuja1", str(Muuttuja1))
    dimtable.write(outputfile, dict)
    if len(command_list) > 0:
        dimtable.write_commands(task_file, command_list)
    return None

main(sys.argv[1:])

Esimerkin kehotteella tehtiin ChatGPT:n avulla apuohjelma. Ohessa sen vastaus:

image-20260522-071950.png

Apuohjelman koodin liittäminen Vertex G4:n mittataulukkoon

  • Kopioi itse koodi “Copy”-komennolla.

image-20260522-072221.png
  • Avaa Visual Studio Code, jossa on auki kokoonpanon Python-koodi

  • Poista alkuperäinen koodi tiedostosta kokonaan ja korvaa se tekoläyn luomalla koodilla

  • Tallenna koodi “Save” tai Ctrl + S

Apuohjelman ajaminen 3d-mallin kautta Vertex G4:n puolella

  • Mene ensin kokoonpanomallin kokoonpanorakenteen ylimpään osaan, klikkaa hiiren oikeaa näppäintä ja sieltä “Ominaisuudet”

image-20260522-072719.png
  • Klikkaa sieltä “Suunnitteluautomaatti”-valinta päälle ja hyväksy klikkaamalla “Ok”

image-20260522-072818.png
  • Tallenna malli näillä asetuksilla

HUOM: Ohjelma aina oheisen ikkunan, mikäli käyttäjä on määritellyt mallin suunnitteluautomaatiksi. Vastaa kysymykseen “Kyllä”

image-20260522-073051.png

Apuohjelman ajaminen mallin kautta

  • Klikkaa mallin työalueella hiiren oikealla ja valitse “Suorita Python-ohjelma”

image-20260522-073521.png

Mikäli ohjelman koodaus on esimerkin kehotteella, avautuu Vertex G4:n sisällä oheisen näköinen apuohjelma:

image-20260522-073957.png

Voit tämän jälkeen testailla ohjelmaa ja sen toimintaa.

Ohjelma sulkeutuu, kun käyttäjä painaa “Sulje”-näppäintä

Esimerkin apuohjelma generoi oheisen PDF-raportin:

image-20260522-074533.png

HUOM: Samalla tavalla voit rakentaa myös graafisia käyttöliittymiä itse mittataulukkomuuttujille. Voit tehdä esilaskentaa ja tulostaa raportteja käyttöliittymästä ja sulkemalla käyttöliittymän palauttaa valitut muuttujan arvot mittataulukon kautta itse 3d-malliin. Tällöin käyttöliittymä toimii Python-pohjaisen suunnitteluautomaatin käyttöliittymänä.

Relative articles

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.