Jump to content

GregValiant

Expert
  • Posts

    5,019
  • Joined

  • Last visited

  • Days Won

    196

Posts posted by GregValiant

  1. I don't think so.  Each model is an entity within it's own bounding box and the brim belongs to the specific model.  If the brims touch then Cura will see the models as interfering with each other.

     

    The M32 command can call a gcode from within another gcode file.  By changing the Home Offsets between each call you can change where the print will be on the build plate.

    ;Print a base that is a 1 layer print and covers the build surface.  At the end of that gcode use M32 to call a second file.  That second file wouldn't need a full startup gcode and definitely wouldn't need an ending gcode.

     

    M206 X0 Y0

    M32 P !/models/lgbust.gco# ; The file name here might have to be the DOS 8.3 short file name.

    M206 X33 Y0 ;Move the Home Offset

    M32 P !/models/lgbust.gco#

    M206 X66 Y0 ;Move the Home Offset

    M32 P !/models/lgbust.gco#

    M206 X100 Y0 ;Move the Home Offset

    M32 P !/models/lgbust.gco#

    M206 X0 Y33 ;Move the Home Offset

    M32 P !/models/lgbust.gco#

    M206 X33 Y33 ;Move the Home Offset

    etc, etc, etc

     

    Keep moving the Home Offset and calling the second file ("lgbust.gco" in this example).  The # sign on the end of the line acts like an M400 so there isn't a "read ahead" past the M32.

     

    Understand that although I've played with M32 and it works on my printer, I've never done a print that repeats like that.

     

    Another option would be to print the huge brim first and then print the "one at a time" file on top of it.  With the nozzle at Z=0.2 a G92 Z0 in the gcode would move the second print up.

  2. The StartUp Gcode is very machine dependent.  I used to have separate printers for PLA, PETG and TPU because I wanted different StartUp's depending on the material and speeds.  With the StartUp now able to handle logic I'm taking advantage.

    This makes adjustments to the StartUp per the current Cura settings.  That makes it ambidextrous and I now only have one printer defined.

    ;--------------------------StartUp Gcode

    G21 ; Metric Units

    G90 ; Absolute Movement

    M82 ; Absolute Extrusion

    M220 S100 ; Reset FeedRate

    M221 S100 ; Reset FlowRate

    M140 S{material_bed_temperature_layer_0} ; Start heating the bed

    {'M104 S175 ; Standby while bed heats' if material_bed_temperature_layer_0 > 65 else ';M104 ; No standby'}

    {'M190 S' if material_bed_temperature_layer_0 > 65 else 'M140 S'}{material_bed_temperature_layer_0} ; Bed wait if over 65

    M109 S{material_print_temperature_layer_0} ; Hot End Temperature

    G92 E0 ; Reset E

    G28 X Y ; Home XY axes

    G1 F2700 Z10.0 ; Move Z

    G0 F{speed_travel*60} X1.0 Y20 Z0.3 ; Move

    G1 F{speed_print*60*2/3} X1.0 Y200.0 E15 ; First purge line

    G0 F{speed_travel*60} X3.0 Y200.0 ; Move

    G1 F{speed_print*60*2/3} X3.0 Y20 E30 ; Second purge line

    {";G1 F" if "TPU" in material_type else "G1 F"}{retraction_retract_speed*60} E28 ; Retract if not TPU

    G92 E0 ; Reset Extruder

    G1 F2700 Z12.0 ; Move Z Axis up

    G4 S1 ; Wait for booger to solidify

    G0 F{speed_travel*60} X3.0 Y35 Z.35 ; Move over

    G0 F{speed_travel*60} X3 Y50 Z0.35 ; Wipe

    ;--------------------------End of StartUp

  3. Go to "Manage Printers" and "Machine Settings".  You want to edit the "StartUp G-Code".

    Cura will always put the heating commands in if there are no "replacement patterns" in the startup.

     

    This is based on the Ender 3 Startup Gcode.  My changes are in bold.

     

    ; Ender 3 Custom Start G-code
    G92 E0 ; Reset Extruder

    M220 S100 ; Reset the feed rate

    M221 S100 ; Reset the flow rate

    M140 S{material_bed_temperature_layer_0} ; Start heating the bed
    M104 S{material_print_temperature_layer_0} ; Start heating the nozzle
    G28 ; Home all axes
    G0 F600 Z5 ; Move up to ooze
    M190 S{material_bed_temperature_layer_0} ; Wait for the bed
    M109 S{material_print_temperature_layer_0} ; Wait for the nozzle

    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
    G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
    G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
    G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
    G92 E0 ; Reset Extruder
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish"

    ;End of StartUp

     

    The "reset" lines are in case you happened to tune a previous print from the LCD.  They set the printer back to the default 100% feed and flow rates. 

     

     

  4. Cura uses different keywords as variable names in the StartUp and Ending Gcodes than Prusa does.  Cura also uses {curly} brackets around the keywords where Prusa uses [square] brackets.

    AHoeben has put together the list of Cura keywords HERE.

     

    The startups and endings will be close, but because the keywords and brackets are different they won't be the same.

     

  5. You must have been lucky because prior to 5.7beta there has not been a way to adjust the print order in One-at-a-Time.  It's been a source of aggravation for a lot of people.

    In 5.7beta, when you set the Print Sequence to One-at-a-Time a new setting comes up below it.

    When "Set Print Sequence Manually" is enabled then select a model from the object list in the lower left corner of the work space and right click on it.  There will be two new options at the bottom of the right-click menu.  They are basically "Move it up" and "Move it down" controls.

    I haven't played with it much, but it looks like it works.

    I don't know how much fun it would be if you had 50 models on the build plate that you wanted in an exact order.  For the four I used in the example it was quick.

    oneatatime.thumb.png.6301e49945c0d402663a1990b6dec02a.png

  6. Tuning the feedrate at the printer is fine but adjusting the speed with the Cura settings makes it automatic.  You won't have to babysit the print.

     

    PLA isn't very prone to warping.  That print in your image has really lifted severely.  It is more of what I would expect PETG to do.  My best guess is that it simply isn't sticking to the bed (even with the brim).

     

    When you get settled with the current print, load the model into Cura, set up the slice, and then use the "File | Save Project" command and post the 3mf file here.

  7. Take the build surface off.  Clean it well with dish detergent, put it back in place and wipe it down with 90% isopropyl alcohol.

    "Bed Leveling" (which should be called "Setting the Initial Z gap") is a big part of getting the first layer to stick.  Unlike other layers that go down an exact distance above a previous layer, the thickness of the Initial Layer is totally dependent on the initial Z gap.  If it is too tall it creates under-extrusion and consequently, sticking problems.

     

    I don't know where you are adjusting the percentage.  There really isn't any reason to do that.  In the "Speed" section is "Number of Slower Layers".  Set that to 1 or 2 and the "Initial Layer Print Speed" setting will be available.  The units are mm/sec.  Try at 25 with a clean build surface.

    When I'm printing something with lettering on the build plate (or anything in PETG) I use AquaNet Super Hold hairspray as an adhesion promoter.  There are specialty items just for that (Magi-goo comes to mind).

     

    @gr5 has a video he might share.  I call it "Everything you ever wanted to know about bed adhesion".  It is pretty all-inclusive.

     

    FYI - I print PLA in the range of 200 (white) to 215 (silky) with the bed at 50.  If the bed is too hot (close to or above the "glass temperature" of the material) the first few layers will be deformed and elephant foot is a problem.  60 is the normal build plate temperature for PLA.

     

    I've printed these carburetor covers a few times.  Two "Pause at Height's" allow me to change filament for a couple of layers and the lettering appears a different color.

    image.thumb.png.e38e114036696b04d269e95944d028c3.png

     

  8. I'd print it with "Ryobi" down.  The designer was nice enough to provide chamfers of 45° on those screw ears.  That was done so they wouldn't need support.

    When letters are on the build plate like that they need good bed adhesion and good flow or they can look sloppy because they are on the first layer. You should print the "Initial Layer" slower as well.  Consider that the 90° grinder is going to hang in front of the word anyway.  You won't notice.

     

    This is with supports disabled.  All the pieces are designed so they don't need supports.

    image.thumb.png.246e390ca42db93ef9b9eb425173e7bf.png

     

    • Like 1
  9. There are a lot of extruders but they need to be related to what they are going to be used for.

            wall_extruder_nr
            wall_0_extruder_nr
            wall_x_extruder_nr
            roofing_extruder_nr
            top_bottom_extruder_nr
            infill_extruder_nr
            support_extruder_nr
            support_infill_extruder_nr
            support_extruder_nr_layer_0
            support_interface_extruder_nr
            support_roof_extruder_nr
            support_bottom_extruder_nr
            skirt_brim_extruder_nr
            adhesion_extruder_nr
            raft_base_extruder_nr
            raft_interface_extruder_nr
            raft_surface_extruder_nr

    The way it is written is that a "Wall" is a wall but can be refined to Outer Wall (0) and Inner Wall (x).  A Top/Bottom is a Skin but a Skin isn't necessarily a Top Bottom.

    I'm not seeing a bug, it's the way it works.  Flexible definitions for a niche situation would make a mess for a lot of people.

    Unfortunately you can't really post process or hand edit your gcode because of the difference in nozzle sizes.  All the extrusions would be at an incorrect volume.

     

  10. Bring in a Support Blocker.  Scale it and position it where it will affect the top layer.  Set it to the extruder with the small nozzle.  Make it 1 layer thick and when positioned correctly it should only affect the top layer.

    In the "Per Model" settings set the blocker as a Cutting Mesh.

     

    This is the top layer with a 0.2 nozzle.

    image.thumb.png.6f2ebed2b2b17098f5d67e77053a3c70.png

     

    This is the layer below with a 1.0 nozzle.

    image.thumb.png.a330fd67b9ad777e12d07c6fc7765356.png

     

    Here the blocker is only covering a portion of the top layer.

    image.thumb.png.d6d1faef43a37a6ea0aae299d45900ef.png

  11. In general - no.

    But everything affects everything.  Material, print temperature, Accel and Jerk settings, retraction distance and retraction speed, geometry of the model, length of travel moves, combing...a lot of things come into play.

    #1 is probably retraction distance.  For materials like PETG the print temperature can be very important.

    Too hot and PETG wants to drool all over.  Too cold and layer adhesion suffers and the prints aren't as strong.  All you can do is try to dial them in the best you can.

     

    If you have a bowden printer you should keep an eye on how much the bowden tube slides in and out of the lock fittings on the extruder and hot end.  It can develop a millimeter of slop on both ends so your original retract distance of (for example) 6mm is seriously affected because 2mm might be just the bowden moving in the fittings.  Instead of the filament pulling back from the nozzle 6mm it may only be pulling back 4mm.  Trimming back both ends of the bowden by about 6mm every 30 or 40 print hours is a good idea.  Bowden tubes are considered "consumable" parts.

     

    If you were to print a box, there wouldn't be much stringing.  If you are printing something like a table with the legs in the air the chances of stringing being a problem are much higher.  Any model that develops "islands" while it is printing is going to present challenges.  That's true even when the islands happen to be support structures.

  12. As AHoeben explained...if there are Cura keywords in the startup then Cura itself doesn't have to include the temperature prepend lines.

    For example:  If your StartUp G-Code contained something like this:

     

    M140 S{material_bed_temperature_layer_0}

    M109 S150

    PRINT_START

    G0 F600 Z2.0

    G0 F3600 X0 Y0

    M109 S{material_print_temperature_layer_0}

     

    Then the hot end would wait until it hit 150, then the "print_start" macro would run in the firmware, and then printhead would move up and off to a corner to ooze, and then the hot end would wait until it hit the "Initial Layer Print Temperature".

     

    The Voron2 250 has this in the startup:

     

    print_start EXTRUDER={material_print_temperature_layer_0} BED={material_bed_temperature_layer_0} CHAMBER={build_volume_temperature} 

     

    So it appears that at least one Voron model will accept temperature parameters as part of the "PRINT_START" macro.

     

    So your homework assignment for today includes some light reading and a bit of detective work to see if your machine will accept any parameters for PRINT_START.  (BTW The curly brackets are required for Cura keywords.)

    • Like 1
    • Thanks 1
  13. ",,,so no chance to have a not watertight model at all," 

     

    I made a note of that and stuck it on my CAD computer.  Inventor is good but it will occasionally give me a non-watertight model.  It usually happens when a loft is involved, but once in a while (rarely) it happens with other operations in CAD.

    I've been burned too many times by the words "Never" and "Always".

     

    My testing has been limited, but what I see so far from 5.7beta is a large improvement over 5.6.

    Many bug reports about 5.6 were coming in from Windows11 users.  I hope those issues have been resolved.

     

    The members of the Cura team seem to be making a concerted effort to clear the backlog of bug reports on GitHub.  My congratulations to them for being proactive.  The bug report list was getting long.

    • Like 1
  14. There are two things that can happen

    1. If the nozzle isn't tight enough then plastic can squeeze past it.  It will collect in the silicone boot and then drip onto your print.  There have been instances where the plastic cannot move down so it goes upward.  That creates a real mess.
    2. Over-tightening the nozzle can stress the threads and repeated high stress can lead to stripping the threads.  You have enough thread engagement that 2Nm should be fine.

    After tightening the nozzle and starting a print, just keep an eye on it.  If you see a drip forming then you will need to tweak it a little more.  I would inspect under the silicone insulator after the first print just to make sure it's OK.

     

    The hot end should be warmed up before removing or installing a nozzle. ~180° is good,  They come out hot enough to burn you so make sure you have needle nose pliers or industrial tweezers ready to handle it.

    • Thanks 1
  15. You have a lot of thread engagement there.  The specification for a steel M6 into a steel thread is 3.84Nm.  The weak point is threading them into a soft aluminum block.

    Repeatedly changing nozzles and tightening them will shorten the life of the block as eventually the threads will strip.  The brass of the nozzles has much higher shear strength than the aluminum heater block.  The nozzles will eventually win.  The only real fix is to put a threaded insert (heli-coil) into the heater block.

     

    For the short nozzles in my hot end I use the precise specification "Snug".  As long as molten plastic can't get by you are good to go.

  16. Over the years I just haven't needed to print many things in TPU.  If I was going to I would certainly get a DD machine.  I've never had real issues with the bowden system (for other materials) as long as I trim the bowden back every 50 hours or so.  The constant rotation of the bowden tube in the lock fitting on the hot end drives the little knives into the tube and it will develop up to 1mm of slop.  That effects the retraction distance (by a lot).

    Trying to push TPU 95A through a 14 inch tube is a challenge.

     

  17. The retraction distance would need to be about 20mm and the prime would need to be really slow.  There is a lot of drag and compression within the bowden tube.  That's why I only print flat gaskets and other flat models.  I've taken to pulling a big loop off the roll (like 4 feet) and wiping it down with mineral oil to get it to feed half way decent.  If I don't then it quits feeding after about 20 minutes.

    At a print speed of 10mm/sec I have lots of time to tend it.

  18. You can do as Slashee advises.  What is likely happening is that your "Initial Layer Print Temperature" is 195 so that is what you are going to see in the gcode for the start of LAYER:0.

    If you search the gcode for "M104" you will come across a line just before the start of LAYER:1 and it will show the print temperature for the remainder of the print.

    This is the Cura "prepend" that it will add if there are no replacement keywords in the startup.

    ;TARGET_MACHINE.NAME:Two Trees Bluer
    ;Generated with Cura_SteamEngine 5.6.0
    M140 S60
    M105
    M190 S60
    M104 S195

     

    This is about 20 lines before the start of LAYER:1.

    M104 S210

    Exactly where it appears in the gcode is a function of the difference between the two temperatures and the "Heat Up Speed" factor which is in the Printer Settings.

     

×
×
  • Create New...