import inspect
# import classes from pymfcad

# import components from custom classes or pymfcad.component_library

class ***MyComponent***(***Component or VariableLayerThicknessComponent***):
    def __init__(self, ***component_parameters***, quiet = False):
        # Store constructor arguments for equality comparison.
        frame = inspect.currentframe()
        args, _, _, values = inspect.getargvalues(frame)
        self.init_args = [values[arg] for arg in args if arg != "self"]
        self.init_kwargs = {arg: values[arg] for arg in args if arg != "self"}

        # Initialize the base Component
        super().__init__(
            size=#component size tuple
            position=(0, 0, 0),
            px_size=#component pixel size
            layer_size=#component layer size
            quiet=quiet
        )

        # Add slicing settings (bulk exposure, default settings, etc)

        # Add labels

        # Add voids

        # Add regional settings

        # Add bulk

        # Add ports

if __name__ == "__main__":
    ***MyComponent***().preview()