32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
import os
|
|
import sys
|
|
|
|
class Settings:
|
|
# Directories
|
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
TEMP_DIR = os.environ.get("TEMP_DIR", os.path.join(BASE_DIR, "temp"))
|
|
PROFILES_DIR = os.environ.get("PROFILES_DIR", os.path.join(BASE_DIR, "profiles"))
|
|
|
|
# Slicer Paths
|
|
if sys.platform == "darwin":
|
|
_DEFAULT_SLICER_PATH = "/Applications/OrcaSlicer.app/Contents/MacOS/OrcaSlicer"
|
|
else:
|
|
_DEFAULT_SLICER_PATH = "/opt/orcaslicer/AppRun"
|
|
|
|
SLICER_PATH = os.environ.get("SLICER_PATH", _DEFAULT_SLICER_PATH)
|
|
ORCA_HOME = os.environ.get("ORCA_HOME", "/opt/orcaslicer")
|
|
|
|
# Defaults Profiles (Bambu A1)
|
|
MACHINE_PROFILE = os.path.join(PROFILES_DIR, "Bambu_Lab_A1_machine.json")
|
|
PROCESS_PROFILE = os.path.join(PROFILES_DIR, "Bambu_Process_0.20_Standard.json")
|
|
FILAMENT_PROFILE = os.path.join(PROFILES_DIR, "Bambu_PLA_Basic.json")
|
|
|
|
# Pricing
|
|
FILAMENT_COST_PER_KG = float(os.environ.get("FILAMENT_COST_PER_KG", 25.0))
|
|
MACHINE_COST_PER_HOUR = float(os.environ.get("MACHINE_COST_PER_HOUR", 2.0))
|
|
ENERGY_COST_PER_KWH = float(os.environ.get("ENERGY_COST_PER_KWH", 0.30))
|
|
PRINTER_POWER_WATTS = float(os.environ.get("PRINTER_POWER_WATTS", 150.0))
|
|
MARKUP_PERCENT = float(os.environ.get("MARKUP_PERCENT", 20.0))
|
|
|
|
settings = Settings()
|