Soil Assignment and Topography Example#
Download the ExampleModel.rswall
for this example. Wall / segment names: Wall 1 / Segment 1.
Code Snippet: Soil Regions and Backslope Topography#
from rswall.RSWallModeler import RSWallModeler
from rswall.SoilTopography import infinite_topography, broken_topography
import os
import inspect
current_dir = os.path.dirname(os.path.abspath(inspect.getfile(lambda: None)))
model_path = os.path.join(current_dir, "example_models", "ExampleModel.rswall")
modeler = RSWallModeler(port=60067)
wall = modeler.openFile(model_path)
wall_name = "Wall 1"
segment_name = "Segment 1"
regions = wall.getValidSoilRegionNames(wall_name, segment_name)
print("Regions:", regions)
print(wall.getSegmentSoilAssignments(wall_name, segment_name))
materials = wall.getAllMaterials()
if materials and regions:
wall.assignSoilToRegion(wall_name, segment_name, regions[0], materials[0])
wall.setBackslopeTopography(
wall_name, segment_name, infinite_topography(10.0)
)
print(wall.getBackslopeTopography(wall_name, segment_name))
wall.setBackslopeTopography(
wall_name, segment_name, broken_topography(2.0, 2.0, slope_angle_degrees=20.0)
)
print(wall.getBackslopeTopography(wall_name, segment_name)["terrainType"])
wall.save()
wall.close()