예제 #1
0
파일: arm.py 프로젝트: DanNixon/HackyRacer
def projection():
    from . import arm_mount
    magic_1 = (arm_mount.face_diameter / 2.)

    bar = sp.translate(
        (0., -magic_1, 0.))(plate.projection(size=(width, length + magic_1)))

    mounting_holes = place_mounting_holes(
        drilled_hole.projection(mounting_hole_diameter))

    tie_rod_holes = spu.back(tie_rod_hole_offset)(place_at_centres(
        (tie_rod_hole_centres, 0.),
        drilled_hole.projection(tie_rod_hole_diameter)))

    return bar - mounting_holes - tie_rod_holes
예제 #2
0
def projection():
    d = (height / 2.) - magic_1

    panel = spu.forward(d)(plate.projection(size=(width, height),
                                            radius=10,
                                            center=True))

    mounting_holes = place_at_centres([mounting_hole_centres, 0],
                                      drilled_hole.projection(8))

    rear_light_holes = spu.forward(light_y_offset)([
        place_at_centres([x, 0], lights.small.holes()) for x in light_centres
    ])

    return panel - mounting_holes - rear_light_holes
예제 #3
0
def projection():
    d = (height / 2.) - below_frame

    panel = spu.forward(d)(
        plate.projection(size=(width, height), radius=10, center=True)
    )

    mounting_holes = place_at_centres(
        [mounting_hole_centres, 0], drilled_hole.projection(8)
    )

    small_light_holes = spu.forward(small_light_y_offset)(
        place_at_centres([small_light_centres, 0], lights.small.holes())
    )

    large_light_holes = spu.forward(large_light_y_offset)(
        place_at_centres([large_light_centres, 0], lights.large.holes())
    )

    return panel - mounting_holes - small_light_holes - large_light_holes
예제 #4
0
def projection():
    cu = 30.
    cd = -30.

    def arm(a, b):
        return sp.hull()(
            sp.translate(a)(sp.circle(d=20., segments=32)),
            sp.translate(b)(sp.circle(d=25., segments=32)),
        )

    # Drill these holes in the existing steering wheel
    box_mounting_holes = instrument_panel.place_mounting_holes(
        drilled_hole.projection(diameter=4.))

    return sp.union()(
        sp.square((75., 75.), center=True),
        arm((-xu, yu), (0, cu)),
        arm((xu, yu), (0, cu)),
        arm((-xd, yd), (0, cd)),
        arm((xd, yd), (0, cd)),
    ) - place_mounting_holes(
        sp.circle(d=mounting_hole_diameter)) - box_mounting_holes
예제 #5
0
def holes():
    return spu.back(40.)(drilled_hole.projection(10.)),
예제 #6
0
def holes():
    # TODO: check dimensions
    return place_at_centres([20, 0], drilled_hole.projection(3))