Skip to content

Commit f507889

Browse files
committed
fix: circArray sample
1 parent ef36472 commit f507889

1 file changed

Lines changed: 12 additions & 13 deletions

File tree

projects/examples/O.circularArrays.ts

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ export const basicCircle = (): Solid => {
3838
*/
3939
export const gearTeeth = (): Solid => {
4040
// Create center disk first
41-
const disk = Solid.cylinder(15, 10, { color: 'gray' }).align('bottom');
41+
const disk = Solid.cylinder(15, 8, { color: 'gray' }).align('bottom');
4242

4343
// Create a tooth shape - must extend in +X direction to face outward when rotated
4444
// Width (X) should be larger than depth (Z) so tooth points radially
4545
const tooth = Solid.cube(3, 10, 2, { color: 'gray' })
4646
.center({ x: true, z: true })
4747
.align('bottom')
4848
.rotate({ y: 180 })
49-
.move({ y: -5 }); // Position on top of disk
49+
.move({ y: -6 }); // Position on top of disk
5050

5151
// Arrange teeth in circle (rotates outward by default, positions at radius)
5252
const teeth = Solid.ARRAY_CIRCULAR(tooth, {
@@ -68,13 +68,12 @@ export const boltHoles = (): Solid => {
6868
const plate = Solid.cylinder(30, 5, { color: 'blue' }).align('bottom');
6969

7070
// Create hole pattern (negative solids)
71-
const hole = Solid.cylinder(2, 10, { color: 'blue' }).setNegative();
72-
71+
const hole = Solid.cylinder(2, 12, { color: 'blue' });
7372
const holePattern = Solid.ARRAY_CIRCULAR(hole, {
7473
count: 8,
7574
radius: 20,
7675
rotateElements: false // Holes don't need rotation
77-
});
76+
}).setNegative();
7877

7978
// Center hole
8079
const centerHole = Solid.cylinder(5, 10, { color: 'blue' }).setNegative();
@@ -92,12 +91,13 @@ export const wheelSpokes = (): Solid => {
9291
// Create a spoke
9392
const spoke = Solid.cube(1, 20, 2, { color: 'silver' })
9493
.center({ x: true, z: true })
94+
.rotate({ y: 45 })
9595
.align('bottom');
9696

9797
// Arrange spokes (rotates from center)
9898
const spokes = Solid.ARRAY_CIRCULAR(spoke, {
99-
count: 12,
100-
radius: 0 // No radial offset, just rotation
99+
count: 8,
100+
radius: 11 // No radial offset, just rotation
101101
});
102102

103103
// Add rim
@@ -205,21 +205,20 @@ export const rosette = (): Solid => {
205205
*/
206206
export const ventGrille = (): Solid => {
207207
// Base panel
208-
const panel = Solid.cube(40, 30, 2, { color: 'gray' }).center().align('bottom');
208+
const panel = Solid.cube(30, 2, 30, { color: 'gray' }).center().align('bottom');
209209

210210
// Ventilation slot (negative) - center for proper rotation
211-
const slot = Solid.cube(1, 10, 0.5, { color: 'gray' })
212-
.setNegative()
211+
const slot = Solid.cube(2, 10, 0.5, { color: 'gray' })
213212
.center({ x: true, z: true })
214-
.align('bottom');
213+
.align('front');
215214

216215
// Create arc pattern (90° arc)
217216
const slotPattern = Solid.ARRAY_CIRCULAR(slot, {
218-
count: 9,
217+
count: 11,
219218
radius: 12, // Distance from center
220219
startAngle: -45,
221220
endAngle: 45 // 90° total arc
222-
});
221+
}).setNegative();
223222

224223
return Solid.MERGE([panel, slotPattern]);
225224
};

0 commit comments

Comments
 (0)