32 lines
No EOL
1.4 KiB
Python
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] |