Material Properties: Generalized Anisotropic Function Example#

Download the ExampleModel.slmd for this example.

Code Snippet: Generalized Anisotropic Function#
from Slide2Scripting.Slide2Modeler import Slide2Modeler
from Slide2Scripting.MaterialProperties.MaterialStrength import StrengthType
from Slide2Scripting.MaterialProperties.UserDefinedFunctions import (
	AngleOrSurfaceGeneralizedAnisotropicPoint,
	AngleRangeGeneralizedAnisotropicPoint,
	GeneralizedAnisotropicAngleSurfaceDefinitionType,
	GeneralizedAnisotropicAngleSurfaceMappingType,
)
import os, inspect

current_dir = os.path.dirname(os.path.abspath(inspect.getfile(lambda: None)))
Slide2Modeler.startApplication(60074)

slide2_modeler = Slide2Modeler(60074)
model = slide2_modeler.openFile(rf"{current_dir}\example_models\ExampleModel.slmd")

udf = model.getUserDefinedFunctions()
idx = udf.GeneralizedAnisotropic.addAngleRangeFunction(
	"Example GA Angle Range",
	[
		AngleRangeGeneralizedAnisotropicPoint(-80.0, 1),
		AngleRangeGeneralizedAnisotropicPoint(0.0, 2),
		AngleRangeGeneralizedAnisotropicPoint(90.0, 3),
	],
)
udf.GeneralizedAnisotropic.addAngleOrSurfaceFunction(
	"Example GA Angle/Surface",
	1,
	GeneralizedAnisotropicAngleSurfaceDefinitionType.ANGLE,
	GeneralizedAnisotropicAngleSurfaceMappingType.A_B,
	[
		AngleOrSurfaceGeneralizedAnisotropicPoint(0.0, 0, 10.0, 20.0, 2),
		AngleOrSurfaceGeneralizedAnisotropicPoint(45.0, 0, 15.0, 25.0, 3),
	],
)

material = model.getMaterialProperties()[0]
material.StrengthProperties.setStrengthType(StrengthType.GENERALIZED_ANISOTROPIC_FUNCTION)
props = material.StrengthProperties.GeneralizedAnisotropicStrength
props.setSelectedAngleRangeFunctionIndex(idx)
print(props.getSelectedAngleRangeFunctionIndex())

model.save()
model.close()

slide2_modeler.closeApplication()

Output#

0