Jak začít s API – Základy 01
Co je API (Application programming interface)
Sada pravidel a protokolů, která umožňuje různým softwarovým aplikacím vzájemnou komunikaci. Definuje, jak mají být strukturovány požadavky a odpovědi, což umožňuje vývojářům využívat předdefinované funkce nebo služby bez znalosti jejich vnitřního 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, typicky reprezentovanými ve formátu JSON.
Zdroje a GITHUB
Zdroj existujících a předdefinovaných příkladů je dostupný na našem GitHubu:
Jak začít
Tutoriál bude představen 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í lze použít mnoho integrovaných vývojových prostředí (IDE). Zde jsou některé možnosti:
Jak spustit API
Spouštěč API lze nalézt ve složce, kde je uložena nejnovější verze IDEA StatiCa. Stačí spustit spustitelný soubor.
Pokud spustíte soubor "IdeaStatiCa.ConnectionRestApi.exe," zobrazí se příkazový řádek (CMD) a uvidíte svůj localhost a budete moci otevřít aplikaci Swagger, která vám umožní zobrazit strukturu kódu pro ovládání API. Stiskněte Ctrl + levé tlačítko myši pro otevření Swaggeru.
Swagger v online režimu poskytuje přehled možností API pro návrh přípoje.
Jak otevřít Python a nainstalovat balíček API
Využívám PyCharm, který popisuje všechny kroky. S ostatními nástroji funguje stejným způsobem. Otevřete Python a vytvořte Nový projekt.
Nainstalujte balíček " ideastatica_connection_api". Začněte otevřením terminálu a napište "pip install ideastatica_connection_api". Po provedení tohoto příkazu bude nainstalována knihovna pro API.
"pip install ideastatica_connection_api" - funguje pro nejnovější verzi IDEA StatiCa. Pokud používáte starší verze, je nutné přesně specifikovat verzi, aby byla volána příslušná knihovna API.
(Například: "pip install ideastatica_connection_api==25.1.1.923" )
Výše uvedené kroky jsou povinné a je nutné je provést správně. V opačném případě API nebude 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 přípoj se stykovou deskou a spusťte výpočet pro LE1 a získejte výsledky. Jak vidíte, celá sada posouzení vyhovuje. Můžete přejít k Pythonu.
Skript v Pythonu
Importujte balíčky, které umožní použití výpočtu a propojení s URL adresy localhost.
Zdrojový kód:
## Link with baseUrl
import ideastatica_connection_api.connection_api_service_attacher as connection_api_service_attacher
Nakonfigurujte protokolování prostřednictvím proměnné "baseUrl," která načte váš localhost. V druhém kroku spárujte absolutní cestu k 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, bude proveden 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). Po spuštění skriptu si můžete přečíst vytištěnou cestu a 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 přípoj, jenž bude vypočítán (1). Spusťte simulaci pomocí proměnné "calculation_run," která vyžaduje dva povinné parametry uvedené v závorkách (2). Po provedení simulace uvidíte ID přípoje a informaci o tom, že analýza proběhla úspěšně (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 závěrečné části se dozvíte, jak vypsat výsledky (1) a jak procházet všechna posouzení využití (2), která jsou standardně zobrazena v desktopové aplikaci (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
Získali jste zkušenosti s API pro návrh přípoje. Naučili jste se, jaké nástroje je třeba nainstalovat, jak se připojit ke službě REST API a jak pracovat s kódem v Pythonu pro získání výsledků.