# This script is used for asset generation of an asset with nine T25 flasks in the sideview stand. # Assets are used to define arenas and zones within the well plate for data collection. # The assets generated from running this script are then used within your experimental scripts. # These files can be found in the assets directory of the Zantiks homepage. DEFINE SHOWTIME 3 # Geometric definition for well plate DEFINE X_OFFSET 36.5 # Moves across the horizontal plane DEFINE Y_OFFSET 32.5 # Moves up/down the vertical plane DEFINE X_STEP 50 # Spacing between arenas, X DEFINE Y_STEP 100 # Spacing between arenas, Y DEFINE ARENA_HT 56.5 DEFINE ARENA_WIDTH 50 DEFINE ARENA_WIDTH_M 23 DEFINE NUM_HORI_ZONES 3 DEFINE NUM_SHELVES 3 DEFINE NUM_TANKS_PER_SHELF 3 @98 = NUM_TANKS_PER_SHELF * 2 @99 = ARENA_HT / NUM_HORI_ZONES # Generate arena and zone files ACTION MAIN INVOKE(GT253D) # Generate arena/zone files (repeatedly, for display) COMPLETE # Generate arena and zone files cont. ACTION GT253D INVOKE(GT253D_arenas,1) # Draw arenas WAIT(SHOWTIME) # Delay for (auto) display of asset INVOKE(GT253D_Zones,1) # Draw zones WAIT(SHOWTIME) # Delay for (auto) display of asset COMPLETE # Generate arenas ACTION GT253D_arenas ResetDrawing() # Restore everything to default (ClearDrawing just clears the image) @200 = 0 # Select arenas mode @201 = 0 INVOKE(GT253D_DRAW,1) # Generate arenas SaveDrawing("a_T253D") # Save result to disk COMPLETE ACTION GT253D_Zones ResetDrawing() # Restore everything to default (ClearDrawing just clears the image) ShapeType(RECTANGLE,10,18.5) @200 = 1 # Upper zone @201 = 0 - @99 INVOKE(GT253D_DRAW,1) @200 = 2 # Middle zone @201 = 0 INVOKE(GT253D_DRAW,1) @200 = 3 # Lower zone @201 = @99 INVOKE(GT253D_DRAW,1) SaveDrawing("z_T253D") # Save result to disk COMPLETE # Generate 96-well arenas/zones. Uses @200 to select between arenas mode (if 0) # and zones mode (in which case the variable contains the zone number). ACTION GT253D_DRAW @102 = 0 # Row counter @101 = Y_OFFSET + @201 # Y position @110 = 1 # Arena while @102 < NUM_SHELVES # While more shelves to do... @103 = 0 # Column @100 = X_OFFSET # X Position @111 = 0 # size of rectangle - mirrored view or while @103 < @98 # While more columns to do.... if @200 = 0 # Arena or zones mode? if @111 = 0 ShapeType(RECTANGLE,ARENA_WIDTH_M,ARENA_HT) endif if @111 = 1 ShapeType(RECTANGLE,ARENA_WIDTH,ARENA_HT) endif Set(DrawArena,@110) # Arena else endif ShapeDraw(@100,@101) # Put shape at current position @100 = @100 + X_STEP # Update X @103 = @103 + 1 # Update Column @110 = @110 + 1 # Update arena counter if @111 = 1 @111 = 0 else @111 = 1 endif endwhile # ...columns @101 = @101 + Y_STEP # Update Y position @102 = @102 + 1 # Update row number endwhile # ...rows COMPLETE