コード例 #1
0
ファイル: facegear.py プロジェクト: Heeks/heekspython-old
def blank(outer_dia,inner_dia,length):
    x0,y0,z0 = 0,0,0
    rad1 = (outer_dia)*.5
    length = length
    cad.cylinder(x0,y0,z0,rad1,length)
    c1 = cad.getlastobj()

    rad2 = (inner_dia)*.5

    cad.cylinder(x0,y0,z0,rad2,length)
    c2 = cad.getlastobj()

    ring = cut_it(c1,c2)

    cad.rotate(ring,x0,y0,z0,(x0+1),y0,z0,(pi/2))
    cad.changed()
    return ring
コード例 #2
0
ファイル: facegear.py プロジェクト: gokmonk/heekspython-old
def blank(outer_dia, inner_dia, length):
    x0, y0, z0 = 0, 0, 0
    rad1 = (outer_dia) * .5
    length = length
    cad.cylinder(x0, y0, z0, rad1, length)
    c1 = cad.getlastobj()

    rad2 = (inner_dia) * .5

    cad.cylinder(x0, y0, z0, rad2, length)
    c2 = cad.getlastobj()

    ring = cut_it(c1, c2)

    cad.rotate(ring, x0, y0, z0, (x0 + 1), y0, z0, (pi / 2))
    cad.changed()
    return ring
コード例 #3
0
ファイル: facegear.py プロジェクト: Heeks/heekspython-old
def polar_array(obj,tilt,num_teeth):
    circle_division=(360/num_teeth)
    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
コード例 #4
0
ファイル: facegear.py プロジェクト: gokmonk/heekspython-old
def polar_array(obj, tilt, num_teeth):
    circle_division = (360 / num_teeth)
    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
コード例 #5
0
ファイル: facegear.py プロジェクト: Heeks/heekspython-old
def tooth_form(tilt,length):
    cad.sketch()
    sketch = cad.getlastobj()
    cad.line(-.0625,.1083,.0625,.1083)
    l1 = cad.getlastobj()
    cad.line(.0625,.1083,0,0)
    l2 = cad.getlastobj()
    cad.line(0,0, -.0625,.1083)
    l3 = cad.getlastobj()    
    cad.add(sketch,l1)
    cad.add(sketch,l2)
    cad.add(sketch,l3)
    cad.fillet2d(sketch,0,0,0,.002)
    cad.reorder(sketch)
    cad.extrude(sketch,length)
    form = cad.getlastobj()
    cad.rotate(form,0,0,0,1,0,0,(tilt*pi)/180)
    cad.changed()
    cad.remove(sketch)
    return form        
コード例 #6
0
ファイル: facegear.py プロジェクト: gokmonk/heekspython-old
def tooth_form(tilt, length):
    cad.sketch()
    sketch = cad.getlastobj()
    cad.line(-.0625, .1083, .0625, .1083)
    l1 = cad.getlastobj()
    cad.line(.0625, .1083, 0, 0)
    l2 = cad.getlastobj()
    cad.line(0, 0, -.0625, .1083)
    l3 = cad.getlastobj()
    cad.add(sketch, l1)
    cad.add(sketch, l2)
    cad.add(sketch, l3)
    cad.fillet2d(sketch, 0, 0, 0, .002)
    cad.reorder(sketch)
    cad.extrude(sketch, length)
    form = cad.getlastobj()
    cad.rotate(form, 0, 0, 0, 1, 0, 0, (tilt * pi) / 180)
    cad.changed()
    cad.remove(sketch)
    return form
コード例 #7
0
ファイル: example.py プロジェクト: Heeks/heekspython-old
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	
コード例 #8
0
ファイル: example.py プロジェクト: gokmonk/heekspython-old
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
コード例 #9
0
ファイル: facegear.py プロジェクト: Heeks/heekspython-old
        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)






  
コード例 #10
0
ファイル: facegear.py プロジェクト: gokmonk/heekspython-old
    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)