def run(): make_track("i",line_length,dead_zone_width,bend_radius) bot_offset = -rail_height/2-beam_height/2-bottom_overhang-bearing_clearance-bearing_height offset = dist_between_bearings/2 + rail_width/2 track2 = make_track("s",line_length,dead_zone_width,bend_radius-offset) cad.translate(track2,-offset,bot_offset,0) track2 = make_track("s",line_length,dead_zone_width,bend_radius+offset) cad.translate(track2,offset,bot_offset,0)
def run(): make_track("i", line_length, dead_zone_width, bend_radius) bot_offset = -rail_height / 2 - beam_height / 2 - bottom_overhang - bearing_clearance - bearing_height offset = dist_between_bearings / 2 + rail_width / 2 track2 = make_track("s", line_length, dead_zone_width, bend_radius - offset) cad.translate(track2, -offset, bot_offset, 0) track2 = make_track("s", line_length, dead_zone_width, bend_radius + offset) cad.translate(track2, offset, bot_offset, 0)
def make_track(type, line_length, dead_zone_width, bend_radius): cad.group() group = cad.getlastobj() beam1 = make_beam(type, line_length) beam2 = make_beam(type, line_length) cad.translate(beam2, -dead_zone_width - bend_radius * 2, 0, 0) beam3 = make_quarter_beam(type, bend_radius) beam4 = make_beam(type, dead_zone_width) cad.rotate(beam3, 0, 0, 0, 0, 1, 0, math.pi / 2) cad.rotate(beam4, 0, 0, 0, 0, 1, 0, -math.pi / 2) cad.translate(beam3, -bend_radius - dead_zone_width, 0, -bend_radius) cad.translate(beam4, -bend_radius, 0, -bend_radius) beam5 = make_quarter_beam(type, bend_radius) beam6 = make_beam(type, dead_zone_width) cad.rotate(beam5, 0, 0, 0, 0, 1, 0, -math.pi / 2) cad.rotate(beam6, 0, 0, 0, 0, 1, 0, -math.pi / 2) cad.translate(beam5, -bend_radius, 0, line_length + bend_radius) cad.translate(beam6, -bend_radius, 0, line_length + bend_radius) beam7 = make_quarter_beam(type, bend_radius) cad.rotate(beam7, 0, 0, 0, 0, 1, 0, math.pi) cad.translate(beam7, -bend_radius * 2 - dead_zone_width, 0, line_length) beam8 = make_quarter_beam(type, bend_radius) cad.add(group, beam1) cad.add(group, beam2) cad.add(group, beam3) cad.add(group, beam4) cad.add(group, beam5) cad.add(group, beam6) cad.add(group, beam7) cad.add(group, beam8) return group
def make_track(type,line_length,dead_zone_width,bend_radius): cad.group() group = cad.getlastobj() beam1 = make_beam(type,line_length) beam2 = make_beam(type,line_length) cad.translate(beam2,-dead_zone_width-bend_radius*2,0,0) beam3 = make_quarter_beam(type,bend_radius) beam4 = make_beam(type,dead_zone_width) cad.rotate(beam3,0,0,0,0,1,0,math.pi/2) cad.rotate(beam4,0,0,0,0,1,0,-math.pi/2) cad.translate(beam3,-bend_radius-dead_zone_width,0,-bend_radius) cad.translate(beam4,-bend_radius,0,-bend_radius) beam5 = make_quarter_beam(type,bend_radius) beam6 = make_beam(type,dead_zone_width) cad.rotate(beam5,0,0,0,0,1,0,-math.pi/2) cad.rotate(beam6,0,0,0,0,1,0,-math.pi/2) cad.translate(beam5,-bend_radius,0,line_length+bend_radius) cad.translate(beam6,-bend_radius,0,line_length+bend_radius) beam7 = make_quarter_beam(type,bend_radius) cad.rotate(beam7,0,0,0,0,1,0,math.pi) cad.translate(beam7,-bend_radius*2-dead_zone_width,0,line_length) beam8 = make_quarter_beam(type,bend_radius) cad.add(group,beam1) cad.add(group,beam2) cad.add(group,beam3) cad.add(group,beam4) cad.add(group,beam5) cad.add(group,beam6) cad.add(group,beam7) cad.add(group,beam8) return group
cad.rotate(t1,0,0,0,0,1,0,angle) cad.cut(obj,t1) obj2 = cad.getlastobj() cad.remove(obj) obj = obj2 angle = angle + pitch_angle cad.changed() count = count +1 cad.remove(obj) return obj2 units = 25.4 #units are in mm normally so multiply inch units by this b1 = blank(.49,.3,.1) cad.translate(b1,0,0,0) gear1= polar_array(b1,4,72) cad.rotate(gear1,0,0,0,1,0,0,pi) cad.rotate(gear1,0,0,0,0,1,0,(2.5*pi)/180) cad.setcolor(0,188,180) gear2= polar_array(b1,4,72) cad.scale(gear1,0,0,0,units) cad.scale(gear2,0,0,0,units) cad.translate(gear2,0,.009*units,0)
pitch_angle = (circle_division * (pi * 2)) / 360 angle = 0 count = 0 while (count < num_teeth): t1 = tooth_form(tilt, .5) cad.rotate(t1, 0, 0, 0, 0, 1, 0, angle) cad.cut(obj, t1) obj2 = cad.getlastobj() cad.remove(obj) obj = obj2 angle = angle + pitch_angle cad.changed() count = count + 1 cad.remove(obj) return obj2 units = 25.4 #units are in mm normally so multiply inch units by this b1 = blank(.49, .3, .1) cad.translate(b1, 0, 0, 0) gear1 = polar_array(b1, 4, 72) cad.rotate(gear1, 0, 0, 0, 1, 0, 0, pi) cad.rotate(gear1, 0, 0, 0, 0, 1, 0, (2.5 * pi) / 180) cad.setcolor(0, 188, 180) gear2 = polar_array(b1, 4, 72) cad.scale(gear1, 0, 0, 0, units) cad.scale(gear2, 0, 0, 0, units) cad.translate(gear2, 0, .009 * units, 0)