Tendon Prestress
Defines a prestress load to be applied to a tendon profile.
Constructor
Tendon.Prestress(profile_name, load_case, load_group = "", prestress_type = "STRESS", jack_step = "BEGIN", jack_begin = 0, jack_end=0, grouting_stage = 0, id = 0):
Creates a tendon prestress loading
Parameters
profile_name
(str) : The name of the target tendon profile to which the load will be applied. -load_case
(str) : The name of the load case for this prestress load.
If a Load_Case with this name doesn't exist, a new one of type "PS" (Prestress) will be created automatically.load_group
(str, optional) : The name of the load group.
If a non-empty string is provided and the group doesn't exist, it will be created automatically.prestress_type
(str , default = 'STRESS') : The type of the jacking value. Accepted values are:
1 : 'STRESS' | 2 : 'FORCE'jack_step
(str, default = 'BEGIN') : Defines the location of the jacking application. Accepted values are:
1 : 'BEGIN' | 2 : 'END' | 2 : 'BOTH'jack_begin
(float) : The stress or force value applied at the beginning of the tendon.jack_end
(float) : The stress or force value applied at the end of the tendon.grouting_stage
(int) : The construction stage number after which grouting is applied. A value of 0 signifies that grouting is applied in same stage.id
(int, default=0): ID of tendon prestress load. If 0, an ID is automatically generated.
Object Attributes
ID
(int): The unique ID of this specific prestress load.TDN_ID
(int): The ID of the tendon.TDN_NAME
(str): The name of the tendon profile.LCNAME
(str): The name of the load case.LDGR
(str): The name of the load group.TYPE
(str): The prestress type ('STRESS' or 'FORCE').ORDER
(str): The jacking order ('BEGIN', 'END', or 'BOTH').JACK_BEGIN
(float): The jacking value at the beginning.JACK_END
(float): The jacking value at the end.GROUTING
(int): The grouting stage.
Class Attributes
Tendon.Prestress.loads -> List of all tendon prestress load defined.
Tendon.Prestress('TendonProfile_2','TEST',jack_begin=150)
Tendon.Prestress('TendonProfile_2','PresLoadCase','PrestressGroup','STRESS','BOTH',1200,1400,1)
Tendon.Prestress('TendonProfile_3','PresLoadCase','PrestressGroup','STRESS','BOTH',1200,1400,1)
for load in Tendon.Prestress.loads:
print(f' TENDON NAME => {load.TDN_NAME} | LOADING TYPE => {load.TYPE} | ')
# OUTPUT :
# TENDON NAME => TendonProfile_2 | LOADING TYPE => STRESS |
# TENDON NAME => TendonProfile_2 | LOADING TYPE => STRESS |
# TENDON NAME => TendonProfile_3 | LOADING TYPE => STRESS |
Methods
json
Returns a JSON representation of all Tendon Prestress loads defined in python.
Tendon.Prestress('TendonProfile_2','PresLoadCase','PrestressGroup','STRESS','BOTH',1200,1400,1)
print(Tendon.Profile.json())
create
Sends the current tendon prestress load defined to the Civil NX using a PUT request.
Tendon.Prestress('TendonProfile_2','PresLoadCase','PrestressGroup','STRESS','BOTH',1200,1400,1)
Tendon.Prestress.create()
get
Fetches tendon prestress load data from the Civil NX and return the JSON representation.
print(Tendon.Prestress.get())
sync
Retrieves Tendon prestress load data from the Civil NX and rebuilds the internal tendon prestress loads list.
Tendon.Prestress.sync()
delete
Deletes all tendon prestress loading from both Python and Civil NX.
Tendon.Prestress.delete()
Examples
from midas_civil import *
import math
Material.STEEL('Tendon_Material','IS(S)','Fe490',50)
tdn_relax = Tendon.Relaxation.Null(1880,1580)
Tendon.Property('TD1',2,50,120,150,tdn_relax)
Element.Beam.SDL([0,0,0],[1,0,0],10000,20)
for i in range(6):
prof_xyz = []
for j in range(21):
q = i+j
prof_xyz.append([10000*j/20,500*math.sin(q),500*math.cos(q)])
Tendon.Profile(f'TendonProfile_{i+1}',1,0,list(range(1,21)),'3D','SPLINE',prof_xyz=prof_xyz)
Tendon.Prestress('TendonProfile_2','TEST',jack_begin=150)
Tendon.Prestress('TendonProfile_2','PresLoadCase','PrestressGroup','STRESS','BOTH',1200,1400,1)
Tendon.Prestress('TendonProfile_3','PresLoadCase','PrestressGroup','STRESS','BOTH',1200,1400,1)
Model.create()