Browsed by
Tag: cam

Servo Cam

Servo Cam

Compatible with WizoScript versions: 1.22

Creates a cam that fits onto a miniture servo, used for actuating a gripper.

majorwidth  = 13.763
minorwidth  = 6.260
height      = 7.000
slotwidth   = 3.000
baseheight  = 2.000
servoheight = 4.000
servoinside = 4.200
 
GripperCam = Part("GripperCam")
Base = GripperCam.AddSketch("Base", GripperCam.GetPlane("XY-Plane"))
 
Base.AddLine([-majorwidth / 2, -height / 2], [majorwidth / 2, -height / 2], False)
Base.AddLine([-majorwidth / 2,  height / 2], [majorwidth / 2,  height / 2], False)
Base.AddArcCenterStartEnd( majorwidth / 2, 0,  majorwidth / 2, -height / 2,  majorwidth / 2,  height / 2, False)
Base.AddArcCenterStartEnd(-majorwidth / 2, 0, -majorwidth / 2,  height / 2, -majorwidth / 2, -height / 2, False)
 
Base.AddLine([minorwidth / 2, -slotwidth / 2], [majorwidth / 2, -slotwidth / 2], False)
Base.AddLine([minorwidth / 2,  slotwidth / 2], [majorwidth / 2,  slotwidth / 2], False)
Base.AddArcCenterStartEnd(majorwidth / 2, 0, majorwidth / 2, -slotwidth / 2, majorwidth / 2,  slotwidth / 2, False)
Base.AddArcCenterStartEnd(minorwidth / 2, 0, minorwidth / 2,  slotwidth / 2, minorwidth / 2, -slotwidth / 2, False)
 
Base.AddLine([-minorwidth / 2, -slotwidth / 2], [-majorwidth / 2, -slotwidth / 2], False)
Base.AddLine([-minorwidth / 2,  slotwidth / 2], [-majorwidth / 2,  slotwidth / 2], False)
Base.AddArcCenterStartEnd(-majorwidth / 2, 0, -majorwidth / 2,  slotwidth / 2, -majorwidth / 2, -slotwidth / 2, False)
Base.AddArcCenterStartEnd(-minorwidth / 2, 0, -minorwidth / 2, -slotwidth / 2, -minorwidth / 2,  slotwidth / 2, False)
 
GripperCam.AddExtrudeBoss("Base", Base, baseheight, False)
 
Servo = GripperCam.AddSketch("Servo", GripperCam.GetFace("Face<13>"))
 
Servo.AddCircle(0, 0, 9, False)
Servo.AddCircle(0, 0, servoinside, False)
 
GripperCam.AddExtrudeBoss("Servo", Servo, servoheight, False)
 
Holes = GripperCam.AddSketch("Holes", GripperCam.GetPlane("XY-Plane"))
 
Holes.AddLine([minorwidth / 2, -slotwidth / 2], [majorwidth / 2, -slotwidth / 2], False)
Holes.AddLine([minorwidth / 2,  slotwidth / 2], [majorwidth / 2,  slotwidth / 2], False)
Holes.AddArcCenterStartEnd(majorwidth / 2, 0, majorwidth / 2, -slotwidth / 2, majorwidth / 2,  slotwidth / 2, False)
Holes.AddArcCenterStartEnd(minorwidth / 2, 0, minorwidth / 2,  slotwidth / 2, minorwidth / 2, -slotwidth / 2, False)
 
Holes.AddLine([-minorwidth / 2, -slotwidth / 2], [-majorwidth / 2, -slotwidth / 2], False)
Holes.AddLine([-minorwidth / 2,  slotwidth / 2], [-majorwidth / 2,  slotwidth / 2], False)
Holes.AddArcCenterStartEnd(-majorwidth / 2, 0, -majorwidth / 2,  slotwidth / 2, -majorwidth / 2, -slotwidth / 2, False)
Holes.AddArcCenterStartEnd(-minorwidth / 2, 0, -minorwidth / 2, -slotwidth / 2, -minorwidth / 2,  slotwidth / 2, False)
 
GripperCam.AddExtrudeCut("Holes", Holes, baseheight + servoheight, False)