Hi,
I'm trying to create horizontal nodal loads using the RFEM 6 Python API with has_specific_direction=True and SPECIFIC_DIRECTION_TYPE_ROTATED_VIA_3_ANGLES. The loads are being created successfully (no errors), but they appear in RFEM with zero magnitude and the "Specific Direction" checkbox is unchecked.
Working Method:
The LOAD_TYPE_COMPONENTS approach works perfectly - loads appear with correct magnitudes and directions.
Non-Working Method:
The has_specific_direction approach creates loads but they show as zero magnitude in RFEM.
Code Example:
# This works - loads appear correctly
objects.append(
rfem.loads.NodalLoad(
load_case=case_no,
nodes=[center_node_no],
load_type=rfem.loads.NodalLoad.LOAD_TYPE_COMPONENTS,
coordinate_system=3, # Plate Load Axis
components_force_x=h_x_component,
components_force_y=h_y_component,
components_force_z=0.0,
)
)
# This doesn't work - loads appear with zero magnitude
objects.append(
rfem.loads.NodalLoad(
load_case=case_no,
nodes=[center_node_no],
load_type=rfem.loads.NodalLoad.LOAD_TYPE_FORCE,
coordinate_system=3, # Plate Load Axis
has_specific_direction=True,
specific_direction_type=rfem.loads.NodalLoad.SPECIFIC_DIRECTION_TYPE_ROTATED_VIA_3_ANGLES,
axes_sequence=rfem.loads.NodalLoad.AXES_SEQUENCE_XYZ,
rotated_about_angle_1=0.0, # U = 0°
rotated_about_angle_2=0.0, # V = 0°
rotated_about_angle_3=h_angle, # W = angle
load_direction=rfem.loads.NodalLoad.LOAD_DIRECTION_LOCAL_X, # U direction
force_magnitude=h_magnitude, # This shows as 0 in RFEM
)
)
Debug Information:
-
Unit conversion: h_magnitude = h_force * 1000.0 (kN → N)
-
Magnitude values are correct in Python (e.g., 100000.0 N)
-
Loads are created without errors
-
RFEM calculation does not run due to loads with 0 magnitude
-
The issue is specifically with the has_specific_direction parameters (it is unchecked in the model)
Manual RFEM Setup (that works):
-
Coordinate System: 3 (Plate Load Axis)
-
Load Direction: U (Local X)
-
Specific Direction: ✓ (checked)
-
Type: Rotated via 3 angles
-
Sequence: X/Y/Z
-
U = 0°, V = 0°, W = angle
-
Force magnitude: non-zero value
Question:
What is the correct way to set up has_specific_direction nodal loads via the Python API? Are there additional required parameters or a different approach needed?
Environment: 6.11.0004


