Example #1
0
def print_bladder_bus_line():
    emb3DMatrixPrinting.move_x(
        -1 * bladder_spacing * (num_bladders) + 0.25 * bladder_spacing
    )  # the 0.25*bladder_spacing offset gets the bus bar right over the last bladder and prevents crosstalk with fancy sensor
    emb3DMatrixPrinting.print_mode(print_height_abs=bus_line_print_height,
                                   print_speed=bus_line_print_speed)
    emb3DMatrixPrinting.move_x(
        bladder_spacing *
        (num_bladders - 0.5))  ### the -0.5 could be a variable
def print_bladders():
    for bladder in range(num_bladders):    
        emb3DMatrixPrinting.print_mode(print_height_abs = bladder_print_height, print_speed = 20)
        emb3DPGlobals.g.feed(bladder_print_speed)
        for layer in range(bladder_layers):
            print_void_layer(length = bladder_length, width = bladder_width)
            emb3DPGlobals.g.move(z = bladder_layer_increment)
        emb3DMatrixPrinting.travel_mode()
        emb3DMatrixPrinting.move_x(bladder_spacing)
Example #3
0
def print_bladders():
    for bladder in range(num_bladders):
        emb3DMatrixPrinting.print_mode(print_height_abs=bladder_print_height,
                                       print_speed=20)
        emb3DPGlobals.g.feed(bladder_print_speed)
        for layer in range(bladder_layers):
            print_void_layer(length=bladder_length, width=bladder_width)
            emb3DPGlobals.g.move(z=bladder_layer_increment)
        emb3DMatrixPrinting.travel_mode()
        emb3DMatrixPrinting.move_x(bladder_spacing)
def print_spacer_void_layer(length, width):
    emb3DPGlobals.g.feed(spacer_print_speed)
    emb3DMatrixPrinting.move_y(length/2.0)
    emb3DPGlobals.g.feed(spacer_print_speed * edge_reduction_factor)
    emb3DMatrixPrinting.move_x(width)
    emb3DPGlobals.g.feed(spacer_print_speed)
    emb3DMatrixPrinting.move_y(-1*length)
    emb3DPGlobals.g.feed(spacer_print_speed * edge_reduction_factor)
    emb3DMatrixPrinting.move_x(-1*width)
    emb3DPGlobals.g.feed(spacer_print_speed)
    emb3DMatrixPrinting.move_y(length/2.0)
Example #5
0
def print_spacer_void_layer(length, width):
    emb3DPGlobals.g.feed(spacer_print_speed)
    emb3DMatrixPrinting.move_y(length / 2.0)
    emb3DPGlobals.g.feed(spacer_print_speed * edge_reduction_factor)
    emb3DMatrixPrinting.move_x(width)
    emb3DPGlobals.g.feed(spacer_print_speed)
    emb3DMatrixPrinting.move_y(-1 * length)
    emb3DPGlobals.g.feed(spacer_print_speed * edge_reduction_factor)
    emb3DMatrixPrinting.move_x(-1 * width)
    emb3DPGlobals.g.feed(spacer_print_speed)
    emb3DMatrixPrinting.move_y(length / 2.0)
def print_bladder_spacers():
    emb3DMatrixPrinting.travel_mode()
    for spacer in range(num_spacers):
        emb3DMatrixPrinting.move_x(spacer_spacing)
        ######### 2015.10.12  spacer_print_height = substrate_zero + spacer_layer_increment
        emb3DMatrixPrinting.print_mode(print_height_abs = spacer_print_height, print_speed = 20)
        emb3DPGlobals.g.feed(spacer_print_speed)
        for layer in range(spacer_layers):
            print_spacer_void_layer(length = spacer_length, width = spacer_width)
            emb3DPGlobals.g.feed(10)
            emb3DPGlobals.g.move(z = spacer_layer_increment)
            emb3DPGlobals.g.feed(spacer_print_speed)
        emb3DMatrixPrinting.travel_mode()
Example #7
0
def print_bladder_spacers():
    emb3DMatrixPrinting.travel_mode()
    for spacer in range(num_spacers):
        emb3DMatrixPrinting.move_x(spacer_spacing)
        ######### 2015.10.12  spacer_print_height = substrate_zero + spacer_layer_increment
        emb3DMatrixPrinting.print_mode(print_height_abs=spacer_print_height,
                                       print_speed=20)
        emb3DPGlobals.g.feed(spacer_print_speed)
        for layer in range(spacer_layers):
            print_spacer_void_layer(length=spacer_length, width=spacer_width)
            emb3DPGlobals.g.feed(10)
            emb3DPGlobals.g.move(z=spacer_layer_increment)
            emb3DPGlobals.g.feed(spacer_print_speed)
        emb3DMatrixPrinting.travel_mode()
def print_connectors():
    emb3DMatrixPrinting.travel_mode()
    emb3DMatrixPrinting.move_x(-1*ClosedLoopActuator_ActuatorOnly.spacer_spacing*(ClosedLoopActuator_ActuatorOnly.num_spacers-1)-1*ClosedLoopActuator_ActuatorOnly.bladder_spacing/2.0)
    emb3DPGlobals.g.move(x = -connector_offset, y = -ClosedLoopActuator_ActuatorOnly.spacer_length/2 + top_y_offset)
    for connector in range(num_bladders):
        emb3DMatrixPrinting.print_mode(print_height_abs = connector_print_height, print_speed = connector_print_speed)
        emb3DPGlobals.g.move(x = 2* connector_offset + ClosedLoopActuator_ActuatorOnly.bladder_width)
        emb3DMatrixPrinting.travel_mode()
        emb3DPGlobals.g.move(x = ClosedLoopActuator_ActuatorOnly.spacer_spacing - 2* connector_offset - ClosedLoopActuator_ActuatorOnly.bladder_width)
    emb3DPGlobals.g.move(x = -ClosedLoopActuator_ActuatorOnly.spacer_spacing + 2* connector_offset + ClosedLoopActuator_ActuatorOnly.bladder_width, y = ClosedLoopActuator_ActuatorOnly.spacer_length - 2*top_y_offset)
    for connector in range(num_bladders):
        emb3DMatrixPrinting.print_mode(print_height_abs = connector_print_height, print_speed = top_print_speed)
        emb3DPGlobals.g.move(x = -2* connector_offset + -ClosedLoopActuator_ActuatorOnly.bladder_width)
        emb3DMatrixPrinting.travel_mode()
        emb3DPGlobals.g.move(x = -ClosedLoopActuator_ActuatorOnly.spacer_spacing + 2* connector_offset + ClosedLoopActuator_ActuatorOnly.bladder_width)
    emb3DPGlobals.g.move(x = ClosedLoopActuator_ActuatorOnly.spacer_spacing - connector_offset - ClosedLoopActuator_ActuatorOnly.bladder_width)   
    emb3DPGlobals.g.move(y = -ClosedLoopActuator_ActuatorOnly.spacer_length/2 + top_y_offset)  
def print_better_spokes():
    emb3DMatrixPrinting.move_x(-ClosedLoopActuator_ActuatorOnly.bladder_spacing + ClosedLoopActuator_ActuatorOnly.bladder_width + connector_offset) 
    emb3DMatrixPrinting.move_y(-ClosedLoopActuator_ActuatorOnly.spacer_length/2 + top_y_offset)      

    #first moving left on lower value y side
    for spokes in range(num_bladders):
        emb3DMatrixPrinting.print_mode(print_height_abs = connector_print_height, print_speed = spoke_print_speed)
        if (spokes != 0):
            emb3DPGlobals.g.move(z = top_print_height - connector_print_height)               
        else: # if first one, print shorter spoke for inlet
            emb3DPGlobals.g.move(z = fancy_sensor_inlet_print_height- connector_print_height)     
        emb3DMatrixPrinting.travel_mode()
        emb3DPGlobals.g.move(x= -2* connector_offset - ClosedLoopActuator_ActuatorOnly.bladder_width)
        emb3DMatrixPrinting.print_mode(print_height_abs = connector_print_height, print_speed = spoke_print_speed)
        emb3DPGlobals.g.move(z = top_print_height- connector_print_height)              
        emb3DMatrixPrinting.travel_mode()
        ### Edited on 2015.10.22 ######
        ## why is the code below different than the previous g.move(x = ...) move? 
        #emb3DPGlobals.g.move(x = -ClosedLoopActuator_ActuatorOnly.spacer_spacing + 2*connector_offset + ClosedLoopActuator_ActuatorOnly.bladder_width) 
        emb3DPGlobals.g.move(x= -2* connector_offset - ClosedLoopActuator_ActuatorOnly.bladder_width) 
        ############################### 
   
    emb3DPGlobals.g.move(x = ClosedLoopActuator_ActuatorOnly.spacer_spacing - 2* connector_offset - ClosedLoopActuator_ActuatorOnly.bladder_width)
    #emb3DMatrixPrinting.print_mode(print_height_abs = top_print_height, print_speed = spoke_print_speed)
    emb3DPGlobals.g.move(y = ClosedLoopActuator_ActuatorOnly.spacer_length - 2*top_y_offset)
    #emb3DMatrixPrinting.travel_mode()
    
    #then moving right on higher value y side
    for spokes in range(num_bladders):
        emb3DMatrixPrinting.print_mode(print_height_abs = connector_print_height, print_speed = spoke_print_speed)
        emb3DPGlobals.g.move(z = top_print_height - connector_print_height)
        emb3DMatrixPrinting.travel_mode()
        if (spokes == 0):
            emb3DMatrixPrinting.print_mode(print_height_abs = top_print_height, print_speed = spoke_print_speed)
            emb3DPGlobals.g.move(y = -(ClosedLoopActuator_ActuatorOnly.spacer_length - 2*top_y_offset))
            emb3DMatrixPrinting.travel_mode()
            emb3DPGlobals.g.move(y = ClosedLoopActuator_ActuatorOnly.spacer_length - 2*top_y_offset)
        emb3DPGlobals.g.move(x= 2* connector_offset + ClosedLoopActuator_ActuatorOnly.bladder_width)
        emb3DMatrixPrinting.print_mode(print_height_abs = connector_print_height, print_speed = spoke_print_speed)
        if (spokes != num_bladders-1):
            emb3DPGlobals.g.move(z = top_print_height - connector_print_height)
        else:# if first one, print shorter spoke for inlet
            emb3DPGlobals.g.move(z = fancy_sensor_inlet_print_height- connector_print_height)    
        emb3DMatrixPrinting.travel_mode()
        emb3DPGlobals.g.move(x = ClosedLoopActuator_ActuatorOnly.spacer_spacing - 2* connector_offset - ClosedLoopActuator_ActuatorOnly.bladder_width)
def print_contact_sensor_inlet():
    ## move these variables up to the top of the script:
    additional_y_offset_for_inlets = 2
    inlet_height_offset = 5 # before 20151005, this was equal to 4
    pre_inlet_print_speed = 2
    ##
    
    emb3DMatrixPrinting.move_x(ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)+(curvature_sensor_length_offset+2) + inlet_length_sensor)
    emb3DMatrixPrinting.move_y(sensor_width/2 + additional_y_offset_for_inlets)    
    emb3DMatrixPrinting.print_mode(print_height_abs = contact_layer_bottom - inlet_height_offset, print_speed = 20)
    emb3DPGlobals.g.feed(sensor_inlet_print_speed)
    emb3DPGlobals.g.move(x = -1 * inlet_length_sensor)
    emb3DPGlobals.g.feed(pre_inlet_print_speed)
    emb3DPGlobals.g.move(z = inlet_height_offset)
    #emb3DPGlobals.g.move(y = -1 * additional_y_offset_for_inlets)
    emb3DMatrixPrinting.travel_mode()
    emb3DPGlobals.g.move(x = inlet_length_sensor, y = -1*sensor_width - 2 * additional_y_offset_for_inlets)
    emb3DMatrixPrinting.print_mode(print_height_abs = contact_layer_bottom - inlet_height_offset, print_speed = 20)
    emb3DPGlobals.g.feed(sensor_inlet_print_speed)
    emb3DPGlobals.g.move(x = -1 * inlet_length_sensor)
    #emb3DPGlobabls.g.move(y = additional_y_offset_for_inlets)
    emb3DPGlobals.g.feed(pre_inlet_print_speed)
    emb3DPGlobals.g.move(z = inlet_height_offset)
    emb3DMatrixPrinting.travel_mode()
def print_curvature_sensor():
    emb3DMatrixPrinting.move_y(sensor_width/2)
    emb3DMatrixPrinting.move_x(ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)+(curvature_sensor_length_offset+2))
    emb3DMatrixPrinting.print_mode(print_height_abs = curvature_layer_bottom, print_speed = 20)
    emb3DPGlobals.g.feed(curvature_sensor_print_speed)
    #for meander in xrange(2):
    emb3DMatrixPrinting.move_x(-1*ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)-(curvature_sensor_length_offset+2))
    emb3DMatrixPrinting.move_y(-1*curvature_sensor_width)
    emb3DMatrixPrinting.move_x(ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)+(curvature_sensor_length_offset+2))
        #emb3DMatrixPrinting.move_y(-1*curvature_sensor_width/5)
    #emb3DMatrixPrinting.move_x(-1*ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)-(curvature_sensor_length_offset+2))
    #emb3DMatrixPrinting.move_y(-1*curvature_sensor_width/5)
    #emb3DMatrixPrinting.move_x(ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)+(curvature_sensor_length_offset+2))
    emb3DMatrixPrinting.travel_mode()
def print_contact_sensor():
    ## move these variables up to the top of the script:
    additional_y_offset_for_inlets = 2
    inlet_height_offset = 5 # before 20151005, this was equal to 4
    ##
    
    emb3DMatrixPrinting.move_x(ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)+(curvature_sensor_length_offset+2))
    emb3DMatrixPrinting.move_y(sensor_width/2 + additional_y_offset_for_inlets)
    emb3DMatrixPrinting.print_mode(print_height_abs = contact_layer_bottom, print_speed = 20)
    emb3DPGlobals.g.feed(curvature_sensor_print_speed)
    emb3DMatrixPrinting.move_y(-1*additional_y_offset_for_inlets)
    #for meander in xrange(2):
    emb3DMatrixPrinting.move_x(-1*ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)-(curvature_sensor_length_offset+2))
    emb3DMatrixPrinting.move_y(-1*curvature_sensor_width)
    emb3DMatrixPrinting.move_x(ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)+(curvature_sensor_length_offset+2))
    #emb3DMatrixPrinting.move_y(-1*curvature_sensor_width/5)
    #emb3DMatrixPrinting.move_x(-1*ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)-(curvature_sensor_length_offset+2))
    #emb3DMatrixPrinting.move_y(-1*curvature_sensor_width/5)
    #emb3DMatrixPrinting.move_x(ClosedLoopActuator_ActuatorOnly.bladder_spacing*(num_bladders-0.5)+(curvature_sensor_length_offset+2))
    emb3DMatrixPrinting.move_y(-1*additional_y_offset_for_inlets)
    emb3DMatrixPrinting.travel_mode()
def print_void_layer(length, width):
    emb3DMatrixPrinting.move_y(length/2.0)
    emb3DMatrixPrinting.move_x(width)
    emb3DMatrixPrinting.move_y(-1*length)
    emb3DMatrixPrinting.move_x(-1*width)
    emb3DMatrixPrinting.move_y(length/2.0)
Example #14
0
def print_bus_line_inlet():
    emb3DPGlobals.g.feed(bus_line_inlet_print_speed)
    emb3DMatrixPrinting.move_x(inlet_length_bus_line)
    emb3DMatrixPrinting.travel_mode()
    emb3DMatrixPrinting.move_x(-inlet_length_bus_line)
def print_bladder_bus_line():
    emb3DMatrixPrinting.move_x(-1*bladder_spacing*(num_bladders) + 0.25*bladder_spacing)        # the 0.25*bladder_spacing offset gets the bus bar right over the last bladder and prevents crosstalk with fancy sensor
    emb3DMatrixPrinting.print_mode(print_height_abs = bus_line_print_height, print_speed = bus_line_print_speed)          
    emb3DMatrixPrinting.move_x(bladder_spacing*(num_bladders-0.5))       ### the -0.5 could be a variable
def print_bus_line_inlet():
    emb3DPGlobals.g.feed(bus_line_inlet_print_speed)
    emb3DMatrixPrinting.move_x(inlet_length_bus_line)
    emb3DMatrixPrinting.travel_mode()
    emb3DMatrixPrinting.move_x(-inlet_length_bus_line)
Example #17
0
def print_void_layer(length, width):
    emb3DMatrixPrinting.move_y(length / 2.0)
    emb3DMatrixPrinting.move_x(width)
    emb3DMatrixPrinting.move_y(-1 * length)
    emb3DMatrixPrinting.move_x(-1 * width)
    emb3DMatrixPrinting.move_y(length / 2.0)