def hex1(params, document): key = params["key"] d1 = params["d1"] k = params["k"] s = params["s"] h = params["h"] if h is None: h = 0.0 l = params["l"] name = params["name"] part = document.addObject("Part::Feature", name) # head a = s / math.tan(math.pi / 3.0) box1 = makeBox(a, s, k) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, k) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, k) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) head = box1.fuse(box2).fuse(box3) shaft_unthreaded = Part.makeCylinder(0.5 * d1, h + k) shaft_threaded = Part.makeCylinder(0.5 * d1, l - h) shaft_threaded.translate(Vector(0, 0, h + k)) part.Shape = head.fuse(shaft_unthreaded).fuse(shaft_threaded).removeSplitter()
def hex1(params, document): key = params['key'] d1 = params['d1'] k = params['k'] s = params['s'] h = params['h'] if h is None: h = 0. l = params['l'] name = params['name'] part = document.addObject("Part::Feature", "BOLTS_part") part.Label = name #head a = s / math.tan(math.pi / 3.) box1 = makeBox(a, s, k) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, k) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, k) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) head = box1.fuse(box2).fuse(box3) shaft_unthreaded = Part.makeCylinder(0.5 * d1, h + k) shaft_threaded = Part.makeCylinder(0.5 * d1, l - h) shaft_threaded.translate(Vector(0, 0, h + k)) part.Shape = head.fuse(shaft_unthreaded).removeSplitter().fuse( shaft_threaded) #color thread color_face(part, 9)
def hex2(params, document): key = params["key"] d1 = params["d1"] k = params["k"] s = params["s"] b1 = params["b1"] b2 = params["b2"] b3 = params["b3"] l = params["l"] b = b3 if l < 125: b = b1 elif l < 200: b = b2 name = params["name"] part = document.addObject("Part::Feature", name) # head a = s / math.tan(math.pi / 3.0) box1 = makeBox(a, s, k) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, k) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, k) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) head = box1.fuse(box2).fuse(box3) shaft_unthreaded = Part.makeCylinder(0.5 * d1, l - b + k) shaft_threaded = Part.makeCylinder(0.5 * d1, b) shaft_threaded.translate(Vector(0, 0, l - b + k)) part.Shape = head.fuse(shaft_unthreaded).fuse(shaft_threaded).removeSplitter()
def nut1(params, document): # key = params['key'] # not used d1 = params["d1"] s = params["s"] m_max = params["m_max"] name = params["name"] # r_fillet = 0.03*s # not used ATM part = document.addObject("Part::Feature", "BOLTS_part") part.Label = name # head a = s / math.tan(math.pi / 3.0) box1 = makeBox(a, s, m_max) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, m_max) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, m_max) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) head = box1.fuse(box2).fuse(box3) hole = Part.makeCylinder(0.5 * d1, 2 * m_max) nut = head.cut(hole) # nut = nut.makeFillet(r_fillet,nut.Edges) part.Shape = nut.removeSplitter() # color thread color_face(part, 7)
def nut1(params,document): key = params['key'] d1 = params['d1'] s = params['s'] m_max = params['m_max'] name = params['name'] r_fillet = 0.03*s part = document.addObject("Part::Feature","BOLTS_part") part.Label = name #head a = s/math.tan(math.pi/3.) box1 = makeBox(a,s,m_max) box1.translate(Vector(-0.5*a,-0.5*s,0)) box1.rotate(Vector(0,0,0),Vector(0,0,1),30) box2 = makeBox(a,s,m_max) box2.translate(Vector(-0.5*a,-0.5*s,0)) box2.rotate(Vector(0,0,0),Vector(0,0,1),150) box3 = makeBox(a,s,m_max) box3.translate(Vector(-0.5*a,-0.5*s,0)) box3.rotate(Vector(0,0,0),Vector(0,0,1),270) head = box1.fuse(box2).fuse(box3) hole = Part.makeCylinder(0.5*d1,2*m_max) nut = head.cut(hole) # nut = nut.makeFillet(r_fillet,nut.Edges) part.Shape = nut.removeSplitter() #color thread color_face(part,7)
def hex1(params,document): key = params['key'] d1 = params['d1'] k = params['k'] s = params['s'] h = params['h'] if h is None: h = 0. l = params['l'] name = params['name'] part = document.addObject("Part::Feature",name) #head a = s/math.tan(math.pi/3.) box1 = makeBox(a,s,k) box1.translate(Vector(-0.5*a,-0.5*s,0)) box1.rotate(Vector(0,0,0),Vector(0,0,1),30) box2 = makeBox(a,s,k) box2.translate(Vector(-0.5*a,-0.5*s,0)) box2.rotate(Vector(0,0,0),Vector(0,0,1),150) box3 = makeBox(a,s,k) box3.translate(Vector(-0.5*a,-0.5*s,0)) box3.rotate(Vector(0,0,0),Vector(0,0,1),270) head = box1.fuse(box2).fuse(box3) shaft_unthreaded = Part.makeCylinder(0.5*d1,h+k) shaft_threaded = Part.makeCylinder(0.5*d1,l-h) shaft_threaded.translate(Vector(0,0,h+k)) part.Shape = head.fuse(shaft_unthreaded).fuse(shaft_threaded)
def hex2(params,document): key = params['key'] d1 = params['d1'] k = params['k'] s = params['s'] b1 = params['b1'] b2 = params['b2'] b3 = params['b3'] l = params['l'] b = b3; if l < 125: b = b1 elif l < 200: b = b2 name = params['name'] part = document.addObject("Part::Feature",name) #head a = s/math.tan(math.pi/3.) box1 = makeBox(a,s,k) box1.translate(Vector(-0.5*a,-0.5*s,0)) box1.rotate(Vector(0,0,0),Vector(0,0,1),30) box2 = makeBox(a,s,k) box2.translate(Vector(-0.5*a,-0.5*s,0)) box2.rotate(Vector(0,0,0),Vector(0,0,1),150) box3 = makeBox(a,s,k) box3.translate(Vector(-0.5*a,-0.5*s,0)) box3.rotate(Vector(0,0,0),Vector(0,0,1),270) head = box1.fuse(box2).fuse(box3) shaft_unthreaded = Part.makeCylinder(0.5*d1,l-b+k) shaft_threaded = Part.makeCylinder(0.5*d1,b) shaft_threaded.translate(Vector(0,0,l-b+k)) part.Shape = head.fuse(shaft_unthreaded).fuse(shaft_threaded)
def nut1(params, document): key = params['key'] d1 = params['d1'] s = params['s'] m_max = params['m_max'] name = params['name'] r_fillet = 0.03 * s part = document.addObject("Part::Feature", name) #head a = s / math.tan(math.pi / 3.) box1 = makeBox(a, s, m_max) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, m_max) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, m_max) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) head = box1.fuse(box2).fuse(box3) hole = Part.makeCylinder(0.5 * d1, 2 * m_max) nut = head.cut(hole) # nut = nut.makeFillet(r_fillet,nut.Edges) part.Shape = nut.removeSplitter()
def hex_socket1(params, document): d1 = params['d1'] d2 = params['d2'] b1 = params['b1'] b2 = params['b2'] b3 = params['b3'] k_max = params['k_max'] s = params['s'] t = params['t'] L = params['L'] h_max = params['h_max'] l = params['l'] if l <= L: b = l - k_max - h_max elif l < 125: b = b1 elif l < 200: b = b2 else: b = b3 if b < 0: raise ValueError("Invalid threaded length: %s" % b) h = l - k_max - b #head head = makeCone(0.5 * d2, 0.5 * d1, k_max) #socket a = s / math.tan(math.pi / 3.) box1 = makeBox(a, s, t) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, t) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, t) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) socket = box1.fuse(box2).fuse(box3) shaft_unthreaded = makeCylinder(0.5 * d1, h + k_max) shaft_threaded = makeCylinder(0.5 * d1, b) shaft_threaded.translate(Vector(0, 0, h + k_max)) name = params['name'] part = document.addObject("Part::Feature", "BOLTS_part") part.Label = name part.Shape = head.fuse(shaft_unthreaded).cut(socket).removeSplitter().fuse( shaft_threaded) #color thread color_face(part, 1)
def hex_socket1(params, document): d1 = params["d1"] d2 = params["d2"] b1 = params["b1"] b2 = params["b2"] b3 = params["b3"] k_max = params["k_max"] s = params["s"] t = params["t"] L = params["L"] h_max = params["h_max"] le = params["l"] if le <= L: b = le - k_max - h_max elif le < 125: b = b1 elif le < 200: b = b2 else: b = b3 if b < 0: raise ValueError("Invalid threaded length: %s" % b) h = le - k_max - b # head head = makeCone(0.5 * d2, 0.5 * d1, k_max) # socket a = s / math.tan(math.pi / 3.0) box1 = makeBox(a, s, t) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, t) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, t) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) socket = box1.fuse(box2).fuse(box3) shaft_unthreaded = makeCylinder(0.5 * d1, h + k_max) shaft_threaded = makeCylinder(0.5 * d1, b) shaft_threaded.translate(Vector(0, 0, h + k_max)) name = params["name"] part = document.addObject("Part::Feature", "BOLTS_part") part.Label = name part.Shape = head.fuse(shaft_unthreaded).cut(socket).removeSplitter().fuse( shaft_threaded) # color thread color_face(part, 1)
def hex_socket1(params,document): d1 = params['d1'] d2 = params['d2'] b1 = params['b1'] b2 = params['b2'] b3 = params['b3'] k_max = params['k_max'] s = params['s'] t = params['t'] L = params['L'] h_max = params['h_max'] l = params['l'] if l <= L: b = l - k_max - h_max elif l < 125: b = b1 elif l < 200: b = b2 else: b = b3 if b < 0: raise ValueError("Invalid threaded length: %s" % b) h = l - k_max - b #head head = makeCone(0.5*d2,0.5*d1,k_max) #socket a = s/math.tan(math.pi/3.) box1 = makeBox(a,s,t) box1.translate(Vector(-0.5*a,-0.5*s,0)) box1.rotate(Vector(0,0,0),Vector(0,0,1),30) box2 = makeBox(a,s,t) box2.translate(Vector(-0.5*a,-0.5*s,0)) box2.rotate(Vector(0,0,0),Vector(0,0,1),150) box3 = makeBox(a,s,t) box3.translate(Vector(-0.5*a,-0.5*s,0)) box3.rotate(Vector(0,0,0),Vector(0,0,1),270) socket = box1.fuse(box2).fuse(box3) shaft_unthreaded = makeCylinder(0.5*d1,h+k_max) shaft_threaded = makeCylinder(0.5*d1,b) shaft_threaded.translate(Vector(0,0,h+k_max)) name = params['name'] part = document.addObject("Part::Feature","BOLTS_part") part.Label = name part.Shape = head.fuse(shaft_unthreaded).cut(socket).removeSplitter().fuse(shaft_threaded) #color thread color_face(part,1)
def hex_socket2(params, document): d1 = params['d1'] d2 = params['d2'] b = params['b'] k = params['k'] s = params['s'] t = params['t_min'] L = params['L'] l = params['l'] if l <= L: h = 0 else: h = l - b if h < 0: raise ValueError("l is too short, resulting in negative h") #head head = makeCylinder(0.5 * d2, k) #socket a = s / math.tan(math.pi / 3.) box1 = makeBox(a, s, t) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, t) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, t) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) socket = box1.fuse(box2).fuse(box3) shaft_unthreaded = makeCylinder(0.5 * d1, h + k) shaft_threaded = makeCylinder(0.5 * d1, b) shaft_threaded.translate(Vector(0, 0, h + k)) name = params['name'] part = document.addObject("Part::Feature", "BOLTS_part") part.Label = name part.Shape = head.fuse(shaft_unthreaded).cut(socket).removeSplitter().fuse( shaft_threaded) #color thread color_face(part, 1)
def hex_socket2(params,document): d1 = params['d1'] d2 = params['d2'] b = params['b'] k = params['k'] s = params['s'] t = params['t_min'] L = params['L'] l = params['l'] if l <= L: h = 0 else: h = l - b if h < 0: raise ValueError("l is too short, resulting in negative h") #head head = makeCylinder(0.5*d2,k) #socket a = s/math.tan(math.pi/3.) box1 = makeBox(a,s,t) box1.translate(Vector(-0.5*a,-0.5*s,0)) box1.rotate(Vector(0,0,0),Vector(0,0,1),30) box2 = makeBox(a,s,t) box2.translate(Vector(-0.5*a,-0.5*s,0)) box2.rotate(Vector(0,0,0),Vector(0,0,1),150) box3 = makeBox(a,s,t) box3.translate(Vector(-0.5*a,-0.5*s,0)) box3.rotate(Vector(0,0,0),Vector(0,0,1),270) socket = box1.fuse(box2).fuse(box3) shaft_unthreaded = makeCylinder(0.5*d1,h+k) shaft_threaded = makeCylinder(0.5*d1,b) shaft_threaded.translate(Vector(0,0,h+k)) name = params['name'] part = document.addObject("Part::Feature","BOLTS_part") part.Label = name part.Shape = head.fuse(shaft_unthreaded).cut(socket).removeSplitter().fuse(shaft_threaded) #color thread color_face(part,1)
def hex2(params, document): key = params['key'] d1 = params['d1'] k = params['k'] s = params['s'] b1 = params['b1'] b2 = params['b2'] b3 = params['b3'] l = params['l'] b = b3 if l < 125: b = b1 elif l < 200: b = b2 name = params['name'] part = document.addObject("Part::Feature", "BOLTS_part") part.Label = name #head a = s / math.tan(math.pi / 3.) box1 = makeBox(a, s, k) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, k) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, k) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) head = box1.fuse(box2).fuse(box3) shaft_unthreaded = Part.makeCylinder(0.5 * d1, l - b + k) shaft_threaded = Part.makeCylinder(0.5 * d1, b) shaft_threaded.translate(Vector(0, 0, l - b + k)) part.Shape = head.fuse(shaft_unthreaded).removeSplitter().fuse( shaft_threaded) #color thread color_face(part, 9)
def hex2(params, document): # key = params['key'] # not used d1 = params["d1"] k = params["k"] s = params["s"] b1 = params["b1"] b2 = params["b2"] b3 = params["b3"] le = params["l"] b = b3 if le < 125: b = b1 elif le < 200: b = b2 name = params["name"] part = document.addObject("Part::Feature", "BOLTS_part") part.Label = name # head a = s / math.tan(math.pi / 3.0) box1 = makeBox(a, s, k) box1.translate(Vector(-0.5 * a, -0.5 * s, 0)) box1.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 30) box2 = makeBox(a, s, k) box2.translate(Vector(-0.5 * a, -0.5 * s, 0)) box2.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 150) box3 = makeBox(a, s, k) box3.translate(Vector(-0.5 * a, -0.5 * s, 0)) box3.rotate(Vector(0, 0, 0), Vector(0, 0, 1), 270) head = box1.fuse(box2).fuse(box3) shaft_unthreaded = Part.makeCylinder(0.5 * d1, le - b + k) shaft_threaded = Part.makeCylinder(0.5 * d1, b) shaft_threaded.translate(Vector(0, 0, le - b + k)) part.Shape = head.fuse(shaft_unthreaded).removeSplitter().fuse( shaft_threaded) # color thread color_face(part, 9)