30 lines
614 B
Python
30 lines
614 B
Python
from dataclasses import dataclass, field
|
|
import cadquery as Cq
|
|
from nhf import Material, Role
|
|
from nhf.build import Model, target, assembly
|
|
import nhf.utils
|
|
|
|
@dataclass
|
|
class Rod(Model):
|
|
|
|
@target(name="surface")
|
|
def top_profile(self) -> Cq.Sketch:
|
|
w, h = 10, 20
|
|
sketch = (
|
|
Cq.Sketch()
|
|
.polygon([
|
|
(w, h),
|
|
(w, -h),
|
|
(-w, -h),
|
|
(-w, h),
|
|
])
|
|
)
|
|
return sketch
|
|
|
|
@assembly()
|
|
def assembly(self) -> Cq.Assembly:
|
|
a = (
|
|
Cq.Assembly()
|
|
)
|
|
return a
|