Slope Geometry Script Example#
This example edits slope, upper-face, and tension-crack geometry through SlopeGeometry.
Download the blankProject.rocslope2 for this example.
Code Snippet: Slope Geometry#
from rocslope2.RocSlope2Modeler import RocSlope2Modeler
from rocslope2.PropertyEnums import FisherDistOption, JointOrientationDistributionMethod
import os
import inspect
current_file = inspect.getfile(lambda: None)
current_dir = os.path.dirname(os.path.abspath(current_file))
example_model = os.path.join(current_dir, "example_models", "blankProject.rocslope2")
RocSlope2Modeler.startApplication()
modeler = RocSlope2Modeler()
model = modeler.openFile(example_model)
slope_geometry = model.getSlopeGeometry()
slope_geometry.setOriginPoint((0.0, 0.0, 0.0))
slope_geometry.setSlopeDip(55.5)
slope_geometry.setSlopeDipDirection(270.0)
slope_geometry.setSlopeHeight(42.25)
slope_geometry.setSlopeLength(88.75)
slope_geometry.setIsOverhanging(False)
slope_geometry.setIsDefineSlopeLength(True)
slope_geometry.setUpperFaceDip(12.5)
slope_geometry.setUpperFaceDipDirection(95.0)
slope_geometry.setUpperFaceBenchWidth(6.25)
slope_geometry.setIsTensionCrackExists(True)
slope_geometry.setTensionCrackDip(60.0)
slope_geometry.setTensionCrackDipDirection(200.0)
slope_geometry.setTensionCrackDistanceFromCrest(3.5)
slope_geometry.setSelectedTC_OrientationDistributionMethod(JointOrientationDistributionMethod.FISHER)
slope_geometry.setSelectedTC_FisherDistOptionMethod(FisherDistOption.OPTION_USE_FISHERK)
slope_geometry.setTC_FisherDist_FisherK(80.0)
print(f"Slope dip: {slope_geometry.getSlopeDip()}")
print(f"Slope height: {slope_geometry.getSlopeHeight()}")
print(f"Tension crack exists: {slope_geometry.getIsTensionCrackExists()}")
model.save()
model.close(saveProject=False)
modeler.closeProgram()
Output#
Slope dip: 55.5
Slope height: 42.25
Tension crack exists: True