Mi az API (Application programming interface)
Szabályok és protokollok összessége, amelyek lehetővé teszik, hogy különböző szoftveralkalmazások kommunikáljanak egymással. Meghatározza, hogyan kell felépíteni a kéréseket és válaszokat, lehetővé téve a fejlesztők számára, hogy előre definiált függvényeket vagy szolgáltatásokat használjanak anélkül, hogy ismernék azok belső működését.
REST API az IDEA StatiCa Connection-ben - egy helyileg futtatott webszolgáltatás, amely REST elveket követ, lehetővé téve a rendszerek számára, hogy szabványos HTTP-módszerekkel kommunikáljanak, és műveleteket hajtsanak végre erőforrásokon, amelyek jellemzően JSON formátumban vannak ábrázolva.
Erőforrások és GITHUB
A meglévő és előre definiált példák forrása a GitHub-on érhető el:
Hogyan kezdjük el
Az oktatóanyag a Python programozási nyelvvel kombinálva kerül bemutatásra. A legújabb verziót itt töltheti le. Számos integrált fejlesztői környezetet (IDE) használhat eszközként a hatékony kódoláshoz, hibakereséshez és teszteléshez. Íme néhány lehetőség:
Az API futtatása
Az API indítója abban a mappában található, ahol az IDEA StatiCa legújabb verziója tárolva van. Egyszerűen futtassa a végrehajtható fájlt.

Ha futtatja az "IdeaStatiCa.ConnectionRestApi.exe" fájlt, megjelenik a CMD (parancssor), és láthatja a localhostját, valamint megnyithatja a Swagger alkalmazást, amely lehetővé teszi az API vezérlésére szolgáló kód struktúrájának megtekintését. A Swagger megnyitásához nyomja meg a Ctrl + Bal egérgomb kombinációt.

A Swagger online módban útmutatót nyújt a Connection tervezéshez használható API lehetőségeiről.

A Python megnyitása és az API csomag telepítése
A PyCharm-ot használom, amely minden lépést részletesen leír. A többi eszközzel ugyanígy működik. Nyissa meg a Pythont, és hozzon létre egy Új projektet.

Telepítse az " ideastatica_connection_api" csomagot. Nyissa meg a terminált, és írja be: "pip install ideastatica_connection_api". A parancs végrehajtásával települ az API könyvtára.
"pip install ideastatica_connection_api" - az IDEA StatiCa legújabb verziójához működik. Régebbi verziók esetén pontosan meg kell adni a verziószámot a megfelelő API könyvtár meghívásához.
(Például: "pip install ideastatica_connection_api==25.1.1.923" )

A fent említett lépések elvégzése kötelező. Ellenkező esetben az API nem fog megfelelően működni.
Projekt megnyitása az asztali alkalmazásban
A cél a szimuláció és a kimenet vezérlése a Python felületen keresztül, valamint az eredmények közvetlen kiolvasása a konzolból.
Nyissa meg a toldott kapcsolatot, futtassa az LE1 számítást, és olvassa ki az eredményeket. Látható, hogy az összes szabványellenőrzés megfelel. Ezután folytathatja a Pythonban.

Python szkript
Importálja a csomagokat, amelyek lehetővé teszik a számítás használatát és a localhost URL-lel való kapcsolódást.
Forráskód:
## Link with baseUrl
import ideastatica_connection_api.connection_api_service_attacher as connection_api_service_attacher

Konfigurálja a naplózást a "baseUrl" változón keresztül, amely betölti a localhostját. A második lépésben adja meg az IDEA StatiCa Connection fájl abszolút elérési útját.
Forráskód:
## Configure logging
baseUrl = "http://localhost:5000"
## Absolute path into folder with your python script and connection module
project_file_path = r"C:\Users\LukasJuricek\Desktop\API_IDEA\Splice.ideaCon"
print(project_file_path)

Párosítsa a klienst egy már futó szolgáltatással (1). Használja a try/except blokkot – ha a try blokk hibát dob, az except blokk kerül végrehajtásra. Az első fázisban szükséges megnyitni a projektet (2), majd megkeresni a projekt egyedi azonosítóját, amely minden IDEA StatiCa projekthez egyedi (3). A szkript futtatásakor kiolvasható a kiírt elérési út és az egyedi azonosító (4).
Forráskód:
with connection_api_service_attacher.ConnectionApiServiceAttacher(baseUrl).create_api_client() as api_client:
try:
## Open the project
openProject = api_client.project.open_project_from_filepath(project_file_path)
## Unique project ID that provide the control over the model
projectId = api_client.project.active_project_id
print(projectId)

Nyerje ki a "connection_ID" értéket, amely azonosítja a számítandó kapcsolatot (1). Futtassa a szimulációt a "calculation_run" változóval, amelyhez két kötelező paramétert kell megadni zárójelben (2). A szimuláció lefutása után látható lesz a kapcsolat azonosítója és az elemzés sikerességéről szóló információ (3).
Forráskód:
## Opening project that will be calculated
connection = openProject.connections[0]
print(connection)
connection_ID = [connection.id]
## Assigning connection ID
calculation_run = api_client.calculation.calculate(
projectId,
connection_ID
)
print('Finished')

Az utolsó részben megtanulja, hogyan lehet kiíratni az eredményeket (1), és hogyan lehet végigiterálni az összes kihasználtsági ellenőrzésen (2), amelyek az asztali alkalmazásban is megjelennek (3).
Forráskód:
## Postprocessing - extract the unity check of connection
Results = calculation_run[0].result_summary
## Loop over all unity checks like plates, bolts, welds
for results in Results:
print(results.unity_check_message)
except Exception as e:
print("Operation failed : %s\n" % e)

Összefoglalás
Megismerkedett a kapcsolattervezéshez használható API-val. Megtanulta, milyen eszközöket kell telepíteni, hogyan kell csatlakozni a REST API szolgáltatáshoz, és hogyan kell Python kóddal kezelni az eredmények kinyerését.
