Shoes sizes: EU


Choose 3d models and print files based on your printer: conveyor belt or common (cartesian)


Use 0.6mm nozzle


Filament: Recreus Filaflex 82A, Overture 95A

Use TPU 95A first (Overture), don't use "high speed", "high flow" (too stiff, uncomfortable)



Use the print files (gcodes) instead of slicing. Upload the gcodes on an SD card and insert it on a belt printer or on a cartesian one with at least 256x256x256mm build volume. Launch the gcodes from the printer interface. Adjust temperature once the print starts to fit your filament needs.



Belt printers settings (Cura 4.9.1 with BeltPrinterSlicing plugin https://github.com/BirthT/BeltPrinterSlicing):

How to design and slice: https://www.youtube.com/watch?v=6ae-rzo_zJM

- layer height: 0.36mm
- infill line width: 0.4mm
- wall line count: 0
- top layers: 0
- bottom layers: 0
- initial bottom layers: 0
- infill line distance: 3mm
- infill pattern: grid
- connect infill lines: yes
- infill line direction: []
- randomize infill start: yes
- infill overlap: 0mm
- infill flow: 300% 
- enable print cooling: no
- generate supports: no
- infill speed: 15mm/s
- initial layer speed: 10mm/s
- number of slower layers: 12
- retraction distance: 15mm (also added wiping movement by postprocessing with the attached Python script*)
- retraction speed: 65mm/s
- retraction prime speed: 33mm/s
- combing mode: off
- relative extrusion: yes


settings modifier (100mm cube, rotated 45° and placed on the back of the shoe to improve initial layers print quality) 

infill line distance: 1.5mm



Cartesian printers settings (see Mirai_BambuStudio_Project.3mf)


- layer height: 0.36mm
- line width sparse infill: 0.9mm
- wall loops: 0
- top shell layers: 0
- bottom shell layers: 0
- sparse infill density: 43%
- Infill pattern: Grid
- Infill anchor: 1000 (unlimited)
- Max infill anchor: 1000 (unlimited)
- Infill direction: 45°
- Detect narrow internal solid infill: no
- Speed sparse infill: 18 mm/s
- Reduce infill retraction: no



Filament:

- Retraction: 2.4mm
- Wipe: no
- Z hop: 1.2mm, Normal type
- Max volumetric speed: 6 mm^3/s 




Website: https://www.riverfamily.art/

Contact: alessio@riverfamily.art




LICENSE: Public Domain

https://creativecommons.org/share-your-work/public-domain/cc0/

Also applies to pictures, videos and names





*Python script for retraction wiping movements


def modify_gcode_from_file(input_file, output_file):
    with open(input_file, 'r') as file:
        lines = file.readlines()
    
    modified_gcode = []
    
    for i in range(len(lines)):
        line = lines[i].strip()
        if line.startswith('G1') and 'E-15' in line:
            # Initial retraction of -9
            initial_retraction = -12
            modified_gcode.append(line.replace('E-15', f'E{initial_retraction}'))
            modified_gcode.append('; wipe start')
            
            # Check the previous six lines for wiping moves
            valid_coords = []
            for j in range(1, 7):
                if i - j >= 0 and (lines[i - j].strip().startswith('G1') or lines[i - j].strip().startswith('G0')):
                    parts = lines[i - j].strip().split()
                    coords_dict = {part[0]: part[1:] for part in parts if part.startswith('X') or part.startswith('Y')}
                    if coords_dict:
                        valid_coords.append(coords_dict)
            
            # Calculate the remaining retraction per wiping move
            num_wipes = len(valid_coords)
            if num_wipes > 0:
                per_wipe_retraction = round(3 / num_wipes, 2)
                # Add wiping movements with retraction
                for coords in valid_coords:
                    if 'X' in coords and 'Y' in coords:
                        modified_gcode.append(f'G1 F9000 X{coords["X"]} Y{coords["Y"]} E-{per_wipe_retraction}')
            
            modified_gcode.append('; wipe end')
        else:
            modified_gcode.append(line)
    
    with open(output_file, 'w') as file:
        file.write('\n'.join(modified_gcode))

# Example usage
input_file = 'Mirai_43.gcode'
output_file = 'wipe_' + input_file
modify_gcode_from_file(input_file, output_file)

