Cosplay/nhf/touhou/shiki_eiki/__main__.py

40 lines
1.1 KiB
Python

from dataclasses import dataclass, field
import cadquery as Cq
from nhf.build import Model, TargetKind, target, assembly, submodel
from .rod import Rod
from .crown import Crown
from .epaulette import Epaulette
import nhf.utils
@dataclass
class Parameters(Model):
rod: Rod = field(default_factory=Rod)
crown: Crown = field(default_factory=Crown)
epaulette_ze: Epaulette = field(default_factory=lambda: Epaulette(side="ze"))
epaulette_hi: Epaulette = field(default_factory=lambda: Epaulette(side="hi"))
def __post_init__(self):
super().__init__(name="shiki-eiki")
@submodel(name="rod")
def submodel_rod(self) -> Model:
return self.rod
@submodel(name="crown")
def submodel_crown(self) -> Model:
return self.crown
@submodel(name="epaulette_ze")
def submodel_epaulette_ze(self) -> Model:
return self.epaulette_ze
@submodel(name="epaulette_hi")
def submodel_epaulette_hi(self) -> Model:
return self.epaulette_hi
if __name__ == '__main__':
import sys
p = Parameters()
if len(sys.argv) == 1:
p.build_all()
sys.exit(0)