import nhf.touhou.yasaka_kanako.mirror as MM import nhf.touhou.yasaka_kanako.onbashira as MO import nhf.touhou.yasaka_kanako.shimenawa as MS from nhf.build import Model, TargetKind, target, assembly, submodel import nhf.utils from dataclasses import dataclass, field import cadquery as Cq @dataclass class Parameters(Model): mirror: MM.Mirror = field(default_factory=lambda: MM.Mirror()) onbashira: MO.Onbashira = field(default_factory=lambda: MO.Onbashira()) shimenawa: MS.Shimenawa = field(default_factory=lambda: MS.Shimenawa()) def __post_init__(self): super().__init__(name="yasaka-kanako") @submodel(name="mirror") def submodel_mirror(self) -> Model: return self.mirror @submodel(name="onbashira") def submodel_onbashira(self) -> Model: return self.onbashira @submodel(name="shimenawa") def submodel_shimenawa(self) -> Model: return self.shimenawa if __name__ == '__main__': import sys p = Parameters() if len(sys.argv) == 1: p.build_all() sys.exit(0)