コード例 #1
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)
コード例 #2
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)
コード例 #3
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        
コード例 #4
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
コード例 #5
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
コード例 #6
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
コード例 #7
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        
コード例 #8
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
コード例 #9
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
コード例 #10
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
コード例 #11
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)
コード例 #12
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	
コード例 #13
0
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)
cad.add(sketch, f4)
コード例 #14
0
ファイル: fillets.py プロジェクト: Heeks/heekspython-old
# 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,0,1,0, .1)
cad.fillet2d(sketch,4,1,0,.1)
cad.fillet2d(sketch,4,2,0,.1)
cad.fillet2d(sketch,0,2,0,.1)
cad.reorder(sketch)
コード例 #15
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)




コード例 #16
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)
コード例 #17
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