Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)