Source code for moldflow.material_plot

# SPDX-FileCopyrightText: 2025 Autodesk, Inc.
# SPDX-License-Identifier: Apache-2.0

"""
Usage:
    MaterialPlot Class API Wrapper
"""

from .helper import check_type
from .com_proxy import safe_com
from .logger import process_log
from .common import LogMessage


[docs] class MaterialPlot: """ Wrapper for MaterialPlot class of Moldflow Synergy. """ def __init__(self, _material_plot): """ Initialize the MaterialPlot with a MaterialPlot instance from COM. Args: _material_plot: The MaterialPlot instance. """ process_log(__name__, LogMessage.CLASS_INIT, locals(), name="MaterialPlot") self.material_plot = safe_com(_material_plot)
[docs] def save_image(self, filename: str) -> None: """ Save the image of the material plot to a file. Args: filename (str): The filename to save the image to. """ process_log(__name__, LogMessage.FUNCTION_CALL, locals(), name="save_image") check_type(filename, str) self.material_plot.SaveImage(filename)
[docs] def save_data(self, filename: str) -> None: """ Save the data of the material plot to a file. Args: filename (str): The filename to save the data to. """ process_log(__name__, LogMessage.FUNCTION_CALL, locals(), name="save_data") check_type(filename, str) self.material_plot.SaveData(filename)
@property def default_value_range_x(self) -> bool: """ The default X axis value range. :getter: Gets if default X axis value range is enabled. :setter: Sets default X axis value range enable/disable. :type: bool """ process_log(__name__, LogMessage.PROPERTY_GET, locals(), name="default_value_range_x") return self.material_plot.DefaultValueRangeX @default_value_range_x.setter def default_value_range_x(self, value: bool) -> None: """ The default X axis value range. Args: value (bool): True to enable, False to disable. """ process_log( __name__, LogMessage.PROPERTY_SET, locals(), name="default_value_range_x", value=value ) check_type(value, bool) self.material_plot.DefaultValueRangeX = value @property def default_value_range_y(self) -> bool: """ The default Y axis value range. :getter: Gets if default y axis value range is enabled. :setter: Sets default y axis value range enable/disable. :type: bool """ process_log(__name__, LogMessage.PROPERTY_GET, locals(), name="default_value_range_y") return self.material_plot.DefaultValueRangeY @default_value_range_y.setter def default_value_range_y(self, value: bool) -> None: """ The default Y axis value range. Args: value (bool): True to enable, False to disable. """ process_log( __name__, LogMessage.PROPERTY_SET, locals(), name="default_value_range_y", value=value ) check_type(value, bool) self.material_plot.DefaultValueRangeY = value @property def value_range_min_x(self) -> float: """ The minimum X axis value. :getter: Get the minimum value for the X axis. :setter: Set the minimum value for the X axis. :type: float """ process_log(__name__, LogMessage.PROPERTY_GET, locals(), name="value_range_min_x") return self.material_plot.ValueRangeMinX @value_range_min_x.setter def value_range_min_x(self, value: float) -> None: """ The minimum X axis value. Args: value (float): The minimum value for the X axis. """ process_log( __name__, LogMessage.PROPERTY_SET, locals(), name="value_range_min_x", value=value ) check_type(value, (int, float)) self.material_plot.ValueRangeMinX = value @property def value_range_max_x(self) -> float: """ The maximum X axis value. :getter: Get the maximum value for the X axis. :setter: Set the maximum value for the X axis. :type: float """ process_log(__name__, LogMessage.PROPERTY_GET, locals(), name="value_range_max_x") return self.material_plot.ValueRangeMaxX @value_range_max_x.setter def value_range_max_x(self, value: float) -> None: """ The maximum X axis value. Args: value (float): The maximum value for the X axis. """ process_log( __name__, LogMessage.PROPERTY_SET, locals(), name="value_range_max_x", value=value ) check_type(value, (int, float)) self.material_plot.ValueRangeMaxX = value @property def value_range_min_y(self) -> float: """ The minimum Y axis value. :getter: Get the minimum value for the Y axis. :setter: Set the minimum value for the Y axis. :type: float """ process_log(__name__, LogMessage.PROPERTY_GET, locals(), name="value_range_min_y") return self.material_plot.ValueRangeMinY @value_range_min_y.setter def value_range_min_y(self, value: float) -> None: """ The minimum Y axis value. Args: value (float): The minimum value for the Y axis. """ process_log( __name__, LogMessage.PROPERTY_SET, locals(), name="value_range_min_y", value=value ) check_type(value, (int, float)) self.material_plot.ValueRangeMinY = value @property def value_range_max_y(self) -> float: """ The maximum Y axis value. :getter: Get the maximum value for the Y axis. :setter: Set the maximum value for the Y axis. :type: float """ process_log(__name__, LogMessage.PROPERTY_GET, locals(), name="value_range_max_y") return self.material_plot.ValueRangeMaxY @value_range_max_y.setter def value_range_max_y(self, value: float) -> None: """ The maximum Y axis value. Args: value (float): The maximum value for the Y axis. """ process_log( __name__, LogMessage.PROPERTY_SET, locals(), name="value_range_max_y", value=value ) check_type(value, (int, float)) self.material_plot.ValueRangeMaxY = value