S3D PITA

Discussion in 'Getting Started' started by Andy Cohen, Oct 18, 2019.

  1. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    So everything seemed fine, but now when I slice using that POS S3D I get a message from the Duet that says the extruder selected was not hot enough due to a heater failure or something. No more waiting for it to heat up.
    I am really fed up with S3D.
     
  2. Greg Holloway

    Greg Holloway Administrator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    983
    Likes Received:
    622
    I remove the temperature controllers for the profiles in s3d and enter them manually into duet web control. The tool heads have wait for heatup as part of the tool pickup scripts, roost I think it is.
     
  3. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    It WAS working fine... I had to put all 4 tools into each process in the Extruder tab, otherwise I could not get the skirt and ooze shield assigned to the tool I wanted. I specified which tool was the primary in the Layer tab and verified the correct extruder per the primary in the Temp tab... It WAS working fine... then all of sudden... it stopped working and now it picks up the tool and tries to start the tool path before heating up the extruder. I also find it changing settings because of the completely incorrect way it manages the FW settings.
    Looking forward to Pathio.
     
  4. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    I got it to work!
    I had to delete the extruder in the Temperature controller list, then Add a new one and selected the appropriate Tool from the Temperature Identifier pulldown on the right.
     
    Greg Holloway likes this.
  5. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    Each process has to have all 4 tools defined in the extruder list.
    The Primary Extruder assignment in the Layer tab is the assignment to the tool. These in the pull down match the labels you assigned in the Extruder list in the Extruder Tab. So... don't use T0... etc everywhere. Name accordingly, not generally. Yeah, it DOES get crazy complicated... as such it is a good idea to do it carefully. I name my processes to match the objects assigned. It can also help to name your tools per either the material or the color.

    With the Tools in the list its possible to ensure the "Additions" as well as infills and supports can be assigned correctly across processes. You CAN use a different extruder for infill and yet another for supports. Lets say you want T3 to do the Ooze Shield... then for every process you need to have it turned on and have T3 assigned as the extruder that will do it. Same with the other settings that use a tool that is not the Primary Extruder in the Layer tab.

    Next you have to have the Temp Identifier in the Temperature tab, Primary Extruder match the "Primary Extruder" in the Layer tab.
    Also... multi-processes for custom settings per layer height are still possible, but it does get complicated. Best approach get all 4 processes set up then dupe a process to customize the start and stops. A good use case is the ooze shield. You can set it to stop at a specific height which in turn speeds up the print and can eliminate tool changing and possible accidents.

    The 1st process that starts the print is the process that applies the Start gcode. As such if you set the start gcode per extruder/tool you'll need to know which one starts the print.
     
    #5 Andy Cohen, Nov 3, 2019
    Last edited: Nov 3, 2019
  6. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    and even after all of the above it is SOOOO easy to miss ONE setting and botch a 6 hour print!!
     
  7. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    So I update the Duet FW and the DuetWebUI and attempt a print. Against my understanding the print starts out setting tool4 to temp and making it active and primed.... then it jumps to my start gcode and does a Home all.Thereby dropping the tool!???
    I look into the gcode file for the print and sure enough S3D is sticking in (or something is sticking in) the M104 and M109 gcode commands before my start gcode. I suspect it's S3D since it sets it to the extruder temp I set in S3D and not set in any config files.
    Anybody have an idea how or why???
    Starting to think about moving to Cura...
     
  8. Amr

    Amr Well-Known Member

    Joined:
    Jun 2, 2019
    Messages:
    130
    Likes Received:
    30
    I have this in my start script to avoid S3D setting temps on its own note that I have to set the temps in the profile for each tool so If Am not a specific tool I would set its temp to zero.

    T-1
    M106 S[fan_speed_pwm]
    M104 S[extruder0_temperature] T0
    M104 S[extruder1_temperature] T1
    M104 S[extruder2_temperature] T2
    M104 S[extruder3_temperature] T3
    M140 S[bed0_temperature]
    M190 S[bed0_temperature]
     
    blarbles likes this.
  9. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    Thanks AMR. For a reason I cannot figure out all the variable names for the tools 1-3 return 0 in the gcode for me. I gave up on it and simply manually key in the temps in the WebUI.

    However... I WAS able to actually figure out exactly why S3D put T3 as the starting tool even before the start gcode.
    It's the tool that is left selected... i.e., CLICKED ON AND HIGHLIGHTED... in the Extruder list, in the Advanced, Extruder tab when you leave the Advanced tab. A bad UI design? Well... likely a use case the single developer that designs S3D had zero expectations for even though the advanced screens are filled with multiple extruder/tool facilities. DOH! If it's an actual selection then say you click on T0 in the list... leave the screen... come back... T0 should STILL be the selection. It's not... It returns to the default which for me is T3.

    Click on T1 ini the Extruder List, Extruder tab and hit OK then "Prepare to Print" and you get this in the resulting gcode:
    "
    ...
    G90
    M83
    M106 S0
    M140 S60
    M190 S60
    M104 S235 T1
    M109 S235 T1
    G28 ; home all axes (this is the 1st line of my start gcode)
    T-1
    G29 S1
    ...
    "
    Leave it as the default for when the screen is opened and T3 is selected as the default (assuming you put all 4 tools into the extruder list which you have to do to get the additions, support and infill to work across extruders and this is what you get...

    "
    ...
    G90
    M83
    M106 S0
    M140 S60
    M190 S60
    M104 S235 T3
    M109 S235 T3
    G28 ; home all axes
    T-1
    G29 S1
    ; process Process1
    ...
    "

    WAIT!!!
    NO!!! IT STILL DOES NOT WORK!!! S3D seems to RANDOMLY decide without user input which tool is inserted to be selected before the start gcode!!!

    Wow! S3D is trash.
     
    #9 Andy Cohen, Nov 22, 2019
    Last edited: Nov 22, 2019
  10. Amr

    Amr Well-Known Member

    Joined:
    Jun 2, 2019
    Messages:
    130
    Likes Received:
    30
    Hi Andy

    for this to work you need to have all 4 extruders configured in the profile.

    upload_2019-11-23_10-55-48.png
     
  11. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    Yup! I did that. Each process has to have all 4 tools in the extruder list in order to manage additions, supports, infill etc.
    When I go to a different PC and process a file with a different printer with a duet board the inserted commands are not there. I suspect that perhaps the profile itself is somehow damaged.

    I started a brand new profile for the TC. For the start gcode I copied AMR's gcode above. This is what I got back after processing 4 processes each for 1 part in the file.

    "
    .
    .
    G90
    M82
    ; ****First Tool start.gcode ****
    G28 ; home all axes
    G29 S1 ; Use the Z offset Mesh Map on the SD card
    T-1
    M106 S0
    M104 S190 T0
    M104 S-1 T1
    M104 S-1 T2
    M104 S-1 T3
    M140 S50
    M190 S50
    ; **** end of start.gcode ****
    ; process Process1
    .
    .
    "
    I note that the M104 and M109 commands before the start gcode are now gone!
    But... the variable names for the extruders returned "-1"
    One of the many things I did over the years was managing SW Quality at a large tech company (HP). We would not have allowed this app out the door.
     
    #11 Andy Cohen, Nov 23, 2019
    Last edited: Nov 23, 2019
  12. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    217
    Likes Received:
    57
    I finally heard back from S3D. This is what they tell me...
    "If Simplify3D does not see the [extruder#_temperature] variable in the Starting Script, it will insert these heating commands at the start of the program.
    For more information on scripts in Simplify3D, I highly recommend this forum post: https://forum.simplify3d.com/viewtopic.php?f=8&t=1959"


    OK.. Too bad this is not documented anywhere's including the link that they provided which is their sole documentation for all their S3D specific scripting. I REALLY hope E3D takes a lesson from this as they develop Pathio.

    So with this tiny yet critical nugget of info I can deduce the following for the task flow for S3D.
    1. Generate a single process and populate the process for ALL FOUR TOOLS. That is 4 tools in the extruder list, AND 4 extruders in the Temperature tab's Temperature controllers list. Set the temps accordingly. Be sure to properly set each of the tools in the Extruder list per each tool's needs For example, I have a Nimble on Tool 3 and the 0 through 2 are the OEM Bowden/Titans. As such my retraction settings should reflect these tools accordingly. Also... add the variables into the Start Script. This is mine (for now):
    ; ****First Tool start.gcode ****
    G28 ; home all axes
    G29 S1 ; Use the Z offset Mesh Map on the SD card
    T-1
    M106 S[fan_speed_pwm]
    M104 S[extruder0_temperature] T0
    M104 S[extruder1_temperature] T1
    M104 S[extruder2_temperature] T2
    M104 S[extruder3_temperature] T3
    M140 S[bed0_temperature]
    M190 S[bed0_temperature]
    ; **** end of start.gcode ****
    Also... Save this as a Profile! (note... there's no way to spec the fan speed per tool here and I do not see it automatically going to the setting for the Active extruder within the gcode. So for now I set them as needed elsewhere's in the Duet sys config files)
    2. Add the next 3 processes which duplicates everything in the 1st process. Then go to each and set the Primary extruder, Additions, Infill and support accordingly. Note... you need to set the same tool for a specific thing across all 4 processes. For example, You will want the tool that draws the initial layers to probably also draw the skirt. As such all four processes should have that tool specific set for the skirt in the Additions tab. Watch out for infill! It needs to be set per the primary extruder unless you specifically want a different material for it.
    3. Go into each process and select which models you will want that tool to produce.
    4. If you need something particular via the multi processes... Such as say you want an ooze shield, but you want it to stop around 2/3s the way up. Then you select the process where the ooze shield setting matches the primary extruder, hit Add process so that it Dupes that specific process and set the start and stop positions in the Advanced tab for these 2 processes.

    This seems to work. I attached a sample file.
     

    Attached Files:

    Nibbels likes this.
  13. Amr

    Amr Well-Known Member

    Joined:
    Jun 2, 2019
    Messages:
    130
    Likes Received:
    30
    Just a small heads up, it is better to do the G28 after you heat the bed to account for the deflection due to heat expansion. I actually do a mesh leveling as well with every print as I found the bed to deviate a bit every few days.
     
    Ntesla66 likes this.

Share This Page