Line Load
A nested class within Load used to apply a continuous (line) load across a chain of elements, automatically splitting the load into the correct Load.Beam entries on each underlying element.
Constructor
Load.Line(element_ids, load_case, load_group = "", D = [0, 1], P = [0, 0], direction = "GZ", type = "UNILOAD", distType = "Abs", use_ecc = False, use_proj = False, eccn_dir = "LY", eccn_type = 1, ieccn = 0, jeccn = 0, adnl_h = False, adnl_h_i = 0, adnl_h_j = 0, id = None)
Distributes a load over a list of elements (treated as one continuous chain, in the order given) and internally creates the equivalent Load.Beam entries on each affected element.
Parameters
element_ids: List of element numbers, in sequential order, that make up the continuous member the load is applied toload_case: Load case nameload_group (default=""): Load group nameD (default=[0, 1]): List of distances along the full chain of elements where the load values inPare defined. Interpreted as absolute or relative distances depending ondistTypeP (default=[0, 0]): List of load magnitudes corresponding to each position inDdirection (default="GZ"): Load direction ("GX", "GY", "GZ", "LX", "LY", "LZ")type (default="UNILOAD"): Load type ("UNILOAD" for a uniform/trapezoidal distributed load, "CONLOAD" for concentrated loads at each position inD)distType (default="Abs"): HowDis interpreted ("Abs" = absolute distance along the chain, "Rel" = relative distance, 0 to 1, along the total chain length)use_ecc (default=False): Enable eccentricityuse_proj (default=False): Enable projectioneccn_dir (default="LY"): Eccentricity directioneccn_type (default=1): Eccentricity from offset (1) or centroid (0)ieccn, jeccn (default=0, 0): Eccentricity values at i-end and j-endadnl_h (default=False): Consider additional height for pressure loadsadnl_h_i, adnl_h_j (default=0, 0): Additional height values at endsid (default=None): Manual ID assignment passed through to the generatedLoad.Beamentries (auto-assigned if empty)
Note:
Load.Linedoes not store or track its own data. Each call internally computes the relative position and value on every element the load spans, and creates the corresponding entries viaLoad.Beam(...). Because of this,Load.Linehas nojson,create,get,sync, ordeletemethods, and no dedicated object attributes of its own — use theLoad.Beamclass methods (below) to send, fetch, or manage the resulting loads.
Methods
Load.Line has no methods of its own. The loads it generates are added to Load.Beam, so use the Load.Beam methods to work with them:
create
Sends the generated beam loads to Civil NX.
Load.Beam.create()
get
Fetches beam loads from Civil NX.
print(Load.Beam.get())
sync
Synchronizes beam loads from Civil NX.
Load.Beam.sync()
delete
Deletes all beam loads from both Python and Civil NX.
Load.Beam.delete()
Examples
Uniform Line Load Across Multiple Elements
#Line Load Example - girder split into 3 elements
for i in range(4):
Node(i*10,0,0)
Node.create()
Element.Beam(1,2)
Element.Beam(2,3)
Element.Beam(3,4)
Element.create()
#Define Load Case
Load_Case("L","Line Load")
Load_Case.create()
#Apply a uniform line load of -30 across the full 30m chain of elements
Load.Line([1,2,3],"Line Load","",[0,30],[-30,-30],"GZ")
Load.Beam.create()
Trapezoidal Line Load Using Relative Distances
for i in range(4):
Node(i*10,0,0)
Node.create()
Element.Beam(1,2)
Element.Beam(2,3)
Element.Beam(3,4)
Element.create()
#Define Load Case
Load_Case("L","Trapezoidal Line Load")
Load_Case.create()
#Apply a trapezoidal load using relative positions (0 to 1) along the full chain
Load.Line([1,2,3],"Trapezoidal Line Load","",[0,0.3,0.7,1],[0,-20,-50,0],"GZ","UNILOAD","Rel")
Load.Beam.create()
Concentrated Loads at Fixed Distances
for i in range(4):
Node(i*10,0,0)
Node.create()
Element.Beam(1,2)
Element.Beam(2,3)
Element.Beam(3,4)
Element.create()
#Define Load Case
Load_Case("L","Concentrated Line Load")
Load_Case.create()
#Apply concentrated loads at 5m, 15m, and 25m along the chain (absolute distances)
Load.Line([1,2,3],"Concentrated Line Load","",[5,15,25],[-20,-30,-40],"GZ","CONLOAD","Abs")
Load.Beam.create()