1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Under-table filament holder

Discussion in 'Projects' started by OutsourcedGuru, Jul 7, 2017.

  1. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Having discussed this a bit, I've just designed a rather large part that's printing now in carbon fiber—infused PLA (at a whopping 116.6mm x 117.3mm x 142.0mm with a raft). So this will be my first tall part that's diagonally-aligned to get some base footprint as well.

    Not sure if this will work as I intend it to but I wasn't in the mood for having multiple parts which fit/join together.

    The Robo C2 sits atop a tall Ikea corner shelf. A pair of these will fit under the back two legs of the Robot C2, extending behind the shelf in such a way that a roll of filament can be loaded sideways in the shelf space below that. At the moment, I have a fat dowel that will act as the axle but I might print one so that it's less likely to slide sideways.

    Oh, and I'm really loving the MJPG-Streamer server now with the webcam. I can monitor the job remotely without being in the other room. :)
     

    Attached Files:

  2. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Unfortunately, the filament has again gotten cross-linked on the spool, resulting in a few hours of "air printing" without extrusion. I include the following mostly to show why I'm changing the filament holder in the first place. (Honestly, 50% of the problem is the location of the stock filament holder, another 50% is the way filament manufacturers are spooling filament and the remaining 50% of the problem is the shape of the spools themselves. As you can tell, I'm good with math.)

    IMG_0186.jpg IMG_0187.jpg IMG_0190.jpg IMG_0191.jpg IMG_0192.jpg
     
  3. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Failed almost immediately due to cross-over (again). Removed several yards of filament from the roll and modified the holder with a coat hanger to hold an axle-dowel down.

    IMG_0194.jpg
     
  4. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Got a successfully-printed part last night (Shaxon carbon fiber). For the C2, this is a skyscraper, taking up every millimeter of the print volume vertically. Worked out the bugs in Cura's adherence of temperature settings.

    I added a restraining coat hanger and axle which held down the spool in those cases where cross-threading could have occurred. The rock tumbler base is rather heavy, btw. The feel of the carbon fiber filament is rougher than all my other filaments and this is part of the blame in cross-threading woes.

    I'm surprised that both punch-through holes turned out great. If you'd like to see the 100MB+ time-lapse, I'll need to upload that somewhere. It's actually good to see the printer in action during the riskier portions of the print. In this case, the gradual sweep of the arm seems to work out.

    IMG_0195.jpg IMG_0196.jpg IMG_0197.jpg IMG_0198.jpg
     
    colton81 and mark tomlinson like this.
  5. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Item The First:
    Is it just mine or does the filament switch actually work on the C2? Woke up this morning, the spool is bone dry and lying sideways on the table, the axle is on the table, the filament tube is empty and the print job is happily air-printing without a clue. My OctoPrint has the filament sensor plugin and I'm pretty sure that it's enabled. The filament was going through the far sensor hole as it's always been.

    Item The Second:
    I swear, I'm going to attempt to restart this frickin job. So I'm perhaps twelve hours into an eighteen hour print. It's a good-looking part so far and it's made out of expensive filament. I'm past the risky part of the print and it's just smooth sailing from here on in. It's not important that this look beautiful since it's just a tool for the printer. I have a third of a roll of manually-wound filament ready to go and it's enough to finish this, I think.

    Strategy:
    So I guess... I'll open up the GCODE file and try to find out where it stopped actually printing from a Z standpoint. I'll manually manipulate the extruder assembly without heat as a probe tool to get some accuracy on that last Z. Back to the file, I'll snag a moveto command and manually run that to verify the correct X/Y to get started again...

    I'll then edit the middle of the file out of existence, leaving the startup temperature control. The initial movement(s) should be to adjust X/Y to get close and then move Z 10mm down to the next layer.

    I've got to remove the autoleveling routine, the printing of the tell, any homing movements (especially in the Z direction). I've got to manually push the X/Y to some safe position behind the part. I've got to position the Z to about 10mm above the last layer. I have to then start the truncated/edited GCODE, throw some salt over my left shoulder, cross myself and say three "Hail Marys"...

    I'll either be hero or fool on this. I should just chuck it but honestly, we used to restart jobs back in the CNC world; they would screw up all the time for a variety of reasons. I miss seeing the GCODE scroll by as it's running in realtime. There becomes a point where you start to think in GCODE if you've watched enough of it day after day.

    As I reflect on this, it would have been so peachy if the filament switch could have paused the job last night for me. I could have run the filament change wizard and been back in business.

    Comments/laughter?
     
  6. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,957
    Likes Received:
    7,344
    1) it does on mine
    2) depending on the slicer you could perhaps just sink the model into the bed (below the bed) until the place you want to start is on the bed. Then slice and print the "top". That totally works with Simplify3D
     
  7. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    You know, I was thinking of that with Cura. I'd totally need to turn off rafting/supports for that. I'd need to exactly match my scaling from earlier.

    But then I'd need to turn off the tell and the autoleveling, right? That sounds like tweaking OctoPrint's startup gcode.

    Oh... and do I need to use a hair dryer to bring the top of the part up to some temperature so that the next layer will adhere?
     
  8. Kilrah

    Kilrah Well-Known Member

    Joined:
    Apr 18, 2017
    Messages:
    498
    Likes Received:
    332
    I've done that last week, looked at the timelapse files and counted the number of layers already printed, worked out the Z, and removed all the Gcode until the next layer from that (no need to try and finish the layer, it's a major pain to find the exact stop location and it'll just fill itself as long as at least 3 layers or so will get printed on top anyway.

    Granted it was only 5 layers or so (but a huge area, so long)
     
    OutsourcedGuru likes this.
  9. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,957
    Likes Received:
    7,344
    I doubt you can get it to resume, I meant printing the top portion as a stand-alone print and glue the two together.
     
    OutsourcedGuru likes this.
  10. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Yeah, I wasn't going to take up where I'd left off mid-layer. That would be fresh madness.
     
  11. Kilrah

    Kilrah Well-Known Member

    Joined:
    Apr 18, 2017
    Messages:
    498
    Likes Received:
    332
    Just be extra careful to remove any instruction with a Z lower than what's already done, e.g. in the startup gcode after homing or you'll collide with the print.

    Since I removed the Octoprint Gcode and moved it into Cura it was easy as it's all in the file, but if you haven't done that you'll have to edit the octoprint startup code and restore it afterwards.
     
    OutsourcedGuru likes this.
  12. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Oh... hadn't even thought of that. It'll need to support as much as... a kilogram divided by two supports, divided by the area of the cross section (three square inches)... so 6 ounces per square inch perhaps. Hot glue would likely do this.

    Decisions, decisions...
     
  13. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    I'm too old not to go bold on this one. ;) <- quotable phrase Wish me luck.
     
    mark tomlinson likes this.
  14. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    AchievementUnlocked.png

    Not bad on the attempt, the front side looks clean as a baby's butt.
    You can only see a single layer that's gapped on the reverse side but I'll call that a successful restart.

    IMG_0213.jpg

    No filament snarls, it just ran the spool out again. So I'll get more practice.

    How To
    * Measure the part from the bed = 106mm (noting that there's a raft so this will only get us close)
    * Fetch the height from Cura, in this case = 152.5mm
    * Fetch the total number of layers from the GCODE = 712 layers

    Code:
      712      x
    ----- = ----
    152.5    106
    * Solve for x, the last layer printed (495).
    * Since Cura decorates the GCODE with comments, search for ";LAYER:495"
    * Review that section of GCODE, we're looking for a G0 with a Z adjustment after this layer. Visit the few layers above/below this, auditing for height:

    Code:
    ;LAYER:495
    G0 F6000 X69.109 Y28.379 Z100.4
    G1 F2400 E3494.376
    G1 Z100.475
    * Using OctoPrint's ability to send printer commands, iteratively send commands to move the printhead, making sure to keep the hotend off, avoid extrusions and to be careful of running into things.

    Code:
    G0 X0 ; Far left
    G0 Y0 ; Front of printer
    G0 Y125 ; Back of printer
    G0 Z90 ; Bed is too high
    G0 Z110 ; Bed is too low by about 5mm
    G0 X60 ; Mid-print
    G0 Y60 ; Mid-print, now ready to bring bed up
    G0 Z109 ; repeat this in 1mm steps...
    ...
    G0 Z105 ; Looks very close, did paper test here between extruder
    
    * Now that we're close, go back and audit the layers in the GCODE to come up with these candidates.

    511 => Z103.675
    512 => Z103.875
    513 => Z104.075
    514 => Z104.275
    515 => Z104.475
    516 => Z104.675

    * Move the printhead out of harm's way in front of the part and now drop it down to Z104.675 and view this closely to confirm that this is our target layer and height.
    * Copy/remove OctoPrint's -> Settings -> GCODE Scripts -> "Before print job starts" into a separate text file.
    * Edit the contents of that, using some for the start of your new GCODE appendix file. Make sure there's no autoleveling, no homing, nothing unnecessary.
    * Remove the middle portion of the existing GCODE file for layers -7 through 515.

    I created some lines to add to the activities going on. I wanted a chance to abort if the printhead was about to start printing in the wrong place so the three pauses and inching the printhead closer to the part is that strategy. But it did just fine so I didn't have to abort.

    Code:
    ; OctoPrint startup code, edited
    ; set to millimeters
    G21
    ; set to absolute mode
    G90
    ; zero extruder
    G92 E0
    ; turn off fans
    M107
    ; move to back left corner and well above last layer
    G1 X0 Y125 Z110 F7200
    ; set movement speed
    G1 F7200
    ;-------------
    ;Original Code
    ;FLAVOR:RepRap
    ;TIME:39366
    ;Generated with Cura_SteamEngine 2.3.1
    ;Edited a lot by OutsourcedGuru
    M104 S205
    ;Blocking ramp-up of hotend temperature
    M109 S205
    ;From an X/Y standpoint, move above part
    ;but 10mm above destination
    G0 F6000 X61.743 Y20.846 Z114.6
    ;Pause for ten seconds
    G4 S10
    ;Pause for five more seconds
    G4 S5
    ;Within 2mm now
    G0 Z106.6
    ;Pause for another five seconds
    G4 S5
    ;-------------
    ;LAYER_COUNT:712-516=196
    ;-------------
    ;LAYER:516
    G0 F6000 X61.743 Y20.846 Z104.6
    ...
    
    * Heat up the top of the part with a hair dryer (about an inch from the part)
    * Run the New Filament wizard to get the extrusion flowing
    * Start the video stream, refresh, select the job, start the print
     
    #14 OutsourcedGuru, Jul 11, 2017
    Last edited: Jul 11, 2017
  15. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Back from Fry's with another roll of Shaxon and one more mid-print restart on this. It was pretty late by the time I started this so I didn't use the hair dryer technique from before to warm up the existing layers prior to start. I think this may have had a negative impact but I can't be sure. Looks like there were only 44 layers left to go.

    It's entirely possible that I skipped a layer but I really put the work into sleuthing the GCODE and measuring with manual G0 commands, ad infinitum. Looking at this very carefully I'm not convinced that I did actually miss one.

    Noting for all that Shaxon has a spooling problem but Mark mentioned concerns before on them. Had to spool off 1/3rd of the roll onto another spool and then back to the original. See the new roll below prior to this activity; lots of potential cross-overs. I'm guessing that they're spooling them too hot. It was worse than what the photo suggests, the filament was locked in pretty tight.

    I swear that I didn't have to do this last time but this restart/sleuthing event I had to actually subtract the EEPROM's z-offset! Last time, I just used whatever Z was in the GCODE, exercised that manually and was able to find where I needed to be. This time, I looked and looked and looked in the GCODE but kept coming up with odd combinations. It eventually dawned on me that something had changed and that now I needed to subtract that magic 12.3mm offset to yield the true X/Y/Z combo.

    It's all good in the end, though. I saved an expensive part and still have my sanity while the credits are rolling.

    IMG_0216.jpg IMG_0217.jpg IMG_0218.jpg IMG_0219.jpg
     
  16. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,957
    Likes Received:
    7,344
    and already I am starting to hate on you ;)

    GOD WE NEED ONE CLOSE.
    <sigh> Currently Atlanta is closest and that is a bit of a haul.
     
  17. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    It's starting to be mandatory now that Radio Shack is out of commission. I wouldn't necessarily say this is the cheapest place to get filament, just... handy. That carbon fiber was just $50 though.

    Fry Search
     
  18. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    I've decided to scrap the under-table version of this for the table-top variety since I'll now be going to dual-spool with the double-extruder. I've printed fourteen parts so far and have a few more to go. I'll create a separate thread later on when the step-by-step repository is up.
     
  19. mathewwben

    mathewwben New Member

    Joined:
    Oct 11, 2017
    Messages:
    2
    Likes Received:
    0
    Hi,

    I am also looking exactly the same from last 6 months but there is no solution for me till I reached this forum.

    Thanks for giving a wonderful solution........
     

Share This Page