Skip to content

Commit f0a12f0

Browse files
committed
Adding leg mounts
1 parent 7784ef9 commit f0a12f0

File tree

2 files changed

+141
-13
lines changed

2 files changed

+141
-13
lines changed

BaseBot.groovy

Lines changed: 109 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -422,12 +422,45 @@ try {
422422
CSG top = parts[1];
423423
CSG bot = parts[0];
424424

425-
425+
double legMountRadius = 10
426+
double legMountPinLength = 10
427+
double legPinRadius = 4
426428
LengthParameter tailLength = new LengthParameter("Cable Cut Out Length",30,[500, 0.01])
427429
tailLength.setMM(25)
430+
428431
CSG motor = Vitamins.get("hobbyServo", "fs90r")
429432
CSG horn = Vitamins.get("hobbyServoHorn", "fs90r_1")
430433
.movez(motor.getMaxZ())
434+
CSG boltWheel = Vitamins.get("chamferedScrew", "M3x16")
435+
.roty(180)
436+
.toZMin()
437+
.movez(motor.getMaxZ())
438+
.movex(legMountRadius)
439+
CSG bearingWheel = Vitamins.get("ballBearing", "695zz")
440+
.movez(motor.getMaxZ()+legMountPinLength)
441+
.movex(legMountRadius)
442+
double legMountPinRadius = bearingWheel.getTotalX()/2+3
443+
444+
CSG legPin = new Cylinder(legPinRadius, legMountPinLength+1).toCSG()
445+
.movez(motor.getMaxZ())
446+
.movex(legMountRadius)
447+
CSG legSquare = new Cube(legMountPinRadius+2,legMountPinRadius*2,bearingWheel.getTotalZ()+1).toCSG()
448+
.toZMin()
449+
.toXMin()
450+
CSG legHole = new Cylinder(3.5/2.0, legMountPinRadius*2).toCSG()
451+
.movez(-legMountPinRadius)
452+
.rotx(90)
453+
.movex(legMountPinRadius-1)
454+
.movez((bearingWheel.getTotalZ()+1)/2.0)
455+
CSG legMount = new Cylinder(legMountPinRadius, bearingWheel.getTotalZ()+1).toCSG()
456+
.union(legSquare)
457+
.difference(legHole)
458+
.difference(new Cylinder(legPinRadius+1, legMountPinLength+1).toCSG())
459+
.movez(motor.getMaxZ()+legMountPinLength-1)
460+
.movex(legMountRadius)
461+
.difference(bearingWheel.hull())
462+
463+
431464
double hornDepth = horn.getTotalZ()
432465
double halfServoDistance = motor.getTotalX()/2
433466
double servoSplit=2
@@ -469,19 +502,57 @@ try {
469502

470503
CSG rightDrive = asmOfDrive.transformed(rightSide)
471504
CSG leftDriveHorn = horn.transformed(leftSide)
472-
505+
CSG leftDriveBolt = boltWheel.transformed(leftSide)
506+
CSG rightDriveBolt = boltWheel.transformed(rightSide)
507+
508+
CSG leftDriveBearing = bearingWheel.transformed(leftSide)
509+
CSG rightDriveBearing = bearingWheel.transformed(rightSide)
510+
511+
512+
CSG leftlegMount = legMount.transformed(leftSide)
513+
CSG rightlegMount = legMount.transformed(rightSide)
514+
473515
CSG rightDriveHorn = horn.transformed(rightSide)
474-
516+
517+
518+
CSG rightLegPin= legPin.transformed(rightSide)
519+
CSG leftLegPin= legPin.transformed(leftSide)
520+
521+
475522
CSG bothDrive = leftDrive.union(rightDrive)
476523

477524

478525

479-
CSG leftWheel = wheepCore.transformed(leftSide).difference(leftDriveHorn)
526+
CSG leftWheel = wheepCore.transformed(leftSide)
527+
.difference(leftDriveHorn)
528+
.union(leftLegPin)
529+
.difference(leftDriveBolt)
530+
.difference(leftDriveBearing)
480531
CSG rightWheel = wheepCore.transformed(rightSide).difference(rightDriveHorn)
532+
.union(rightLegPin)
533+
.difference(rightDriveBolt)
534+
.difference(rightDriveBearing)
535+
536+
leftDriveBearing.setColor(Color.SILVER)
537+
.setManufacturing({ toMfg ->
538+
return null
539+
})
540+
rightDriveBearing.setColor(Color.SILVER)
541+
.setManufacturing({ toMfg ->
542+
return null
543+
})
481544
leftDriveHorn.setColor(Color.BLACK)
482545
.setManufacturing({ toMfg ->
483546
return null
484547
})
548+
leftDriveBolt.setColor(Color.BLACK)
549+
.setManufacturing({ toMfg ->
550+
return null
551+
})
552+
rightDriveBolt.setColor(Color.BLACK)
553+
.setManufacturing({ toMfg ->
554+
return null
555+
})
485556
rightDriveHorn.setColor(Color.BLACK)
486557
.setManufacturing({ toMfg ->
487558
return null
@@ -679,7 +750,14 @@ try {
679750
.setManufacturing({ toMfg ->
680751
return toMfg.roty(-90).toZMin()
681752
})
682-
753+
leftlegMount.setName("leftlegMount")
754+
.setManufacturing({ toMfg ->
755+
return toMfg.roty(-90).toZMin()
756+
})
757+
rightlegMount.setName("rightLegMount")
758+
.setManufacturing({ toMfg ->
759+
return toMfg.roty(90).toZMin()
760+
})
683761
rightWheel.setName("rightWheel")
684762
.setManufacturing({ toMfg ->
685763
return toMfg.roty(90).toZMin()
@@ -740,7 +818,25 @@ try {
740818
tireMovedL.addAssemblyStep(9, new Transform().movex(-30))
741819
tireMovedL.addAssemblyStep(8, new Transform().movex(-10))
742820
leftDriveHorn.addAssemblyStep(10, new Transform().movex(-40))
743-
821+
822+
leftDriveBolt.addAssemblyStep(9, new Transform().movex(-30))
823+
leftDriveBolt.addAssemblyStep(8, new Transform().movex(20))
824+
825+
rightDriveBolt.addAssemblyStep(9, new Transform().movex(30))
826+
rightDriveBolt.addAssemblyStep(8, new Transform().movex(-20))
827+
828+
leftDriveBearing.addAssemblyStep(9, new Transform().movex(-30))
829+
rightDriveBearing.addAssemblyStep(9, new Transform().movex(30))
830+
831+
leftlegMount.addAssemblyStep(9, new Transform().movex(-30))
832+
rightlegMount.addAssemblyStep(9, new Transform().movex(30))
833+
834+
leftlegMount.addAssemblyStep(8, new Transform().movex(-5))
835+
rightlegMount.addAssemblyStep(8, new Transform().movex(5))
836+
837+
leftDriveBearing.addAssemblyStep(8, new Transform().movex(-20))
838+
rightDriveBearing.addAssemblyStep(8, new Transform().movex(20))
839+
744840
rightWheel.addAssemblyStep(9, new Transform().movex(30))
745841
tireMovedR.addAssemblyStep(9, new Transform().movex(30))
746842
tireMovedR.addAssemblyStep(8, new Transform().movex(10))
@@ -765,7 +861,13 @@ try {
765861
hingingPlate,
766862
hingeThread,
767863
closureThreads,
768-
bottomThreads
864+
bottomThreads,
865+
leftDriveBolt,
866+
rightDriveBolt,
867+
leftDriveBearing,
868+
rightDriveBearing,
869+
leftlegMount,
870+
rightlegMount
769871

770872
]
771873
}catch(Throwable tr) {

printbed.json

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
{
22
"locations": {
3+
"rightLegMount": {
4+
"x": 132.231663451747,
5+
"y": 105.52705688973546,
6+
"z": 0.0,
7+
"rotation": {
8+
"storage": {
9+
"q0": 1.0,
10+
"q1": 0.0,
11+
"q2": 0.0,
12+
"q3": 0.0
13+
}
14+
}
15+
},
16+
"leftlegMount": {
17+
"x": 171.85973048064562,
18+
"y": 126.62958809279016,
19+
"z": 0.0,
20+
"rotation": {
21+
"storage": {
22+
"q0": 1.0,
23+
"q1": 0.0,
24+
"q2": 0.0,
25+
"q3": 0.0
26+
}
27+
}
28+
},
329
"leftWheel": {
430
"x": 66.40487960816972,
531
"y": 158.18111914980125,
@@ -14,8 +40,8 @@
1440
}
1541
},
1642
"hingingPlate": {
17-
"x": 199.83256124958473,
18-
"y": 19.95390226167468,
43+
"x": 199.90088929188147,
44+
"y": 21.90751893984761,
1945
"z": 0.0,
2046
"rotation": {
2147
"storage": {
@@ -40,8 +66,8 @@
4066
}
4167
},
4268
"CaseBottom": {
43-
"x": 77.46238442169853,
44-
"y": 111.26624312550217,
69+
"x": 77.81852553511109,
70+
"y": 110.69206740310229,
4571
"z": 0.0,
4672
"rotation": {
4773
"storage": {
@@ -66,8 +92,8 @@
6692
}
6793
},
6894
"servoCover": {
69-
"x": 83.13858373690336,
70-
"y": 8.60740351938459,
95+
"x": 85.13344935264912,
96+
"y": 9.5445536015829,
7197
"z": 0.0,
7298
"rotation": {
7399
"storage": {

0 commit comments

Comments
 (0)