SteinWipe Motion Control - ORCA P1 User Manual
[{"type":"paragraph","children":[{"t":"text","v":"SWMC Release: ORCA_P1_SWMC_Machine_Preset_Feb.15.1.2025.3mf","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Developed On: Orca Slicer V.2.2.0","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Shipped Date: Feb.23.2025","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Welcome","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This manual covers the ORCA_P1_SWMC_Machine_Preset_Feb.15.1.2025 release of SteinWipe Motion Control (SWMC) for the Bambu Lab P1P and P1S running Orca Slicer. This is the Core 0 beta for the P1 Series on Orca; features are controlled by editing {if true} \/ {if false} toggles directly in the gcode.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This release has no stable Core 0 successor. Development attention shifted to the Core 1 SSD architecture during what would have been the Feb.15.2 stable cycle. The next Orca release for the P1 Series is ORCA_P1_Apr.28.1.2025 (Core 1 beta), which ships with the SteinSwitch Definition (SSD) architecture where features are keyword-configured in printer notes instead of edited in gcode.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For most users starting fresh today, Core 1 beta is the recommended path. This Core 0 beta remains available for users who prefer the original architecture or need access to specific Core 0 features, especially the Orca-only [[add_wipe_cycle_for_specific_layer]] SteinSwitch which targets layer-specific wipe scheduling differently than the Core 1 Template Custom G-code workflow.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"1. What\u0026#39;s in this release","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"1.1 The big picture","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Core 0 is the original SWMC architecture. Features are enabled and disabled by editing {if true} or {if false} lines in the gcode directly. This release is the only Core 0 version for the P1 Series on Orca Slicer; no stable Core 0 successor was produced.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This release ships as a single .3mf file that opens directly in Orca Slicer and installs as a printer preset. Once installed, you configure features by editing the gcode blocks tagged with SteinSwitch comments.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"1.2 What\u0026#39;s in this release","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"18 SteinSwitches covering startup wiping, nozzle inspection, chute tapping, mech test coordination, PA calibration, AMS purge handling, and Orca-only layer-specific wipe scheduling","b":false,"i":false}]},{"children":[{"t":"text","v":"DABL (Dynamic Auto Bed Leveling) support via the [[use_DABL]] SteinSwitch; P1 Series only, requires firmware 01.06.01.02 or later","b":false,"i":false}]},{"children":[{"t":"text","v":"Orca-only feature: [[add_wipe_cycle_for_specific_layer]] in the Before Layer Change gcode section lets users schedule wipe cycles at specific layer numbers by editing a condition inline","b":false,"i":false}]},{"children":[{"t":"text","v":"Straight-line wipe scrubbing pattern (arc motion arrived in the BBS Feb.15.2 stable; never backported to Orca Core 0)","b":false,"i":false}]},{"children":[{"t":"text","v":"Modified pause routine with optional post-pause wipe cycle","b":false,"i":false}]},{"children":[{"t":"text","v":"Quick wipe before tool change during AMS cycles","b":false,"i":false}]},{"children":[{"t":"text","v":"Return-to-print wipe cycle for layer changes","b":false,"i":false}]},{"children":[{"t":"text","v":"Template Custom G-code section for wiper calibration offsets","b":false,"i":false}]}]},{"type":"heading","level":4,"children":[{"t":"text","v":"1.3 How Orca differs from the BBS variant at Core 0","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Orca variant has 8 gcode sections (Start, End, ChangeFilament, Pause, LayerChange, BeforeLayerChange, ExtrusionRole, TemplateCustom); BBS has 6 (no BeforeLayerChange or ExtrusionRole). The two extra Orca sections come from Orca\u0026#39;s richer gcode hook system.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"One Orca-only SteinSwitch lives in the BeforeLayerChange section: [[add_wipe_cycle_for_specific_layer]]. This feature schedules wipe cycles at specific layer numbers by editing a conditional block inline. BBS users at Core 0 don\u0026#39;t have a direct equivalent; the closest Core 0 option on BBS is the LayerChange [[return_to_print_wipe_cycle]] SteinSwitch which wipes at every layer rather than specific ones.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"In Core 1, this feature evolves into the Template Custom G-code layer slider workflow, which works on both BBS and Orca.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"2. Before you install","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"2.1 Requirements","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Bambu Lab P1P or P1S printer","b":false,"i":false}]},{"children":[{"t":"text","v":"Orca Slicer version shown on this release\u0026#39;s card","b":false,"i":false}]},{"children":[{"t":"text","v":"The .3mf file linked from the release page","b":false,"i":false}]},{"children":[{"t":"text","v":"A SteinWipe V1 wiper mount installed on your P1 Series","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"The wipe features in this release require a SteinWipe V1 mount. Users without a mount installed can still use the chute tapping, mech test coordination, and DABL features, but the wipe-related SteinSwitches will not produce useful results.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"2.2 Install the wiper first, then calibrate","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If your SteinWipe wiper mount is not yet installed, install it before running any SWMC gcode. Wiper entry XY error greater than 0.5mm can tear the wiper pad on the very first wipe cycle, so mount alignment matters.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"After the mount is installed, run the calibration gcode from the release resources to measure your mount\u0026#39;s XY offsets. Those values get entered into the Template Custom G-code section of your printer preset once and stay put across updates.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Wiper mount reference","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"wiper_mount_installed | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinWipe V1 wiper mount installed on the rear panel of a Bambu Lab P1 Series. Mount bolted with M3 hardware through the backing plate - no tape.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"2.3 Skip calibration if","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"You ran calibration on this same wiper mount for a previous SWMC release and have not moved, unbolted, or replaced it.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"3. Installing the preset","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"These steps apply to the Orca Slicer version listed on this release\u0026#39;s card.","b":false,"i":false}]},{"type":"list","listType":"ordered","items":[{"children":[{"t":"text","v":"Download the .3mf file from the release resources on the release page.","b":false,"i":false}]},{"children":[{"t":"text","v":"Open Orca Slicer.","b":false,"i":false}]},{"children":[{"t":"text","v":"Import the ORCA_P1_SWMC_Machine_Preset_Feb.15.1.2025.3mf file into Orca.","b":false,"i":false}]},{"children":[{"t":"text","v":"If prompted, choose \u0026quot;Open as Project.\u0026quot;","b":false,"i":false}]},{"children":[{"t":"text","v":"Open your printer profile settings.","b":false,"i":false}]},{"children":[{"t":"text","v":"Save this profile as a new preset so updates do not overwrite your customizations.","b":false,"i":false}]},{"children":[{"t":"text","v":"Name the new preset anything you like; something like \u0026quot;P1 SWMC Feb.15.1 Orca\u0026quot; works well.","b":false,"i":false}]},{"children":[{"t":"text","v":"Select your new preset from the printer dropdown.","b":false,"i":false}]},{"children":[{"t":"text","v":"Open the Machine G-code tab on your preset to find the SteinSwitch toggles. Configure as desired (see Section 5), then save.","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"% Orca import step","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"orca_install_step_1_import | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Importing the .3mf file into Orca Slicer. Use the standard file import option.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Save as preset in Orca","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"orca_install_step_2_preset | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Save your imported profile as a new preset in Orca Slicer. Naming it with the core date makes updates easier later.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"4. How SteinSwitches work","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"4.1 The mechanism","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"A SteinSwitch is a labeled {if true} \/ {if false} block in the gcode. Above each block is a comment explaining the feature and how to configure it. To enable a feature, set the block to {if true}. To disable it, set to {if false}.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Changing {if true} to {if false} disables that feature entirely. The comment immediately above the block tells you what the feature does and which SteinSwitch number it corresponds to.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"4.2 Where to find SteinSwitches","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"In Orca Slicer, open your printer preset\u0026#39;s settings and go to the Machine G-code tab. SteinSwitches appear inline within the Machine Start G-code, Machine End G-code, Change Filament G-code, Pause G-code, Before Layer Change G-code, and Layer Change G-code sections. Each is preceded by a comment block explaining its purpose.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Where to find SteinSwitches in Orca","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"orca_machine_gcode_tab_location | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Machine G-code tab in Orca Slicer. SteinSwitches appear inline within each gcode section as commented {if true} \/ {if false} blocks.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"4.3 Default configuration","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"All SteinSwitches ship in a sensible default state. You can use the preset as-shipped without changing any toggles. See Section 5 for the list of features and their defaults.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"5. SteinSwitch reference","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The full set of SteinSwitches available in this release, grouped by gcode section and in the order they appear. For each SteinSwitch, the code box shows the exact comment header as it appears in the gcode; copy and paste it into your text editor\u0026#39;s find function to jump directly to that SteinSwitch.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.1 Start G-code SteinSwitches","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Removes stringing from the last print by wiping the nozzle before the Z-axis homes. Default: ON. Recommended.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; WIPE_BEFORE_FIRST_Z_TOUCH","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";2 SteinSwitch wipe_before_first_z_touch - removes string from last print","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";Set to \u0026quot;true\u0026quot; to wipe the nozzle before homing the z on startup","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";Set to \u0026quot;false\u0026quot; to skip","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Pauses the printer at startup so you can manually inspect the nozzle before printing starts. Default: OFF. Enable for critical prints or after a nozzle change.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; USER_NOZZLE_INSPECTION","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";3 SteinSwitch user_nozzle_inspection","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if false}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Scrapes the nozzle against the steel tab before the startup priming purge. May help with a cleaner purge. Default: ON on textured PEI plate, skipped on smooth plates.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; SCRUB_NOZZLE_BEFORE_FIRST_PURGE","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";5 SteinSwitch scrub_nozzle_before_first_purge - may help with a cleaner purge","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Handles residual filament not pulled back during the previous print\u0026#39;s end. Prevents filament bits sticking to the side of the nozzle on the wipe. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; PURGE_FOR_UNRETRACTED_FILAMENT","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";6 SteinSwitch purge_for_unretracted_filament - prevents filament bits sticking to side of nozzle on swipe","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a second cleaning pass immediately before the auto bed leveling probe for cleaner ABL readings. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; SECONDARY_NOZZLE_CLEAN_BEFORE_ABL","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";7 SteinSwitch secondary_nozzle_clean_before_ABL","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Adds a second nozzle scrub on the steel tab before the SteinWipe (clean tip to probe for bed level). Default: OFF.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; PERFORM_SECONDARY_NOZZLE_SCRUB_BEFORE_STEINWIPE","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";8 SteinSwitch perform_secondary_nozzle_scrub_before_steinwipe (clean tip to probe for bed level)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if false}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Taps the chute at startup to knock down any old purge before starting the print. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; CHUTE_TAPPING","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";8 SteinSwitch chute_tapping - knock down any purge before starting a print","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Limits the mech vibration test to run only when \u0026quot;bed leveling\u0026quot; is checked in the slicer. Helps skip redundant mech tests on frequent prints. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; MECH_TEST_ONLY_WITH_BED_CALI","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";10 SteinSwitch mech_test_only_with_bed_cali","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";Set to \u0026quot;true\u0026quot; to limit vibration test to run only if \u0026quot;bed leveling\u0026quot; checked in slicer","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs the mech vibration test at the center of the printed part rather than a fixed bed location. May help with improved surface finish for off-center parts. Default: OFF.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; MECH_TEST_ON_PART_CENTER","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";11 SteinSwitch mech_test_on_part_center (may help with improved surface finish for off center parts)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if false}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Enables Dynamic Auto Bed Leveling. Only probes the bed area where the part is located, even if \u0026quot;bed leveling\u0026quot; is unchecked. P1 Series only; requires firmware 01.06.01.02 or later. Not available for X1C. Default: OFF.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; USE_DABL","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";12 SteinSwitch use_DABL only works with firmware 01.06.01.02 P1 Series - not available for X1","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";Set to \u0026quot;true\u0026quot; to only probe bed where the part is located even if \u0026quot;bed leveling\u0026quot; unchecked in slicer","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if false}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Uses an improved PA test line placement for more accurate PA calibration. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; USE_TRUE_PA_TEST_LINE","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";13 SteinSwitch use_true_PA_test_line","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Adds a safety check to verify the PA line position before extruding. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; SAFETY_CHECK_PA_LINE_POSITION","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"; SteinSwitch safety_check_pa_line_position","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Optimizes the travel path to the first layer to reduce stringing during startup transitions. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; NO_STRINGS_TO_FIRST_LAYER","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";15 SteinSwitch no_strings_to_first_layer","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.2 Change Filament G-code SteinSwitches","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a quick wipe cycle before tool change during AMS cycles for a cleaner material transition. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; QUICK_WIPE_BEFORE_TOOL_CHANGE","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"; SteinSwitch quick_wipe_before_tool_change","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Taps the chute during AMS cycles to knock down purge buildup between material changes. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; CHUTE_TAPPING (Change Filament)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"; SteinSwitch chute_tapping","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle when returning to print after the AMS tool change completes. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; RETURN_TO_PRINT_WIPE_CYCLE (Change Filament)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"; SteinSwitch return_to_print_wipe_cycle","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.3 Before Layer Change G-code SteinSwitches (Orca only)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Schedules wipe cycles at specific layer numbers by editing a conditional block inline. This SteinSwitch lives in the Before Layer Change section (Orca-specific gcode hook). Edit the layer numbers inside the nested {if layer_num==...} condition to target specific layers. Default: OFF.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; ADD_WIPE_CYCLE_FOR_SPECIFIC_LAYER","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";SteinSwitch add_wipe_cycle_for_specific_layer","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";Set to \u0026quot;true\u0026quot; to enable","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";Set to \u0026quot;false\u0026quot; to disable","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if false} ; toggle feature on or off","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.4 Layer Change G-code SteinSwitches","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle at layer transitions. Off by default; useful for longer prints or materials prone to cooked-on residue. Default: OFF.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; RETURN_TO_PRINT_WIPE_CYCLE (Layer Change)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"; SteinSwitch return_to_print_wipe_cycle","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if false}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.5 Pause G-code SteinSwitches","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle after resuming from a pause to clear any ooze that built up during the pause. Default: ON.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; USE_STEINWIPE_AFTER_PAUSE","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";+++++++++++++++++++++++++++++","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"; SteinSwitch use_steinwipe_after_pause","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{if true}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"6. Wiper offset calibration","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This section only applies if you have the SteinWipe V1 wiper mount installed.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.1 Why calibrate","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The wiper sits at a fixed position in the slicer\u0026#39;s coordinate space. Small variations in how your mount was drilled or how the mount bracket sits determine whether the nozzle enters the wiper pad cleanly or off-center. Error greater than 0.5mm can tear the wiper pad on the first wipe cycle.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.2 The V3 calibration workflow","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The current approach uses a single .3mf file that walks the toolhead through all 31 offset positions in sequence. The printer\u0026#39;s progress bar flashes different percentages at each position. You watch the nozzle as it moves, and when alignment looks correct, you note the progress bar value. The Offset Chart (embedded below) converts that value to an offset number.","b":false,"i":false}]},{"type":"list","listType":"ordered","items":[{"children":[{"t":"text","v":"Open SteinWipe_XY_Offset_Cali.3mf in Orca Slicer.","b":false,"i":false}]},{"children":[{"t":"text","v":"Enable the calibration routine as instructed in the .3mf notes.","b":false,"i":false}]},{"children":[{"t":"text","v":"Slice and send to the printer.","b":false,"i":false}]},{"children":[{"t":"text","v":"Watch the nozzle as the toolhead cycles through positions.","b":false,"i":false}]},{"children":[{"t":"text","v":"When the nozzle aligns correctly with the wiper, note the progress bar percentage on the display.","b":false,"i":false}]},{"children":[{"t":"text","v":"Look up that percentage on the Offset Chart (below) to get the offset value.","b":false,"i":false}]},{"children":[{"t":"text","v":"Repeat for the other axis if needed.","b":false,"i":false}]},{"children":[{"t":"text","v":"Enter the X and Y offset values into the Template Custom G-code section of your printer preset on the G0 X0 Y0 line, replacing the zeros with your measured values.","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"% Correct Y axis alignment","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"cali_y_axis_aligned | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The nozzle correctly aligned on the Y axis during V3 calibration.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Correct X axis alignment","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"cali_x_axis_aligned | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The nozzle correctly aligned on the X axis during V3 calibration.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Calibration progress bar","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"calibration_progress_bar | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The printer progress bar signals the current offset position during V3 calibration.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% V3 Offset Chart","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"offset_chart_v3 | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Convert the progress bar percentage to your offset value using this chart.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Where to enter your offsets","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"template_custom_gcode_location | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Template Custom G-code section of your printer preset. Replace the zeros on the G0 X0 Y0 line with your measured offset values.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.3 When to recalibrate","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"After installing a new wiper mount","b":false,"i":false}]},{"children":[{"t":"text","v":"After replacing the wiper pad","b":false,"i":false}]},{"children":[{"t":"text","v":"If you unbolt and re-mount the wiper AND the mount holes were drilled oversized","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"7. Known issues","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"No Feb.15.2 stable successor exists for the Orca P1 Core 0 line. Development attention shifted to Core 1 during that cycle. Users who want a stable Orca release for the P1 Series should consider ORCA_P1_Apr.28.1.2025 (Core 1 beta) which introduces the SSD architecture.","b":false,"i":false}]},{"children":[{"t":"text","v":"Straight-line wipe scrubbing pattern produces visible wipe marks compared to the arc pattern shipped in BBS Feb.15.2 and all Core 1 releases.","b":false,"i":false}]},{"children":[{"t":"text","v":"[[use_DABL]] requires firmware 01.06.01.02 or later. On older firmware, the SteinSwitch silently does nothing instead of falling back to standard ABL. Verify your firmware version before enabling.","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"8. Reporting bugs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Issues with this release go to ","b":false,"i":false},{"t":"link","v":"the Leckiestein Discord bug reporting channel for Core Feb.15.1","url":"https:\/\/discord.com\/channels\/1327182397673832448\/1343739548198371338","target":""},{"t":"text","v":". Include a video of the issue, a 3MF diagnostic file (see Discord #faq for how to generate one), and the specific SteinSwitch states you had configured when the issue occurred.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Discord bug channel example","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"discord_bug_channel_example | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Leckiestein Discord bug reporting channels. Each SWMC core family has its own channel; post your bug report in the channel matching the core you are running.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"9. What\u0026#39;s next","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This Feb.15.1 Orca beta is the only Core 0 release for the P1 Series on Orca Slicer. The next Orca release for the P1 Series is:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"ORCA_P1_Apr.28.1.2025 (Core 1 beta) - introduces the SSD architecture with keyword-based configuration in printer notes. 42 SSDs across all gcode sections. Recommended for users ready to move to the new architecture.","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"10. Licence and liability","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SWMC modifies printer motion and startup behavior via slicer-level G-code. Use of this profile is at the user\u0026#39;s own risk. The user\/operator assumes full responsibility for machine operation, monitoring, and all outcomes. Leckiestein shall not be held liable for damage, injury, or losses resulting from use, misuse, or modification of this profile preset.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"11. ","b":false,"i":false},{"t":"link","v":"Terms and conditions","url":"https:\/\/leckiestein.com\/policies\/terms-of-service","target":""},{"t":"text","v":"","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"By purchasing or downloading this release, you agree to the Leckiestein Terms and Conditions for Digital Products, effective January 1, 2025.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"11.1 Usage rights","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Your purchase grants you a ","b":false,"i":false},{"t":"text","v":"personal, non-transferable, non-exclusive license","b":true,"i":false},{"t":"text","v":" to use this release. You may download and use the files for your personal projects, and modify the gcode for your own use.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"11.2 Not allowed","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Reselling, redistributing, or sharing the .3mf or its embedded gcode","b":false,"i":false}]},{"children":[{"t":"text","v":"Uploading the files to public or private repositories","b":false,"i":false}]},{"children":[{"t":"text","v":"Selling physical items produced from the files without a Tier 3+ commercial license","b":false,"i":false}]}]},{"type":"heading","level":4,"children":[{"t":"text","v":"11.3 Commercial use","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If you wish to use this release for commercial purposes, you must subscribe to the Pro Maker License Tier (Tier 3+ on Patreon) or purchase a separate commercial license. Any unauthorized commercial use is a violation of these terms.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"11.4 Non-refundable","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"All digital product sales are final and non-refundable once the files have been downloaded. If you experience technical issues or believe a product has an error, contact Leckiestein via direct messages for assistance (not in comment threads).","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"11.5 Copyright","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"All intellectual property rights to this release remain with Leckiestein. Any infringement of these rights may result in legal action.","b":false,"i":false}]}]
[]