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)
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)
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
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
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
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
#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)
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
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
# 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)