Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Mesh bed leveling only in printing area using orca slicer

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    6
    649
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RodrigoRMaraujoundefined
      RodrigoRMaraujo
      last edited by

      I've been researching how I could define the mesh for the print area using the orca slicer.

      I'd like to record here how I did it, after reading some old posts here on the forum, which helped me a lot. Who knows, maybe it will be useful to someone else.

      My start gcode in the orca slicer:

      set global.varNozzleTemp = [nozzle_temperature_initial_layer]
      set global.varBedTemp = [bed_temperature_initial_layer_single]
      
      M557 X{first_layer_print_min[0]}:{first_layer_print_max[0]} Y{first_layer_print_min[1]}:{first_layer_print_max[1]} P3:3
      
      M98 P"0:/macros/Print/start_print.g"
      

      Macro start_print.g:

      T0
      M104 S150
      M190 S{global.varBedTemp}                                                        ; aquece mesa e espera
      G28
      G32
      M104 S{global.varNozzleTemp}                                                     ; aquece bico na temperatura de primeira camada e segue;
      G29
      M109 S{global.varNozzleTemp}                                                     ; aquece bico na temperatura de primeira camada e espera
      
      ;Purge line
      G1 X115 Y-3 Z0.24 F6000
      G1 E3
      G1 X190 E30 F360
      G1 X205 Z0.04 E-0.2 F180
      G1 Z1 F360
      G92 E0
      

      Macro load_variables.g (loaded in config.g by M98):

      global varNozzleTemp = 0
      global varBedTemp = 0
      

      It's a very simple process but it works well for me.

      jay_s_ukundefined aceranicundefined 2 Replies Last reply Reply Quote 2
      • jay_s_ukundefined
        jay_s_uk @RodrigoRMaraujo
        last edited by

        @RodrigoRMaraujo you could pass the nozzle and bed temp through to the macro using parameters. so something like

        M98 P"0:/macros/Print/start_print.g" A[nozzle_temperature_initial_layer] B[bed_temperature_initial_layer_single]
        

        then in your macro

        T0
        M104 S150
        M190 S{param.B}                                                        ; aquece mesa e espera
        G28
        G32
        M104 S{param.A}                                                     ; aquece bico na temperatura de primeira camada e segue;
        G29
        M109 S{param.A}                                                     ; aquece bico na temperatura de primeira camada e espera
         
        ;Purge line
        G1 X115 Y-3 Z0.24 F6000
        G1 E3
        G1 X190 E30 F360
        G1 X205 Z0.04 E-0.2 F180
        G1 Z1 F360
        G92 E0
        

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        RodrigoRMaraujoundefined 1 Reply Last reply Reply Quote 0
        • RodrigoRMaraujoundefined
          RodrigoRMaraujo @jay_s_uk
          last edited by

          @jay_s_uk
          Yes, it's an interesting approach too, because it doesn't use memory by creating global variables.
          Thanks for commenting.

          1 Reply Last reply Reply Quote 1
          • droftartsundefined droftarts referenced this topic
          • aceranicundefined
            aceranic @RodrigoRMaraujo
            last edited by

            @RodrigoRMaraujo Does it require G29 S1 to load a mesh or it is done differently?

            droftartsundefined 1 Reply Last reply Reply Quote 0
            • droftartsundefined
              droftarts administrators @aceranic
              last edited by

              @aceranic The first script, in OrcaSlicer, sets the M557 mesh area by using the min and max print area defined by the object in the slicer. This gets passed to the RRF in the Gcode file, and mesh is made by calling the start.g macro from that Gcode file. No, you don't need to load another mesh first.

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              aceranicundefined 1 Reply Last reply Reply Quote 0
              • aceranicundefined
                aceranic @droftarts
                last edited by

                @droftarts Hi, I tested and it is working fine, also changed to 5x5 points.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA