コード例 #1
0
ファイル: example.py プロジェクト: Heeks/heekspython-old
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)
コード例 #2
0
def cut_it(obj1, obj2):
    cad.cut(obj1, obj2)
    newobj = cad.getlastobj()
    cad.remove(obj1)
    cad.changed()
    cad.remove(newobj)
    return newobj
コード例 #3
0
ファイル: cut_example.py プロジェクト: Heeks/heekspython-old
def cut_it(obj1,obj2):
    cad.cut(obj1,obj2)
    newobj = cad.getlastobj()
    cad.remove(obj1)
    cad.changed()
    cad.remove(newobj)
    return newobj
コード例 #4
0
ファイル: example.py プロジェクト: Heeks/heekspython-old
def make_quarter_beam(type,radius):
    profile = getprofile(type)
    #cad.extrude(profile,10)
    cad.arc(-radius,0,0,.0001,math.pi/2,math.pi,0,1,0)
    cad.linearc2wire(cad.getlastobj())
    wire = cad.getlastobj()
    cad.pipe(wire,profile);
    return cad.getlastobj()
コード例 #5
0
ファイル: example.py プロジェクト: gokmonk/heekspython-old
def make_quarter_beam(type, radius):
    profile = getprofile(type)
    #cad.extrude(profile,10)
    cad.arc(-radius, 0, 0, .0001, math.pi / 2, math.pi, 0, 1, 0)
    cad.linearc2wire(cad.getlastobj())
    wire = cad.getlastobj()
    cad.pipe(wire, profile)
    return cad.getlastobj()
コード例 #6
0
ファイル: example.py プロジェクト: gokmonk/heekspython-old
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)
コード例 #7
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
コード例 #8
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
コード例 #9
0
ファイル: polar_array.py プロジェクト: Heeks/heekspython-old
    def GenCode(self, event): # wxGlade: MyFrame.<event_handler>
        cad.sketch()
        sketch = cad.getlastobj()        
        
        x_center=float(self.x_center_entry.GetValue())
        y_center=float(self.y_center_entry.GetValue())
        z_center=float(self.z_center_entry.GetValue())
        no_of_holes=float(self.no_of_holes_entry.GetValue())
        bolt_circle_diameter=float(self.bolt_circle_diameter_entry.GetValue())
        start_angle=float(self.start_angle_entry.GetValue())
        scale=float(self.Scale_entry.GetValue())    
        count = 0
        anglecount=1   
        circle_division_angle=(360/no_of_holes)
        calc_angle=start_angle




        while (count < no_of_holes):
	    x1=math.cos(math.radians(calc_angle))*(bolt_circle_diameter/2)
	    y1=math.sin(math.radians(calc_angle))*(bolt_circle_diameter/2)
            x=(x1+x_center)*scale
            y=(y1+y_center)*scale        
            z=(z_center)*scale

            cad.point(x,y,z)
            cad.add(sketch,cad.getlastobj())            
            data=str('X%.4f Y%.4f Z%.4f '% (x, y, z)+'\n')
            
            print data

           
                      

    	    anglecount=anglecount+1
	    
    	    calc_angle=calc_angle + circle_division_angle	

            count=count+1
        cad.reorder(sketch);
        return sketch        
コード例 #10
0
    def GenCode(self, event):  # wxGlade: MyFrame.<event_handler>
        cad.sketch()
        sketch = cad.getlastobj()

        x_center = float(self.x_center_entry.GetValue())
        y_center = float(self.y_center_entry.GetValue())
        z_center = float(self.z_center_entry.GetValue())
        no_of_holes = float(self.no_of_holes_entry.GetValue())
        bolt_circle_diameter = float(
            self.bolt_circle_diameter_entry.GetValue())
        start_angle = float(self.start_angle_entry.GetValue())
        scale = float(self.Scale_entry.GetValue())
        count = 0
        anglecount = 1
        circle_division_angle = (360 / no_of_holes)
        calc_angle = start_angle

        while (count < no_of_holes):
            x1 = math.cos(
                math.radians(calc_angle)) * (bolt_circle_diameter / 2)
            y1 = math.sin(
                math.radians(calc_angle)) * (bolt_circle_diameter / 2)
            x = (x1 + x_center) * scale
            y = (y1 + y_center) * scale
            z = (z_center) * scale

            cad.point(x, y, z)
            cad.add(sketch, cad.getlastobj())
            data = str('X%.4f Y%.4f Z%.4f ' % (x, y, z) + '\n')

            print data

            anglecount = anglecount + 1

            calc_angle = calc_angle + circle_division_angle

            count = count + 1
        cad.reorder(sketch)
        return sketch
コード例 #11
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	
コード例 #12
0
ファイル: example.py プロジェクト: Heeks/heekspython-old
def make_beam(type,length):
    profile = getprofile(type)
    cad.extrude(profile,length)
    return cad.getlastobj()
コード例 #13
0
ファイル: revolve_it.py プロジェクト: Heeks/heekspython-old
#this little script shows how to use the 'revolve' function
#used for revolving sketches around X axis to form a solid
#like a turned part on a lathe

import HeeksPython as cad
cad.sketch()
sketch = cad.getlastobj()
cad.line(0,1,4,1)
l1= cad.getlastobj()
cad.line(4,1,4,2)
l2= cad.getlastobj()
cad.line(4,2,0,2)
l3= cad.getlastobj()
cad.line(0,2,0,1)
l4= cad.getlastobj()
cad.add(sketch,l1)
cad.add(sketch,l2)
cad.add(sketch,l3)
cad.add(sketch, l4)
cad.reorder(sketch)
cad.revolve(sketch,360)

コード例 #14
0
ファイル: example.py プロジェクト: Heeks/heekspython-old
def make_square_beam_profile(beam_width,beam_height):
    cad.sketch()
    sketch = cad.getlastobj()

    cad.line(-beam_width/2.0,-beam_height/2.0,beam_width/2.0,-beam_height/2.0)
    cad.add(sketch,cad.getlastobj())

    cad.line(beam_width/2.0,-beam_height/2.0,beam_width/2.0,beam_height/2.0)
    cad.add(sketch,cad.getlastobj())

    cad.line(beam_width/2.0,beam_height/2.0,-beam_width/2.0,beam_height/2.0)
    cad.add(sketch,cad.getlastobj())

    cad.line(-beam_width/2.0,beam_height/2.0,-beam_width/2.0,-beam_height/2.0)
    cad.add(sketch,cad.getlastobj())
    
    cad.reorder(sketch);
    return sketch
コード例 #15
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
コード例 #16
0
ファイル: example.py プロジェクト: gokmonk/heekspython-old
def make_beam(type, length):
    profile = getprofile(type)
    cad.extrude(profile, length)
    return cad.getlastobj()
コード例 #17
0
def make_rect(originx, originy, width, length, rad, height, scale):
    #originx,originy= origin
    originx = originx * scale
    originy = originy * scale
    width = width * scale
    length = length * scale
    rad = rad * scale
    cad.sketch()
    sketch = cad.getlastobj()
    cad.line(originx, originy, originx + width, originy)
    l1 = cad.getlastobj()
    cad.line(originx + width, originy, originx + width, originy + length)
    l2 = cad.getlastobj()
    cad.line(originx + width, originy + length, originx, originy + length)
    l3 = cad.getlastobj()
    cad.line(originx, originy + length, originx, originy)
    l4 = cad.getlastobj()
    cad.add(sketch, l1)
    cad.add(sketch, l2)
    cad.add(sketch, l3)
    cad.add(sketch, l4)
    cad.fillet2d(sketch, originx, originy, 0, rad)
    cad.fillet2d(sketch, originx + width, originy, 0, rad)
    cad.fillet2d(sketch, originx + width, originy + length, 0, rad)
    cad.fillet2d(sketch, originx, originy + length, 0, rad)
    cad.reorder(sketch)
    cad.extrude(sketch, height * scale)
コード例 #18
0
def make_rect(originx,originy,width,length,rad,height,scale):
    #originx,originy= origin
    originx = originx*scale;originy = originy*scale
    width= width*scale;length= length*scale
    rad = rad*scale
    cad.sketch()
    sketch = cad.getlastobj()
    cad.line(originx,originy,originx+width,originy)
    l1= cad.getlastobj()
    cad.line(originx+width,originy,originx+width,originy+length)
    l2= cad.getlastobj()
    cad.line(originx+width,originy+length,originx,originy+length)
    l3= cad.getlastobj()
    cad.line(originx,originy+length,originx,originy)
    l4= cad.getlastobj()
    cad.add(sketch,l1)
    cad.add(sketch,l2)
    cad.add(sketch,l3)
    cad.add(sketch, l4)
    cad.fillet2d(sketch,originx,originy,0, rad)
    cad.fillet2d(sketch,originx+width,originy,0,rad)
    cad.fillet2d(sketch,originx+width,originy+length,0,rad)
    cad.fillet2d(sketch,originx,originy+length,0,rad)
    cad.reorder(sketch)
    cad.extrude(sketch,height*scale)
コード例 #19
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
コード例 #20
0
ファイル: example.py プロジェクト: gokmonk/heekspython-old
def make_square_beam_profile(beam_width, beam_height):
    cad.sketch()
    sketch = cad.getlastobj()

    cad.line(-beam_width / 2.0, -beam_height / 2.0, beam_width / 2.0,
             -beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())

    cad.line(beam_width / 2.0, -beam_height / 2.0, beam_width / 2.0,
             beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())

    cad.line(beam_width / 2.0, beam_height / 2.0, -beam_width / 2.0,
             beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())

    cad.line(-beam_width / 2.0, beam_height / 2.0, -beam_width / 2.0,
             -beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())

    cad.reorder(sketch)
    return sketch
コード例 #21
0
import HeeksPython as cad


def cut_it(obj1, obj2):
    cad.cut(obj1, obj2)
    newobj = cad.getlastobj()
    cad.remove(obj1)
    cad.changed()
    cad.remove(newobj)
    return newobj


cad.cuboid(0, 0, 0, 1, 1, 1)
c1 = cad.getlastobj()
cad.cylinder(0, 0, 0, .5, 1)
c2 = cad.getlastobj()
n1 = cut_it(c1, c2)

cad.cylinder(1, 0, 0, .5, 1)
c3 = cad.getlastobj()
n2 = cut_it(n1, c3)

cad.cylinder(1, 1, 0, .5, 1)
c4 = cad.getlastobj()
n3 = cut_it(n2, c4)

cad.cylinder(0, 1, 0, .5, 1)
c5 = cad.getlastobj()
n4 = cut_it(n3, c5)

cad.ve()
コード例 #22
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
コード例 #23
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        
コード例 #24
0
#very simple fillet demo
#the end points of the lines must be trimmed first or you
#will get an error from HeeksCAD

import HeeksPython as cad
cad.sketch()
sketch = cad.getlastobj()
cad.line(0, 1, 4, 1)
l1 = cad.getlastobj()
cad.line(4, 1, 4, 2)
l2 = cad.getlastobj()
cad.add(sketch, l1)
cad.add(sketch, l2)
cad.fillet2d(sketch, 4, 1, 0, .1)
cad.reorder(sketch)
コード例 #25
0
# this example shows how to create fillets between two lines

import HeeksPython as cad
cad.sketch()
sketch = cad.getlastobj()
cad.line(0,1,4,1)
l1= cad.getlastobj()
cad.line(4,1,4,2)
l2= cad.getlastobj()

cad.line(4,2,0,2)
l3= cad.getlastobj()

cad.line(0,2,0,1)
l4= cad.getlastobj()

cad.add(sketch,l1)
cad.add(sketch,l2)
cad.add(sketch,l3)
cad.add(sketch, l4)
cad.fillet2d(sketch,4,1,0,.1)
f1= cad.getlastobj()
cad.fillet2d(sketch,4,2,0,.1)
f2= cad.getlastobj()
cad.fillet2d(sketch,0,2,0,.1)
f3= cad.getlastobj()
cad.fillet2d(sketch,0,1,0, .1)
f4= cad.getlastobj()
cad.add(sketch,f1)
cad.add(sketch,f2)
cad.add(sketch,f3)
コード例 #26
0
ファイル: fillet0.py プロジェクト: Heeks/heekspython-old
#very simple fillet demo
#the end points of the lines must be trimmed first or you 
#will get an error from HeeksCAD


import HeeksPython as cad
cad.sketch()
sketch = cad.getlastobj()
cad.line(0,1,4,1)
l1= cad.getlastobj()
cad.line(4,1,4,2)
l2= cad.getlastobj()
cad.add(sketch,l1)
cad.add(sketch,l2)
cad.fillet2d(sketch,4,1,0,.1)
cad.reorder(sketch)




コード例 #27
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)
コード例 #28
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
コード例 #29
0
ファイル: example.py プロジェクト: Heeks/heekspython-old
def make_beam_profile(beam_width,beam_height,beam_thickness):
    cad.sketch()
    sketch = cad.getlastobj()

    cad.line(-beam_width/2.0,-beam_height/2.0,beam_width/2.0,-beam_height/2.0)
    cad.add(sketch,cad.getlastobj())
    cad.line(-beam_width/2.0,-beam_height/2.0,-beam_width/2.0,-beam_height/2.0+beam_thickness)
    cad.add(sketch,cad.getlastobj())
    cad.line(-beam_width/2.0,-beam_height/2.0+beam_thickness,-beam_thickness/2.0,-beam_height/2.0+beam_thickness)
    cad.add(sketch,cad.getlastobj())
    cad.line(beam_thickness/2.0,-beam_height/2.0+beam_thickness,beam_width/2.0,-beam_height/2.0+beam_thickness)
    cad.add(sketch,cad.getlastobj())
    cad.line(beam_width/2.0,-beam_height/2.0+beam_thickness,beam_width/2.0,-beam_height/2.0)
    cad.add(sketch,cad.getlastobj())
    
    cad.line(beam_thickness/2.0,-beam_height/2.0+beam_thickness,beam_thickness/2.0,beam_height/2.0-beam_thickness)
    cad.add(sketch,cad.getlastobj())
    cad.line(-beam_thickness/2.0,-beam_height/2.0+beam_thickness,-beam_thickness/2.0,beam_height/2.0-beam_thickness)
    cad.add(sketch,cad.getlastobj())
    
    cad.line(-beam_width/2.0,beam_height/2.0,beam_width/2.0,beam_height/2.0)
    cad.add(sketch,cad.getlastobj())
    cad.line(-beam_width/2.0,beam_height/2.0,-beam_width/2.0,beam_height/2.0-beam_thickness)
    cad.add(sketch,cad.getlastobj())
    cad.line(-beam_width/2.0,beam_height/2.0-beam_thickness,-beam_thickness/2.0,beam_height/2.0-beam_thickness)
    cad.add(sketch,cad.getlastobj())
    cad.line(beam_thickness/2.0,beam_height/2.0-beam_thickness,beam_width/2.0,beam_height/2.0-beam_thickness)
    cad.add(sketch,cad.getlastobj())
    cad.line(beam_width/2.0,beam_height/2.0-beam_thickness,beam_width/2.0,beam_height/2.0)
    cad.add(sketch,cad.getlastobj())
    
    cad.reorder(sketch);
    return sketch
コード例 #30
0
ファイル: example.py プロジェクト: gokmonk/heekspython-old
def make_beam_profile(beam_width, beam_height, beam_thickness):
    cad.sketch()
    sketch = cad.getlastobj()

    cad.line(-beam_width / 2.0, -beam_height / 2.0, beam_width / 2.0,
             -beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())
    cad.line(-beam_width / 2.0, -beam_height / 2.0, -beam_width / 2.0,
             -beam_height / 2.0 + beam_thickness)
    cad.add(sketch, cad.getlastobj())
    cad.line(-beam_width / 2.0, -beam_height / 2.0 + beam_thickness,
             -beam_thickness / 2.0, -beam_height / 2.0 + beam_thickness)
    cad.add(sketch, cad.getlastobj())
    cad.line(beam_thickness / 2.0, -beam_height / 2.0 + beam_thickness,
             beam_width / 2.0, -beam_height / 2.0 + beam_thickness)
    cad.add(sketch, cad.getlastobj())
    cad.line(beam_width / 2.0, -beam_height / 2.0 + beam_thickness,
             beam_width / 2.0, -beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())

    cad.line(beam_thickness / 2.0, -beam_height / 2.0 + beam_thickness,
             beam_thickness / 2.0, beam_height / 2.0 - beam_thickness)
    cad.add(sketch, cad.getlastobj())
    cad.line(-beam_thickness / 2.0, -beam_height / 2.0 + beam_thickness,
             -beam_thickness / 2.0, beam_height / 2.0 - beam_thickness)
    cad.add(sketch, cad.getlastobj())

    cad.line(-beam_width / 2.0, beam_height / 2.0, beam_width / 2.0,
             beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())
    cad.line(-beam_width / 2.0, beam_height / 2.0, -beam_width / 2.0,
             beam_height / 2.0 - beam_thickness)
    cad.add(sketch, cad.getlastobj())
    cad.line(-beam_width / 2.0, beam_height / 2.0 - beam_thickness,
             -beam_thickness / 2.0, beam_height / 2.0 - beam_thickness)
    cad.add(sketch, cad.getlastobj())
    cad.line(beam_thickness / 2.0, beam_height / 2.0 - beam_thickness,
             beam_width / 2.0, beam_height / 2.0 - beam_thickness)
    cad.add(sketch, cad.getlastobj())
    cad.line(beam_width / 2.0, beam_height / 2.0 - beam_thickness,
             beam_width / 2.0, beam_height / 2.0)
    cad.add(sketch, cad.getlastobj())

    cad.reorder(sketch)
    return sketch
コード例 #31
0
ファイル: facegear.py プロジェクト: Heeks/heekspython-old
        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)






  
コード例 #32
0
    l1 = cad.getlastobj()
    cad.line(originx + width, originy, originx + width, originy + length)
    l2 = cad.getlastobj()
    cad.line(originx + width, originy + length, originx, originy + length)
    l3 = cad.getlastobj()
    cad.line(originx, originy + length, originx, originy)
    l4 = cad.getlastobj()
    cad.add(sketch, l1)
    cad.add(sketch, l2)
    cad.add(sketch, l3)
    cad.add(sketch, l4)
    cad.fillet2d(sketch, originx, originy, 0, rad)
    cad.fillet2d(sketch, originx + width, originy, 0, rad)
    cad.fillet2d(sketch, originx + width, originy + length, 0, rad)
    cad.fillet2d(sketch, originx, originy + length, 0, rad)
    cad.reorder(sketch)
    cad.extrude(sketch, height * scale)


cad.setcolor(100, 200, 55)
make_rect(originx, originy, width, length, corner_rad, height, scale)
b1 = cad.getlastobj()
box2_width = width * .6
box2_length = length * .6
make_rect(((originx + width * .5) - box2_width * .5),
          ((originy + length * .5) - box2_length * .5), box2_width,
          box2_length, corner_rad * .75, height, scale)
b2 = cad.getlastobj()
cad.cut(b1, b2)
cad.view_extents()
コード例 #33
0
ファイル: cut_example.py プロジェクト: Heeks/heekspython-old
import HeeksPython as cad
def cut_it(obj1,obj2):
    cad.cut(obj1,obj2)
    newobj = cad.getlastobj()
    cad.remove(obj1)
    cad.changed()
    cad.remove(newobj)
    return newobj


cad.cuboid(0,0,0,1,1,1)
c1 = cad.getlastobj()
cad.cylinder(0,0,0,.5,1)
c2 = cad.getlastobj()
n1 = cut_it(c1,c2)

cad.cylinder(1,0,0,.5,1)
c3 = cad.getlastobj()
n2 = cut_it(n1,c3)

cad.cylinder(1,1,0,.5,1)
c4 = cad.getlastobj()
n3 = cut_it(n2,c4)

cad.cylinder(0,1,0,.5,1)
c5 = cad.getlastobj()
n4 = cut_it(n3,c5)

cad.ve()

コード例 #34
0
#this little script shows how to use the 'revolve' function
#used for revolving sketches around X axis to form a solid
#like a turned part on a lathe

import HeeksPython as cad
cad.sketch()
sketch = cad.getlastobj()
cad.line(0, 1, 4, 1)
l1 = cad.getlastobj()
cad.line(4, 1, 4, 2)
l2 = cad.getlastobj()
cad.line(4, 2, 0, 2)
l3 = cad.getlastobj()
cad.line(0, 2, 0, 1)
l4 = cad.getlastobj()
cad.add(sketch, l1)
cad.add(sketch, l2)
cad.add(sketch, l3)
cad.add(sketch, l4)
cad.reorder(sketch)
cad.revolve(sketch, 360)
コード例 #35
0
    cad.sketch()
    sketch = cad.getlastobj()
    cad.line(originx,originy,originx+width,originy)
    l1= cad.getlastobj()
    cad.line(originx+width,originy,originx+width,originy+length)
    l2= cad.getlastobj()
    cad.line(originx+width,originy+length,originx,originy+length)
    l3= cad.getlastobj()
    cad.line(originx,originy+length,originx,originy)
    l4= cad.getlastobj()
    cad.add(sketch,l1)
    cad.add(sketch,l2)
    cad.add(sketch,l3)
    cad.add(sketch, l4)
    cad.fillet2d(sketch,originx,originy,0, rad)
    cad.fillet2d(sketch,originx+width,originy,0,rad)
    cad.fillet2d(sketch,originx+width,originy+length,0,rad)
    cad.fillet2d(sketch,originx,originy+length,0,rad)
    cad.reorder(sketch)
    cad.extrude(sketch,height*scale)

cad.setcolor(100, 200, 55)
make_rect(originx,originy,width,length,corner_rad,height,scale)
b1= cad.getlastobj()
box2_width=width*.6
box2_length=length*.6
make_rect(((originx+width*.5)-box2_width*.5),((originy+length*.5)-box2_length*.5),box2_width,box2_length,corner_rad*.75,height,scale)
b2 = cad.getlastobj()
cad.cut(b1,b2)
cad.view_extents()