Example #1
0
    ε = shapeoko.register(XY.Empty())
    shapeoko.head = ε
    ws = Workspace(shapeoko)

    # test queuing
    ws.optimise_queue(True)
    ws.pause()
    imcb = lambda im:im.show()
    ws.enqueue(ε, [Vector(0,0)], lambda _:print(0), {}, {})
    ws.enqueue(ε, [Vector(0.05,0.05)], lambda _:print(1), {}, {})
    ws.enqueue(ε, [Vector(0.06,0.05)], lambda _:print(2), {}, {})
    ws.enqueue(ε, [Vector(0.05,0.04)], lambda _:print(3), {}, {})
    ws.enqueue(ε, [Vector(0.08,0.08)], lambda _:print(4), {}, {})
    ws.enqueue(ε, [Vector(0.05,0.05)], lambda _:print(5), {}, {})
    ws.enqueue(ε, [Vector(0.02,0.05)], lambda _:print(6), {}, {})
    ws.play()

    time.sleep(2)
    ws.wait()
    num = input("How many random coordinates? ")

    random.seed()
    uni = random.uniform
    rcoord = lambda:Vector(uni(0,0.1), uni(0,0.1))
    for i in range(int(num) // 2):
        ws.enqueue(ε, [rcoord()], lambda _:None, {}, {})

    ws.optimise_queue(False)
    ws.enqueue(ε, [rcoord() for i in range(int(num) - (int(num) // 2))], lambda _:None, {}, {})
    ws.enqueue(ε, [Vector(0, 0)], lambda _:None, {}, {})