Co je API (Application programming interface)
Sada pravidel a protokolů, které umožňují různým softwarovým aplikacím vzájemně komunikovat. Definuje, jak by měly být strukturovány požadavky a odpovědi, což umožňuje vývojářům používat předdefinované funkce nebo služby, aniž by museli rozumět jejich vnitřnímu fungování.
REST API v IDEA StatiCa Connection - je lokálně hostovaná webová služba, která se řídí principy REST a umožňuje systémům komunikovat pomocí standardních HTTP metod k provádění operací nad zdroji, obvykle reprezentovanými ve formátu JSON.
Zdroje a GITHUB
Zdroj existujících a předdefinovaných příkladů najdete na našem GitHubu:
Jak začít
Tento tutoriál bude uveden v kombinaci s programovacím jazykem Python. Nejnovější verzi si můžete stáhnout zde. Jako nástroje pro efektivní psaní kódu, ladění a testování můžete použít mnoho integrovaných vývojových prostředí (IDE). Zde je několik možností:
Jak spustit API
Spouštěč API najdete ve složce, kde je uložena vaše nejnovější verze IDEA StatiCa. Stačí spustit spustitelný soubor.

Pokud spustíte "IdeaStatiCa.ConnectionRestApi.exe," objeví se CMD (příkazový řádek), kde uvidíte svůj localhost a můžete otevřít aplikaci Swagger, která vám umožní vidět strukturu kódu pro ovládání API. Stiskněte Control + levé tlačítko myši pro otevření aplikace Swagger.

Swagger v online režimu poskytuje průvodce možnostmi API pro návrh přípoje.

Jak otevřít Python a nainstalovat balíček API
Používám Pycharm, který popisuje všechny kroky. Se stejnými ostatními nástroji to funguje stejným způsobem. Otevřete Python a vytvořte New Project.

Nainstalujte balíček " ideastatica_connection_api". Zahajte otevřením terminálu a napište "pip install ideastatica_connection_api". Pokud provedete tento příkaz, knihovna pro API se nainstaluje.
"pip install ideastatica_connection_api" - funguje pro nejnovější verzi IDEA StatiCa. Pokud máte starší verze, musíte přesně specifikovat verzi, abyste zavolali odpovídající knihovnu API.
(Například: "pip install ideastatica_connection_api==25.1.1.923" )

Výše uvedené kroky je nutné provést v uvedeném pořadí. Jinak nebude API fungovat správně.
Otevření projektu v desktopové aplikaci
Cílem bude ovládat simulaci a výstup prostřednictvím rozhraní Python a číst výsledky přímo v konzoli.
Otevřete montážní styk a spusťte výpočet pro LE1 a získejte výsledky. Jak vidíte, celá sada kontrol vyhovuje. Nyní můžete přejít k Pythonu.

Python skript
Importujte balíčky, které umožní použití výpočtu a propojení s adresou URL localhost.
Zdrojový kód:
## Link with baseUrl
import ideastatica_connection_api.connection_api_service_attacher as connection_api_service_attacher

Nakonfigurujte protokolování pomocí proměnné "baseUrl," která vyvolá váš localhost. Ve druhém kroku spárujte absolutní cestu k vašemu souboru IDEA StatiCa Connection.
Zdrojový kó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)

Spárujte klienta s již běžící službou (1). Použijte blok try/except - pokud blok try vyvolá chybu, provede se blok except. V první fázi je nutné otevřít projekt (2) a najít ID projektu, které je jedinečné pro každý projekt IDEA StatiCa (3). Pokud spustíte skript, můžete si přečíst vytištěnou cestu + jedinečné ID (4).
Zdrojový kó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)

Extrahujte "connection_ID", které identifikuje počítaný přípoj (1). Spusťte simulaci pomocí proměnné "calculation_run," která vyžaduje dva povinné parametry uvedené v závorkách (2). Pokud simulace proběhne, uvidíte ID přípoje a informaci, že vaše analýza prošla (3).
Zdrojový kó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')

V poslední fázi zjistíte, jak vytisknout výsledky (1) a jak procházet všechny hodnoty využití (2), které jsou standardně zobrazeny na desktopu (3).
Zdrojový kó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)

Závěr
Nyní máte zkušenost s API pro návrh přípoje. Naučili jste se, jaké nástroje je třeba nainstalovat, jak připojit službu REST API a jak pracovat s kódem v Pythonu pro získání výsledků.
