Skip to content

Commit

Permalink
Merge pull request #176 from epit3d/feature/filter-infill
Browse files Browse the repository at this point in the history
feat: add filter on infill
  • Loading branch information
lvjonok authored Mar 11, 2025
2 parents 578d34a + 839bb9c commit c20e627
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
1 change: 1 addition & 0 deletions settings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ slicing:
fan_speed: 95
fill_density: 20
filling_type: Triangles
minimum_fill_area: 0.2
filter_tolerance: 0.01
flat_5d: 0
ftetwild_cmd: ./lib/FloatTetwild_bin.exe -i sett.slicing.stl_file -o lib/goosli_middle.msh
Expand Down
2 changes: 2 additions & 0 deletions src/locales.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ class Locale:
ExtruderTemp = "Extruder temperature, °C:"
BedTemp = "Bed temperature, °C:"
FillDensity = "Fill density, %:"
MinimumFillArea = "Minimum fill area, mm²:"
WallThickness = "Wall thickness:"
NumberWallLines = "Number of wall lines:"
BottomThickness = "Bottom thickness:"
Expand Down Expand Up @@ -172,6 +173,7 @@ def __init__(self, **entries):
ExtruderTemp="Температура сопла, °C:",
BedTemp="Температура стола, °C:",
FillDensity="Плотность заполнения, %:",
MinimumFillArea="Минимальная площадь заполнения, мм²:",
WallThickness="Толщина стенки:",
NumberWallLines="Количество проходов стенки:",
BottomThickness="Толщина дна:",
Expand Down
27 changes: 27 additions & 0 deletions src/settings_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ class SettingsWidget(QWidget):
"print_speed_wall",
"filling_type",
"fill_density",
"minimum_fill_area",
"overlap_infill",
"retraction_on",
"retraction_distance",
Expand Down Expand Up @@ -157,6 +158,7 @@ def __init__(self, parent=None, settings_provider: callable = None):
"print_speed_wall": self.locale.PrintSpeedWall,
"filling_type": self.locale.FillingType,
"fill_density": self.locale.FillDensity,
"minimum_fill_area": self.locale.MinimumFillArea,
"overlap_infill": self.locale.OverlappingInfillPercentage,
"retraction_on": self.locale.Retraction,
"retraction_distance": self.locale.RetractionDistance,
Expand Down Expand Up @@ -956,6 +958,31 @@ def on_change():
"setting": "slicing.fill_density",
}

elif name == "minimum_fill_area":
self.ensure_sett("slicing.minimum_fill_area")

minimum_fill_area_label = QLabel(self.locale.MinimumFillArea)

minimum_fill_area_value = QDoubleSpinBox()
minimum_fill_area_value.setMinimum(0.0)
minimum_fill_area_value.setMaximum(9999.0)
minimum_fill_area_value.validator = FloatValidator()

self.panel.addWidget(minimum_fill_area_label, self.next_row, 1)
self.panel.addWidget(
minimum_fill_area_value, self.cur_row, 2, 1, self.col2_cells
)

def on_change():
self.sett().slicing.minimum_fill_area = minimum_fill_area_value.value()

minimum_fill_area_value.valueChanged.connect(on_change)

self.__elements[name] = {
"label": minimum_fill_area_label,
"edit": minimum_fill_area_value,
}

elif name == "overlap_infill":
self.ensure_sett("slicing.overlapping_infill_percentage")

Expand Down

0 comments on commit c20e627

Please sign in to comment.