2024-11-13 22:36:10 -08:00
|
|
|
from dataclasses import dataclass, field
|
|
|
|
import cadquery as Cq
|
|
|
|
from nhf.build import Model, TargetKind, target, assembly, submodel
|
|
|
|
import nhf.touhou.shiki_eiki.rod as MR
|
2024-11-18 00:36:39 -08:00
|
|
|
import nhf.touhou.shiki_eiki.crown as MC
|
|
|
|
import nhf.touhou.shiki_eiki.epaulette as ME
|
2024-11-13 22:36:10 -08:00
|
|
|
import nhf.utils
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class Parameters(Model):
|
|
|
|
|
|
|
|
rod: MR.Rod = field(default_factory=lambda: MR.Rod())
|
2024-11-18 00:36:39 -08:00
|
|
|
crown: MC.Crown = field(default_factory=lambda: MC.Crown())
|
|
|
|
epaulette: ME.Epaulette = field(default_factory=lambda: ME.Epaulette())
|
2024-11-13 22:36:10 -08:00
|
|
|
|
|
|
|
def __post_init__(self):
|
|
|
|
super().__init__(name="shiki-eiki")
|
|
|
|
|
|
|
|
@submodel(name="rod")
|
|
|
|
def submodel_rod(self) -> Model:
|
|
|
|
return self.rod
|
2024-11-18 00:36:39 -08:00
|
|
|
@submodel(name="crown")
|
|
|
|
def submodel_crown(self) -> Model:
|
|
|
|
return self.crown
|
|
|
|
@submodel(name="epaulette")
|
|
|
|
def submodel_epaulette(self) -> Model:
|
|
|
|
return self.epaulette
|
2024-11-13 22:36:10 -08:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
import sys
|
|
|
|
|
|
|
|
p = Parameters()
|
|
|
|
if len(sys.argv) == 1:
|
|
|
|
p.build_all()
|
|
|
|
sys.exit(0)
|