import os import datetime as dt print(str(dt.datetime.now())) import importlib as ir from cadquery import exporters as et try: try: root_dir = r'C:\\Users\\TheBears\\Seafile\\Designs\\Projects\\kickdrawers\\cadfree\\code\\' os.chdir(root_dir) except: root_dir = r'C:\\Users\\Ishan\\Seafile\\Designs\\Projects\\kickdrawers\\cadfree\\code\\' os.chdir(root_dir) except: root_dir = r'/home/thebears/Seafile/Designs/Projects/kickdrawers/cadfree/code' os.chdir(root_dir) import items as it import util as u import cadquery as cq ir.reload(it) ir.reload(u) def xy_wp(): return cq.Workplane('XY') def xz_wp(): return cq.Workplane('XZ') def yz_wp(): return cq.Workplane('YZ') width = 14*25.4 depth = 9*25.4 height = 3*25.4 t = 25.4/8 base = u.add_rect(xy_wp(), width, depth).extrude(t) left = u.add_rect(yz_wp(), depth, height).extrude(t) right = u.add_rect(yz_wp(), depth, height).extrude(-t).translate((width,0,0)) front = u.add_rect(xz_wp(), width, height).extrude(-t) back = u.add_rect(xz_wp(), width, height).extrude(-t).translate((0,depth-t,0)) base, left = u.make_fingers(base, left, num_tabs = 7, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) base, right = u.make_fingers(base, right, num_tabs = 7, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) base, front = u.make_fingers(base, front, num_tabs = 9, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) base, back = u.make_fingers(base, back, num_tabs = 9, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) left, back = u.make_fingers(left, back, num_tabs = 4, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) left, front = u.make_fingers(left, front, num_tabs = 4, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) right, back = u.make_fingers(right, back, num_tabs = 4, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) right, front = u.make_fingers(right, front, num_tabs = 4, skip_nut_slots_A = True, skip_nut_slots_B = True, swap_ab = True) objs = [base, left, right, front, back] for x in objs: show_object(x) u.save_stls([objs], os.path.join(root_dir,'mealie_bins'), 'mealie_bins', tolerance=0.01)