nodeslicer/property_groups/bpy_property_groups.py
2026-05-24 11:19:53 +03:00

32 lines
No EOL
1.4 KiB
Python

import bpy
from ..core.nodeslicer.sockets import SettingItem
from ..registry import register_class
extruder_options: list[tuple[str, str, str]] = [
("0", "Default Extruder", "Default Extruder"),
("1", "Extruder 1", "Extruder 1"),
("2", "Extruder 2", "Extruder 2"),
("3", "Extruder 3", "Extruder 3"),
("4", "Extruder 4", "Extruder 4"),
("5", "Extruder 5", "Extruder 5"),
]
object_type_options: list[tuple[str, str, str]] = [
("ModelPart", "Part", "Model Part"),
("NegativeVolume", "Negative Volume", "Negative Volume"),
("ParameterModifier", "Modifier", "Modifier"),
("SupportBlocker", "Support Blocker", "Support Blocker"),
("SupportEnforcer", "Support Enforcer", "Support Enforcer"),
("WipeTower", "Wipe Tower", "Wipe Tower"),
("Ignore", "Ignore", "Ignore"),
]
from ..core.nodeslicer.bpy_ns_types import NfEnumProperty, NfStringProperty
@register_class
class SlicerObjectPropertyGroup(bpy.types.PropertyGroup):
object_type: NfEnumProperty(name="Part type", default="ModelPart", items=object_type_options) # pyright: ignore[reportInvalidTypeForm]
extruder: NfEnumProperty(name="Extruder", default="0", items=extruder_options) # pyright: ignore[reportInvalidTypeForm]
search_term: NfStringProperty(name="Search") # pyright: ignore[reportInvalidTypeForm]
modifiers: bpy.props.CollectionProperty(type=SettingItem) # pyright: ignore[reportInvalidTypeForm]