Sample 5 : Static loadcases of a piping
1. Goal
Create a script that will (after pressing RUN button) retrieve all static cases (Number + Title) of a piping based on the MetaL file.
2. Script definition
From the Home/Python, click on button 2 (Add script) :

Select “Project script” and give it the name “Static loadcases of the piping”
Say NO to the question about creation of virtual environment. The Requirements.txt will be hidden.

3. Script properties
Add 1 METAL input and 1 FILENAME output :

The input METAL must receive the MetaL file (the internal file format of MetaPiping) from a connection of the main study brick.
The output FILENAME will expose a TXT file. You can double click to see the content.
4. Main.py
Copy/paste this code in the Editor :
import os
# Check if the connection has been made with the MetaL connector
metal = study.getMetal()
if metal != None:
dir = study.getDirectory()
filename = os.path.join(dir, "StaticLoadcases.txt")
# Get all static cases
cases = []
for item in metal.StaticCases:
st = "{} : {}".format(item.Number, item.Title)
cases.append(st)
# Save the file
with open(filename,'w') as f:
f.write('\n'.join(cases))
study.Outputs[0] = "StaticLoadcases.txt"
else:
study.Outputs[0] = "Please connect MetaL !"
Save it !
5. Result
When you add this script in a current study, connect the MetaL output of the study brick and after a click on the RUN button :

You have the list of all static cases !