Some help regarding S3D



  • I'm trying to streamline my slicer scripts a bit here, and i can't figure out how the h**l i can get S3D to select the right tool to purge/prime in the start script.
    This is what the script looks like now, but the [new_tool] placeholder don't seem to work in the start script area.

    I know this isn't the right place to ask per say, but trying to get a good answer from S3D is like trying playing a lottery.

    ; START SCRIPT START
    G28 X Y                                                     ; Home X & Y axis
    G28 Z                                                       ; Home Z axis
    G10 P0 R250 S250                                            ; Set initial purge/prime temp T0
    G10 P1 R250 S250                                            ; Set initial purge/prime temp T1
    G10 P2 R250 S250                                            ; Set initial purge/prime temp T2
    M140 S[bed0_temperature]                                    ; Set bed temperature
    M116                                                        ; Waits for all temperatures and other slowly-changing variables to arrive at their set values
    G21                                                         ; Set units to millimeters
    G90                                                         ; Use absolute coordinates
    M83                                                         ; Use relative distances for extrusion
    M561                                                        ; Clear any bed transform that might be in place  
    G29 S1                                                      ; Load & turn on bed height map
    M593 F43                                                    ; Cancel ringing at 43Hz
    G92 E0                                                      ; Reset extruder position
    G0 X0 Y0 F9000                                              ; Go to front
    G0 Z0.2                                                     ; Lift bed to nozzle -0.2mm
    T[new_tool]                                                 ; Select tool
    M701 S"PET-G"                                               ; Load filament for the active tool
    G1 X160 E100 F500                                           ; Extrude 100mm of filament in a 16cm line
    G92 E0                                                      ; Zero the extruded length
    G1 E-1 F500                                                 ; Retract a little
    G1 X80 F4000                                                ; Quickly wipe away from the filament line
    G10                                                         ; Retract
    G1 Z0.3                                                     ; Lower the bed a little while wating for print temp
    G10 P0 R[extruder0_temperature] S[extruder0_temperature]    ; Set active and standby temps for T0
    G10 P1 R[extruder1_temperature] S[extruder1_temperature]    ; Set active and standby temps for T1
    G10 P2 R[extruder2_temperature] S[extruder2_temperature]    ; Set active and standby temps for T2
    M116                                                        ; Waits for all temperatures and other slowly-changing variables to arrive at their set values
    G11                                                         ; Unretract
    ; START SCRIPT END
    


  • Hi,

    Just a suggestion.

    The only start/end code I have in S3D is M98 P"print_begin.g" and M98 P"print_end.g"

    This allows me to edit the codes in DWC. It does prevent using S3D tokens but that works for me.

    S3D is configured to use the commands to start heating the bed/extruders but to not wait for them.

    That waiting is done in "print_beg.g" along with all of the other code to be executed at the start of a print.

    Now as to your question:

    Do you have multiple tools?

    Frederick



  • Thanks for the input, but the issue is just that i've got three tools sharing one nozzle.

    And i wan't to run a 250C purge line with the tool that's going to start of the first layer.
    Incase i've for instance ran Nylon on T2 the last job. And the new job is going to use PLA on T0, then it's no way in hell that will work since the Nylon will only be soft (if even that) on PLA printing temps =/



  • Hi,

    It seemed clear from the code that you had multiple tools but I just wanted to be sure what your setup was.

    Is it possible that the "new_tool" placeholder is not recognized in the start script but only in the tool change script?

    Frederick



  • not sure what exactly are you trying to do (not yet tried duet3d with dual extruder, but soon 😄 ) but wrt s3d what do you have in your tool change script? something like this is what they expect you to have, maybe this helps:

    {IF NEWTOOL=0}M117 here you put
    {IF NEWTOOL=0}M117 the gcode
    {IF NEWTOOL=0}M117 that you want to
    {IF NEWTOOL=0}M117 execute when tool
    {IF NEWTOOL=0}M117 is changed to T0
    {IF NEWTOOL=1}M117 here you put
    {IF NEWTOOL=1}M117 the gcode
    {IF NEWTOOL=1}M117 that you want to
    {IF NEWTOOL=1}M117 execute when tool
    {IF NEWTOOL=1}M117 is changed to T1
    {IF NEWTOOL=2}M117 here you put
    {IF NEWTOOL=2}M117 the gcode
    {IF NEWTOOL=2}M117 that you want to
    {IF NEWTOOL=2}M117 execute when tool
    {IF NEWTOOL=2}M117 is changed to T2
    T[new_tool]     ; this will actually produce T0 or T1 or T2
    G92 E0          ; zero the extruded distance
    G1 E15 F2000    ; load the new extruder quickly
    G1 E30 F300     ; prime slowly
    G92 E0          ; zero the extruded distance
    ;...
    


  • @fcwilt
    Yeah that's the issue, that the "new_tool" placeholder don't work in the start script.

    Which means it's not possible to automate the purging process so that it automagically use the first tool of the print.

    Unless it's a placeholder of some sort that would do the job who's getting kept hidden by S3D, they have been called out on it on several occasions. It's almost like they don't want to share the complete placeholder / variable list with there customers for stupid reason.

    @smece
    I'm trying to make automate the initial tool purge to use the first tool in the print.
    My tool change script works like it should with RRF doing the tool changes, the only thing my slicer does is a little zlift and move the tool to the next printing location after tool change. But this is how it looks:

    ; TOOL CHANGE
    G91                                                         ; Relative positioning
    G0 Z0.1                                                     ; Drop bed 0.1mm
    G90                                                         ; Absolute positioning
    G0 X[next_position_x] Y[next_position_x]                    ; Move to prime pillar start
    T[new_tool]                                                 ; Change to the new tool
    M701 S"PET-G"                                               ; Load filament for the active tool
    M703                                                        ; Load filament config.g fof the selected filament
    G91                                                         ; Relative positioning
    G0 Z-0.1                                                    ; Lift bed 0.1mm
    G90                                                         ; Absolute positioning
    

  • administrators

    If you put the purge commands in the tpost.g file (or in a macro that is called by tpost.g) then they will get called on the initial tool selection as well, provided that the machine has been homed before the initial tool selection takes place.



  • @dc42

    Yeah that's true, but i only want to purge the very first tool at print start. Not on every tool change, then that approach won't work will it? 🤔



  • @Exerqtor said in Some help regarding S3D:

    @dc42

    Yeah that's true, but i only want to purge the very first tool at print start. Not on every tool change, then that approach won't work will it? 🤔

    I'm missing the question sorry, maybe I'm too blinded by my own issues .. if you want to do something (purge in your case) only "at the print start", it has to go to startup script, as you did, but there's no "new_tool" in startup script as it's just starting ... maybe there is "tool_number" or something like that (would be cool if s3d would actually document all the available "Variables") ... I assume your problem is that you sometimes start print with T0 sometimes with T2, the easiest way would be to make 3 profiles in s3d "start-t0, start-t1 and start-t2" and then just use different startup script to initialize/prime appropriate extruder 😞 ...

    dunno if RRF knows what's selected tool so that you can instead of all the code in startup script in s3d just start some macro from s3d startup and do the code in the RRF



  • @smece

    I already have one profile for each extruder, and one for all extruders. The profiles for single extruders ain't no problem since i just define the tool right after the purge heating is done.

    But like you suspect, the problem comes if /when i want to do a multi extruder print. It's no "problem" pr. say if i allways use T0 for the initial tool. But some times that will involve and extra filament swap before startup just to acomidate, and it would be so much easier if the stupid slicer just had a [first_tool] placeholder that would work in start.



  • yeah I understood, but I suggested that you split the "multiple extruder" profile to 2, one that is "first is T0" and other that is "first is T1" so you select one or the other depending on what you have loaded where

    put a question on s3d forum, they might answer, the problem is that whole company is single person (the developer, the "chris", the whole bunch of ppl on forum, the person doing all the censuring, approval of posts etc etc... all one man ... that's why they are slow to respond and slow to answer to proper queries), also shoot email to support@simplify3d.com he tends to answer that one quicker than the forum questions



  • Yeah i get that approach, but that's more like walking around the problem than solving it. Something i don't like by default.

    On the other point i doubt Clayton Webster is the only man behind the rudder at S3D? In that case it's not strange everything takes forever.



  • @Exerqtor said in Some help regarding S3D:

    Yeah i get that approach, but that's more like walking around the problem than solving it.

    99% of issues with S3D are "solved" by workarounds, not by real solutions 😞

    On the other point i doubt Clayton Webster is the only man behind the rudder at S3D? In that case it's not strange everything takes forever.

    look out at what's new added & fixed in past 3 years ... but it's story for some other time and some other place, nothing to bother duet3d folks with .. it's still a decent slicer





  • @smece
    Teah i've seen it 🙂 I've started compiling a gdoc with everything i find that i plan to make as public and accessible as i can 😂


Log in to reply