Skip to content

Commit 9adbf9c

Browse files
committed
feat: added
1 parent 995f78d commit 9adbf9c

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

src/models/growlightHolder.ts

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
import { subtract, union } from '@jscad/modeling/src/operations/booleans'
2+
import { hullChain } from '@jscad/modeling/src/operations/hulls'
3+
import {
4+
rotateX,
5+
rotateY,
6+
translate,
7+
} from '@jscad/modeling/src/operations/transforms'
8+
import { cuboid, cylinder } from '@jscad/modeling/src/primitives'
9+
import { degToRad } from '@jscad/modeling/src/utils'
10+
11+
const baseSize = 14.5
12+
const cornerRadius = 2.5
13+
14+
export const growlightHolder = () => {
15+
return union([
16+
translate(
17+
[0, -baseSize / 2, baseSize / 2],
18+
cuboid({
19+
size: [baseSize + 10, baseSize, baseSize],
20+
}),
21+
),
22+
translate(
23+
[4.75 + 5, -3.5, baseSize - cornerRadius],
24+
subtract(
25+
hullChain(
26+
translate(
27+
[0, 1, 0],
28+
rotateY(
29+
degToRad(90),
30+
cylinder({
31+
radius: cornerRadius,
32+
height: 5,
33+
}),
34+
),
35+
),
36+
translate(
37+
[0, 1, -(baseSize - 2 * cornerRadius)],
38+
rotateY(
39+
degToRad(90),
40+
cylinder({
41+
radius: cornerRadius,
42+
height: 5,
43+
}),
44+
),
45+
),
46+
translate(
47+
[0, 100, -3],
48+
rotateY(
49+
degToRad(90),
50+
cylinder({
51+
radius: cornerRadius,
52+
height: 5,
53+
}),
54+
),
55+
),
56+
translate(
57+
[0, 100, 0],
58+
rotateY(
59+
degToRad(90),
60+
cylinder({
61+
radius: cornerRadius,
62+
height: 5,
63+
}),
64+
),
65+
),
66+
translate(
67+
[0, 1, 0],
68+
rotateY(
69+
degToRad(90),
70+
cylinder({
71+
radius: cornerRadius,
72+
height: 5,
73+
}),
74+
),
75+
),
76+
),
77+
translate(
78+
[0, 90, 5],
79+
rotateX(
80+
degToRad(-2),
81+
cuboid({
82+
size: [14, 14, 14],
83+
}),
84+
),
85+
),
86+
),
87+
),
88+
])
89+
}

0 commit comments

Comments
 (0)