Idea Statica
Acciaio
Calcestruzzo
BIM & workflows
Support & Learning
Prezzi
Azienda
Prova di 14 giorni
Come iniziare con le API - Nozioni di base 01
Come iniziare con le API - Nozioni di base 01
SteelConnection designTutorialsConnectionIDEA Open Model (API)

Come iniziare con le API - Nozioni di base 01

Questo articolo è disponibile anche in
ENCSDEESFRITPTNLHURO
Tradotto dall'IA dall'inglese

L'obiettivo del tutorial è fornire una spiegazione di base su come iniziare con le API, aprire il primo progetto, eseguire la simulazione e stampare i risultati nella console. Questa parte dovrebbe essere un prerequisito prima di procedere alla parte successiva della formazione.

Cos'è un'API (Application Programming Interface)

Un insieme di regole e protocolli che consentono a diverse applicazioni software di comunicare tra loro. Definisce come le richieste e le risposte devono essere strutturate, permettendo agli sviluppatori di utilizzare funzioni o servizi predefiniti senza comprenderne il funzionamento interno. 

REST API in IDEA StatiCa Connection - è un servizio web ospitato localmente che segue i principi REST, consentendo ai sistemi di comunicare utilizzando metodi HTTP standard per eseguire operazioni sulle risorse, tipicamente rappresentate in formato JSON.

Risorse e GITHUB

La fonte degli esempi esistenti e predefiniti è disponibile sul nostro GitHub: 

  • https://github.com/idea-statica/ideastatica-public/tree/main/src/api-sdks/connection-api/clients/python/examples

Come iniziare

Il tutorial verrà presentato in combinazione con il linguaggio di programmazione Python. È possibile scaricare la versione più recente qui. È possibile utilizzare molti Ambienti di Sviluppo Integrato (IDE) come strumenti per una codifica, un debug e un testing efficienti. Ecco alcune opzioni: 

  • PyCharm
  • Visual Studio Code
  • Jupyter notebook 

Come avviare l'API

Il launcher dell'API si trova nella cartella in cui è memorizzata la versione più recente di IDEA StatiCa. È sufficiente eseguire il file eseguibile. 

Se si esegue "IdeaStatiCa.ConnectionRestApi.exe," verrà visualizzato il CMD (Prompt dei comandi) e sarà possibile vedere il proprio localhost e aprire l'applicazione Swagger, che consente di visualizzare la struttura del codice per il controllo dell'API. Premere Control + Pulsante sinistro del mouse per aprire Swagger. 

Swagger in modalità online fornisce una guida sulle opzioni dell'API per la progettazione del collegamento. 

Come aprire Python e installare il pacchetto API

Utilizzo PyCharm, che descrive tutti i passaggi. Il procedimento è identico con gli altri strumenti. Aprire Python e creare un Nuovo Progetto. 

Installare il pacchetto " ideastatica_connection_api". Iniziare aprendo il terminale e digitare "pip install ideastatica_connection_api". Eseguendo questo comando, verrà installata la libreria per l'API. 

"pip install ideastatica_connection_api" - funziona per la versione più recente di IDEA StatiCa. Se si dispone di versioni precedenti, è necessario specificare esattamente la versione per richiamare la libreria API appropriata.

(Ad esempio: "pip install ideastatica_connection_api==25.1.1.923" )

I passaggi sopra descritti sono obbligatori e devono essere eseguiti correttamente. In caso contrario, l'API non funzionerà adeguatamente.


Aprire un progetto nell'applicazione desktop

L'obiettivo sarà controllare la simulazione e l'output tramite l'interfaccia Python e leggere i risultati direttamente nella console.

Aprire il collegamento a giunzione ed eseguire il calcolo per LE1 per ottenere i risultati. Come si può vedere, l'intero insieme di verifiche è soddisfatto. È possibile procedere con Python. 

Script Python

Importare i pacchetti che consentiranno l'utilizzo del calcolo e il collegamento con l'URL del localhost. 

Codice sorgente:

## Link with baseUrl
import ideastatica_connection_api.connection_api_service_attacher as connection_api_service_attacher

Configurare il logging tramite la variabile "baseUrl," che richiamerà il proprio localhost. Nel secondo passaggio, associare il percorso assoluto del file IDEA StatiCa Connection.

Codice sorgente:

## 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)

Associare il client a un servizio già in esecuzione (1). Utilizzare il blocco try/except - poiché il blocco try genera un errore, verrà eseguito il blocco except. Nella prima fase è necessario aprire il progetto (2) e trovare l'ID progetto univoco per ogni progetto IDEA StatiCa (3). Eseguendo lo script è possibile leggere il percorso stampato e l'ID univoco (4).

Codice sorgente:

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)

Estrarre il "connection_ID" che identificherà il collegamento da calcolare (1). Eseguire la simulazione con la variabile "calculation_run," che richiede due parametri obbligatori indicati tra parentesi (2). Se la simulazione viene completata, verranno visualizzati l'ID del collegamento e l'informazione che l'analisi è stata completata con successo (3). 

Codice sorgente:

## 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')

Nella fase finale, si illustra come stampare i risultati (1) e come iterare su tutte le verifiche di sfruttamento (2) che vengono normalmente visualizzate nel desktop (3).

Codice sorgente:

    ## 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)

Conclusione

Hai acquisito esperienza con l'API per la progettazione del collegamento. Hai appreso quali strumenti devono essere installati, come collegare il servizio REST API e come utilizzare il codice Python per ottenere i risultati.

Download