Settings

Settings

__init__

__init__(
    printer: Printer,
    resin: ResinType,
    default_position_settings: PositionSettings,
    default_exposure_settings: ExposureSettings,
    special_print_techniques: list[
        SpecialPrintTechniques
    ] = [],
    user: str = "",
    purpose: str = "",
    description: str = "",
)

Initialize the settings for slicer object.

Parameters:

  • printer: Printer object containing printer settings.
  • resin: ResinType object containing resin formulation.
  • default_position_settings: Default PositionSettings for layers.
  • default_exposure_settings: Default ExposureSettings for layers.
  • special_print_techniques: List of SpecialPrintTechniques to apply.
  • user: Name of the user creating the settings.
  • purpose: Purpose of the print job.
  • description: Description of the print job.

Printer

__init__

__init__(
    name: str,
    light_engines: list[LightEngine],
    xy_stage_available: bool = False,
    vacuum_available: bool = False,
)

Initialize a Printer object.

Parameters:

  • name: Name of the printer.
  • light_engines: List of LightEngine objects.
  • xy_stage_available: Whether the printer has an XY stage.
  • vacuum_available: Whether the printer supports vacuum printing.

LightEngine

__init__

__init__(
    name: str = "visitech",
    px_size: float = 0.0076,
    px_count: tuple[int, int] = (2560, 1600),
    wavelengths: list[int] = [365],
    grayscale_available: list[bool] = [False],
)

Initialize a LightEngine object.

Parameters:

  • name: Name of the light engine.
  • px_size: Pixel size in mm.
  • px_count: Tuple of (width, height) pixel count.
  • wavelengths: List of supported wavelengths in nm.
  • grayscale_available: List of booleans indicating if grayscale is available for each wavelength.

ResinType

__init__

__init__(
    bulk_exposure: float,
    exposure_offset: float = 0.0,
    monomer: list[tuple[str, float]] = [("PEG", 100)],
    uv_absorbers: list[tuple[str, float]] = [("NPS", 2.0)],
    initiators: list[tuple[str, float]] = [("IRG", 1.0)],
    additives: list[tuple[str, float]] = [],
)

Initialize the resin formulation.

Parameters:

  • bulk_exposure: Base exposure time for bulk polymerization in milliseconds.
  • exposure_offset: Optional exposure offset before polymerization begins in milliseconds. Used to adjust for polymerization delay from oxygen inhibition or other added inhibitors.
  • monomer: List of tuples (name, percentage) for monomers.
  • uv_absorbers: List of tuples (name, percentage) for UV absorbers.
  • initiators: List of tuples (name, percentage) for photoinitiators.
  • additives: List of tuples (name, percentage) for additives.

Resin naming convention:

  • Use 3 letter abbreviations for materials.
  • Follow with a dash and the percent amount of the material
  • If it's a monomer or oligimer, the percent is the fraction of total monomer/oligimer
  • If it's an absorber, photoinitiator, or additive, the percent is a w/w fraction of the total resin mass
  • When there are multiple materials in a category, separate them with a single underscore, _
  • Separate categories of materials with two underscores, __
  • Schema: MoA-XX_MoB-XX__AbA-XX_AbB-XX__PIA-XX_PIB_XX__AdA-XX_AdB-XX
  • where:
    • MoA, MoB - monomers A and B
    • AbA, AbB - absorbers A and B
    • PIA, PIB - photoinitiators A and B
    • AdA, AdB - additives A and B
    • XX - number

PositionSettings

__init__

__init__(
    distance_up: float = None,
    initial_wait: float = None,
    up_speed: float = None,
    up_acceleration: float = None,
    up_wait: float = None,
    down_speed: float = None,
    down_acceleration: float = None,
    final_wait: float = None,
    special_layer_techniques: list[
        SpecialLayerTechniques
    ] = [],
)

Initialize position settings for layer movement.

Parameters:

  • distance_up: Distance to move up in mm.
  • initial_wait: Initial wait time in milliseconds.
  • up_speed: Speed to move up in mm/sec.
  • up_acceleration: Acceleration to move up in mm/sec^2.
  • up_wait: Wait time after moving up in milliseconds.
  • down_speed: Speed to move down in mm/sec.
  • down_acceleration: Acceleration to move down in mm/sec^2.
  • final_wait: Final wait time in milliseconds.
  • special_layer_techniques: List of SpecialLayerTechniques to apply.

Default Values:

  • distance_up: float = 1.0,
  • initial_wait: float = 0.0,
  • up_speed: float = 25.0,
  • up_acceleration: float = 50.0,
  • up_wait: float = 0.0,
  • down_speed: float = 20.0,
  • down_acceleration: float = 50.0,
  • final_wait: float = 0.0,

copy

copy()

Create a copy of the position settings.

ExposureSettings

__init__

__init__(
    grayscale_correction: bool = None,
    bulk_exposure_multiplier: float = None,
    power_setting: int = None,
    wavelength: int = None,
    relative_focus_position: float = None,
    wait_before_exposure: float = None,
    wait_after_exposure: float = None,
    special_image_techniques: list[
        SpecialImageTechniques
    ] = [],
    **kwargs
)

Initialize exposure settings for layer exposure.

Parameters:

  • grayscale_correction: Whether to apply grayscale correction.
  • bulk_exposure_multiplier: Multiplier applied to resin bulk exposure.
  • power_setting: Power setting of the light engine in percentage.
  • wavelength: Wavelength of the light engine in nm.
  • relative_focus_position: Relative focus position in microns.
  • wait_before_exposure: Wait time before exposure in milliseconds.
  • wait_after_exposure: Wait time after exposure in milliseconds.
  • special_image_techniques: List of SpecialImageTechniques to apply.

Default Values:

  • grayscale_correction: bool = False,
  • bulk_exposure_multiplier: float = 1.0,
  • power_setting: int = 100,
  • wavelength: int = 365,
  • relative_focus_position: float = 0.0,
  • wait_before_exposure: float = 0.0,
  • wait_after_exposure: float = 0.0,

copy

copy()

Create a copy of the exposure settings.