Files
kickdrawers/mealie_bins_v2.py
2022-06-27 12:12:44 -04:00

67 lines
2.3 KiB
Python

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)