Jump to content

GregValiant

Expert
  • Posts

    5,018
  • Joined

  • Last visited

  • Days Won

    196

Posts posted by GregValiant

  1. I suppose I'm not surprised, but that's pretty weird.

    Oddly enough, it's only about the 3rd weirdest thing I've read this week regarding 3D printing.  Number one on the list was regarding a system that wouldn't allow Cura to slice anything.  It turned out that the problem was related to the system font on the Windows computer.

    Software is great isn't it?

  2. I doubt very much that it is a firmware issue.  I also doubt that Cura is to blame for the problems.  I look at almost all the bug reports on GitHub and this is the first time I have heard of this problem.  There are enough people using the same printer that if it was a problem with Cura, there would be numerous bug reports.  That hasn't happened.

     

    PLA will usually stick.  One of the main "won't stick" problems is a contaminated build surface.  Dust, oil from fingers, chocolate smears, and other stuff on the build plate can keep the first layer from adhering.  If the "Initial Z gap" is too tall then the layer is effectively under-extruded and there just isn't enough squish.

    Start by giving the build surface a good bath with dish detergent, but it back in place on the printer, and then wipe it down with 90% IsoPropyl Alcohol.

    If it still doesn't want to stick I'd double check the Z Offset, then the E-step calibration, and if necessary start increasing the "Initial Layer Flow".

     

    Cura itself doesn't put any firmware altering commands into the gcode.  Some StartUp Gcodes might contain those types of commands (usually M201 and M203 for Accel and Jerk).  In addition the "Z-offset" plugin can have an effect if you happen to have it enabled.

    I have never seen an M500 command in any gcode file.  Without it, any firmware altering commands that might be there will revert to the firmware defaults when the printer is turned off.

     

     

     

     

     

  3. Ah, but the "Startup G-Code" isn't Cura output but rather someone's hand coded lines.

     

    Cura always puts Z-hops in as G1 lines even though there is no E parameter.  Maybe because they are part of the Retraction settings.  Still, without an E parameter it seems that they should be G0 lines.  Off the top of my head that's the only instance I can think of where the "guideline" isn't followed.

     

    "The code is more what you'd call ‘guidelines’ than actual rules." - Capt. Barbossa, Pirates of the Carribean

  4. @Slashee_the_Cow you go through more printers than anyone else.  I can't keep up.

     

    With the Machine Depth and Width at 220 it might be able to get to a negative "X" location.  I can see someone trying to move the purge lines further to the left.  The 5.6 definition has the purge lines at X10 and that could interfere with large prints.

    People submit pull requests to change printer definitions all the time.  UltiMaker can check some things regarding other manufacturers hardware but not all things (unless they bought one of every printer on the planet like Slashee does).

     

    A definition change that includes someone's "personal preferences" is never a good idea because they are forcing that on the rest of the users.  Definitions should be generic and simply work.  If a user wants to customize it then that's their decision.  My own Startup Gcode is...complicated.  I doubt it's something that anyone else would want, but it works for me.

  5. Nothing really changed between 5.6 and 5.7 as far as what's happening on the first couple of layers.

    Use 5.6 and load something small (calibration cube or a benchy) and set Cura up like you always do.

    Use the "File | Save Project" command to create a special 3mf file.

    Start 5.7 and open that 3mf file.  The settings from 5.6 will show up in 5.7.

    There are a couple of plugins that can affect the first layer.  One is "Z Offset Plugin".

    If a Creality owner submitted a change to the printer definition file and the ABL settings changed then your first layer height might be too tall and the extrusions aren't getting pressed down like they should.

     

    I think @Slashee_the_Cow has a printer like that.  She may know what the possible problems are.

    There are a lot of causes for what you have happening.  It's very unlikely that it's a problem in the Cura code.

     

    You should probably create a second project file but from 5.7.0 and post that one here so there is something to work with.

  6. There is (what I think) is a bug in Cura.  If you disable an extruder it does not automatically switch something like "Skirt extruder" over to the other extruder.  You must do that manually prior to disabling the extruder (because the settings are hidden when an extruder is disabled).  So if you have a "single extruder print" you must insure that both the "Support Extruders" and the "Skirt/brim Extruder" are set to the proper extruder.

     

    If you remove the temperature lines from the startup gcode and allow Cura to handle it you get this.  The material standby temperatures are 175 so the secondary extruder doesn't heat all the way.


    ;TARGET_MACHINE.NAME:Snapmaker J1
    ;Generated with Cura_SteamEngine 5.7.0
    T0
    M140 S60
    M105
    M190 S60
    M104 S200
    M104 T1 S175
    M105
    M109 S200
    M105
    M109 T1 S175
    M82 ;absolute extrusion mode
    ;--- Start G-code Begin ---
    G28 ;Home

     

    With T0 disabled, the part set to T1 and the support and skirt extruders manually set to T1 (before disabling T0).

    ;Generated with Cura_SteamEngine 5.7.0
    T1
    M140 S60
    M105
    M190 S60
    M104 S200
    M105
    M109 S200
    M82 ;absolute extrusion mode
    ;--- Start G-code Begin ---

     

    In both cases the code is correct.  Since your printer doesn't appear to have auto-leveling (no G29 or M420 in the startup) that would work.

     

    In regards to the "always heat up T0" bug, you could fix that with a dedicated post processor that could add a "M104 S0 T0" line before all the other temperature lines.  The extruder might turn on at power up, but it would turn off when the gcode file starts and then the proper heating would occur.

     

  7. It's an interesting topic.  That silly workaround (using another setting to enable your z-hops) will suffice for testing.  

    Because plugins and post-processors always run after the Gcode is built up, trying to alter the M207 lines on a tool-by-tool basis is tough.  It will require you to learn some coding and (horror of horrors) some RegEx replacement patterns to use with Search and Replace.

     

    You can start with this override for your printer definition file.  Once it's custom you will need to put it into your Configuration Folder.  Be careful because you can make a mess.


            "machine_endstop_positive_direction_z": {
                "default_value": false,
                "label": "Configure Firmware Z-Hop",
                "description": "This requires a very specific M207 line in the StartUp Gcode" },

     

    Good Luck.

     

  8. You have made a lot of changes to the "extra fast" profile and you have never reset it back to defaults.  All your changes are still there.

    There is no need for "one at a time", you have "spiralize" turned on which means "remove all holes" is turned on.  Lots of stuff that will cause problems with this model.

     

    Click on "extra fast" and re-select it.  When asked, click on "discard all changes".

     

    I would suggest staying in the "custom" settings view rather than that basic one.  You have to give very model it's own love.

     

    I switched to "fine" since a small model like this can benefit from the lower layer height.

    image.thumb.png.fa6e36b0626a2f302c1aa8b7ff9f4c94.png

     

     

    • Like 1
  9. Ok.  Watch closely.  I have nothing up my sleeves.

    In the StartUp gcode...


    M207 F{retraction_retract_speed*60} S{retraction_amount} Z{retraction_hop if machine_endstop_positive_direction_z else 0.0}
    M208 F{retraction_prime_speed*60}

     

    If you haven't done so, go to the MarketPlace and load the "Printer Settings" plugin.  A couple of the settings don't do anything - except for now.

    The above line will allow you to use "Z Endstop in Positive Direction" to turn G10 Z-hops on and off.  It's located 4th from the bottom in the Printer Settings.  When it is checked the "z-hop height" will be in the line and if it unchecked then the z hop height will be 0.0.

     

     

     

     

     

     

  10. Bowden tubes are "consumable" items.  As a print progresses the tube can spin in the hot end retainer and the little knives that hold the tube in will damage the tube.  Heat is another issue and the "Capricorn" tubing has a higher tolerance for heat.  (they are blue so you may already have one).

    Trimming the tube back by 5 or 6mm on a regular basis can keep the problem from becoming severe enough to affect prints.  Eventually it will get too short.  That's why it's considered a consumable.

  11. Some background.

    The feature was added in (about) Cura 5.5 in response to problems that occurred with the first layer of spiralize.

    Spiralize would start at "full flow" even though the layer height was only a fraction of a full layer height.  That caused a ridge as the first spiral layer would be over-extruded.  @burtoogle came up with a fix in his Cura Master build and it appears to be what is used in UM Cura.

    So now the first spiral layer, and the overall top layer, have variable flow rate based on the actual height above the previous layer at any particular point.

     

  12. @tigercjn I don't think that will work.

    1. "material_bed_temperature_layer_0" is not "Settable per extruder".
    2. The "T0" and "T1" lines are superfluous in the Extruder StartUps.
    3. The code will run at every tool change so you are setting the "initial layer" bed and hot end temps whenever you switch tools.  The entire print will be run at Initial Layer values.
    4. G92 sets the extruder location and you are setting it to "1" instead of "0".
    5. You have a "G1 E30" purge line in there.  That will occur over the print at every tool change.  Have you tried enabling the "Purge Tower"?  That will move the print head out of the way.

    It is generally best to allow Cura to handle the tool changes and temperatures.

     

    A problem can occur with the StartUp gcode when there is an ABL involved.  Most people don't want the hot end(s) at printing temperature during leveling because they will ooze across the build surface.  It's a fancy dance ordering the temperatures so that enabled extruders are at the correct temperature during leveling, and then when starting the actual print.

    Once you have brought both hot ends up to temperature there is no way to shut off an unused extruder.  There is no way to do something like "if T1 is not used then M104 S0 T1".  Therein lies the problem.

     

     

  13. "If I use both, it creates another problem. Any tuning disappears when you change the extruder."

    Yes, that will happen.

    The upside to putting the M207 into the regular "StartUp Gcode" is that it would not happen.  BUT doing that insures that each extruder would have the same Z-hop height.  That may not be important.

    Once you get your tuning dialed in then you could put the lines back into the Extruder StartUp gcodes.

     

    Because what you really want to do is missing a setting in Cura, you would need to jump through some hoops to make this work exactly right.

    Ex:  Enable z-hops, change the hop height, disable z-hops

    If you use Extruder StartUp then tuning would still be an issue because of the M207 lines at each tool change.

     

    I would probably go with this in the regular StartUp Gcode because this allows any tuning to continue through the print:

    M207 F{retraction_retract_speed*60,initial_extruder_nr} S{retraction_amount,initial_extruder_nr} Z{retraction_hop,initial_extruder_nr}

    M208 F{retraction_prime_speed*60,0}

     

    Essentially what that does is turn the "Z-Hop Height" setting into the on-off switch.  When Z-hop height is "0" then the Z parameter is "0" and there would be no hops.

    "Z-hop on Retraction" and "Z-hop after extruder switch" would ALWAYS need to be disabled in Cura so all that extra code doesn't show up.

  14. This is the gcode I get from the above.

    G10
    G92 E0
    T0
    G92 E0
    M207 F600 S3 Z0.6
    M208 F600

    M105
    M109 S220
    M104 T1 S210
    M205 X10 Y10
    G0 F9000 X227.315 Y214.697 Z8.4
    G0 X230.419 Y216.924
    G0 X229.228 Y216.425
    M104 S230
    G11

    I set this up with different values for each extruder.  At the next change the numbers are different.

    G10
    G92 E0
    T1
    G92 E0
    M207 F1500 S6.5 Z1.0
    M208 F1500

    ....
    G11

     

  15. Welcome in here.  It's always good to start out by mentioning the printer and any customizing that was done to it.

     

    Load the model (if you can share it) set Cura up and use the "File | Save Project" command.  Post the resultant 3mf file here.  It will contain the model, your printer, and all your settings.

    PETG can be difficult.  It gets gooey and stringy, and wants to stick to the outside of the nozzle.  When enough material is stuck on the nozzle it will drop off on the print.  I print about 75% PETG as most of my stuff is functional or will be outside.

    Temperature is important.  Long retractions are necessary.  I print PETG a lot slower than I do PLA.  At 35mm/sec for the outside walls and with no fan - they look nice and glossy.

     

    Sometimes things don't scale up well.  Other times a small scale will help hide issues and scaling up just scales up the size of defects that existed in the test model.

  16. Alright.  I think I have it.  Maybe.

     

    If "Firmware Retraction" is enabled, and "Z-hop on Retraction" is enabled you want an option to handle the Z-hops with G10 or with the regular Cura Z-hop code.

    So the setting you want doesn't exist and would require a feature request.  I think the best way to do that (for now) would be to put a feature request in for the Klipper Plugin and maybe the author can add the function.  It already does the retractions and appears to take multiple extruders into account.  It is probably faster than waiting for the Cura team to add it.

     

    The Klipper plugin uses this line to set up the G10 parameters:

    SET_RETRACTION RETRACT_LENGTH=6.5 RETRACT_SPEED=35 UNRETRACT_SPEED=25 ;KlipperSettingsPlugin

    It would need at least one additional setting box (Enable Z-Hop for G10) and one more parameter in that SET_RETRACTION line.

     

    Right now you have to do it manually.

    Enable "Z-hop on retraction"

    Set the Z-hop heights for each extruder.

    Disable "Z-Hop on retraction.

     

    If your Z-hop height, Retraction Speed, Retraction Amount are the same for each extruder you can put this into your Startup Gcode:

    M207 F{retraction_retract_speed*60} S{retraction_amount} Z0.6

    M208 F{retraction_prime_speed}

    If you want to disable Z-hops for a print you would need to go into the StartUp and change the Z parameter to "0".  If you want to change the Z-hop height then enter the new number.

     

    If your Z-hop height, Retraction Speed, or Retract Amount is different for each extruder (Ex: E1 has 0.6 Z-hop height and E2 has 1.0 Z-hop height) then you need to put the M207 and M208 lines into the Extruder 1 and 2 StartUp:

    M207 F{retraction_retract_speed*60,0} S{retraction_amount,0} Z0.6

    M208 F{retraction_prime_speed*60,0}

    This goes into Extruder 2 StartUp:

    M207 F{retraction_retract_speed*60,1} S{retraction_amount,1} Z0.6

    M208 F{retraction_prime_speed*60,1}

    If you want to disable Z-hops for a print or change the hop heights you would need to go into the StartUp for both extruders and change the Z parameter.  The " ,0" or " ,1" are required so Cura can add the right number for the extruder.

     

    The Klipper plugin enters the retraction settings using what looks like a Klipper macro line "SET_RETRACTION" so having the speeds in mm/sec is fine .  You are unable to do the same thing with the Z-hop and M207 is a regular Gcode command.  I think you will find that you need the "*60" in there.  All the other F parameters in the file are in mm/min.

     

     

  17. Cura marks invalid surfaces with a polka dot pattern.  Your model has several areas with flipped normals.  

    When I try to repair the model the entire thing disappears.

     

    image.thumb.png.671cab13e2a78e780b7a07fc6b58a61b.png

     

    So one reason you can't get rid of the support is because the "top" surfaces down low in the model are calling for support on their upper sides.

    Both models are in need of serious repair.

     

    Here is what I get when I tried to bring a support blocker in.  I've never seen this before.  The entire world turned inside out.

    image.thumb.png.8b357a91be39c60ee6aa9583ba550669.png

     

  18. Let's start from the beginning...

    What printer are we talking about?  That would seem to be a basic thing to know.  I had to figure the Klipper thing out from an image because it was never stated.

     

    I understand that you are trying to alter the z-hops to get better seams, Exactly how are you attempting to accomplish that?  Are you trying to not Z-hop at one particular place on each layer?  Not Z-hop for a range of layers?  What is it that you really want?

     

     

  19. Retraction Hop is a separate setting.  Retraction can be turned on without Z-hops being enabled.  The Hop Height can still be used by your M207 line.  I don't understand why you think that it isn't tuneable.  In the case of M207, the Z height is still controlled by the firmware.

     

    If you were to move the M207 lines from the Extruder StartUp gcode into the regular StartUp Gcode then if it was M207 F35 Z0.5 and you were to add "M207 Z0" at layer 25 then you would have 0.5 z-hops until the end of layer 24 and from there up to the end of the print there would be no z-hops because the height has been set to 0.

    I just don't see a problem here.  If you want to use firmware retraction, and you want Z-hops, then set the Z parameter of M207 to the hop height you want and turn Z-hops off in Cura.

     

    You have customized your printer from whatever it started out as.  There will necessarily be workarounds.  I have read that UM may consider adding Klipper as a gcode flavor.  I have no idea where they are on that.  

  20. You still haven't mentioned what printer you are talking about.  I see "Klipper" on one of your images so I "guess" it isn't an Ultimaker which would likely configure the M207/M208 internally dependent on the material.

    UltiMaker does the heavy lifting on writing Cura so (I'm guessing again) there is no M207/M208 required from their point of view.

    How are you "tuning on the fly"?  Are you using a print server?  Some sort of Klipper Console?

     

    To start - You have to multiply the speeds by 60 to convert to the gcode "mm/minute".

    M207 F{retraction_retract_speed * 60}

    That might be one of the problems you are having as "G1 F35 Exxx" is a lot different than "G1 F2100 Exxxx"

    You have a dual extruder printer.  The Z-hops can be different for each extruder.  You would need to explain that in your M207 lines.

    M207 S{retraction_amount,0} for extruder 1 and M207 S{retraction_amount,1} for extruder 2.

     

    If you turn on Z-hops in Cura then (as you have noted) the "G1 Fsss Zxx.xx" will be hard coded in the gcode.  You can't "tune" that on the fly because every time there is a retraction there will be a Z-hop line and the height is fixed.

    What you can do is enable Z-hops in Cura, set the hop height for each extruder, and then turn off "Z-hops" in Cura.  The numbers would be available in the Extruder Start gcodes.  Every time there is a tool change the Hop Height will return to what that line says.  Your "tuning" would then revert to the value in the M207 line.

     

    If there are multiple tool changes in a file, every time there is a tool change the Z-hop amount will be set back to whatever {retraction_hop} for the current tool.

     

    If you want to tune the retraction hop height during a print you need to turn off "Z-Hop" in Cura.  The G10 and G11 lines will still be in the Gcode and they will be configured the way you told it with the M207 lines.

     

     

     

     

  21. I apologize because I have to guess here.  If you could post a project file ("File | Save Project") it would be helpful.

     

    If your "firmware retraction" of your printer is handling the Z-hops then you should probably turn off "Z-hops" in Cura.  You don't want to double-dip on the Z-hops.

    Cura does not typically insert M207 or M208 in gcodes.  Whatever retraction distance (and z-hop height) is in the printer as defaults are what is used whenever the printer sees a G10 or G11.

     

    An option would be to add M207 (and M208) lines to your StartUp Gcode so you could tune them to the print.  Cura can now do some math and logic in the StartUp and Ending Gcodes.

    I'm not giving any guarantees here, but something like this in your StartUp MIGHT allow you to use Cura inserted Z-Hops.
    M207 S{retraction_amount} F{retraction_retract_speed * 60} Z0

    M208 F{retraction_prime_speed * 60}

     

    You can allow the Firmware Retraction to handle the Z-hops, or let Cura handle the Z-hops, but enabling both is not a good idea.

     

    • Like 1
×
×
  • Create New...