Jump to content

Tale of a Wooden Yoda.... 3d Printed Wood


codemaven

Recommended Posts

Posted · Tale of a Wooden Yoda.... 3d Printed Wood

Hi All,

I received my order of the new LAYWOO-D 3d printable wood filament yesterday so my first order of business was to print a Yoda. Here is a brief run-down on my first experience with this amazing material.

Firstly, it feels funny in filament format, it's certainly not like the PLA that I'm used to. I also noticed that it felt too thin. When I got home I measured it and found that indeed the end of my roll was only 2.01mm thick. Measuring at various spots throughout it I found variation between 2.00 and 3.2mm. That's a huge variation that may cause problems with some people. I do not have Bertho's extruder fix yet, but it looks like that might be an essential with this stuff.

I sliced a Yoda using NetFabb and then opened up the resulting Gcode in a text editor so that I could manually insert some m104's throughout it to get that nice banding effect that they advertise. I inserted an m104 about every 100 layer and alternated temperatures between 190 and 240 (the Thingiverse page suggests 180-245 variances). However, it turns out that the approach of alternating every 100 layers is not a good way to go. I thought the temperature changes would be graudal, but in fact they are sharp. My printer only takes a few seconds to change temps so instead of the temperature gradually (and colour) gradually changing over a few layers it happens immediately at a layer. Some more gradual changes are required for nice effect.

It extrudes easily... and is very liquid like PLA. At about 175 it started to freely ooze from my nozzle as PLA does. At the higher temperature above 220 there was a bit of smoke that smelled kinda like wood. I actually found that it smelled like freshly popped popcorn to me. It printed beautifully.

however, about 1/3rd of the way into the Yoda I realized that it was no longer extruding (I'm on a V2 hot-end btw). The Filament was grinding and I had about 4 or 5 layers of no extrusion so I had to stop the print. I could not push the filament through, but pulling it back was easy so I removed the wood filament and ran through some regular PLA. It took a bit of force, but then with a big puff of smoke out of the nozzle whatever was blocking it cleared and it flowed free again. I don't know what cause the jam, but there was no plug as we used to see with PLA in the V1 hot-end. The nozzle just seems to have been jammed with a particle. I don't know if it was a one-off thing or could be an issue with this filament in the Ultimaker nozzle. It also might be the temperature (maybe it was too high and burned the wood into a charred blockage?) Or it might have had something to do with the variation in diameter that I noted. My best guess right now is a combination of the above - I think a variation in thickness caused trouble with the filament feeding which in turn caused the wood that was in the nozzle to stay in the hot end too long and become charred and stuck. But that's a guess.

There was no warpage of the part and it came off the blue tape very easily... but there was very poor adhesion at my first temperature change (from about 230 degrees to 190) and the part separated cleanly on a layer there. It may take some tweaking to get the adhesion to be perfect on temp changes. Perhaps a gradual change would help again. The rest of the temperature changes worked fine and produced a solid part.

The results are very cool. It does feel like wood, and it smells like wood. The bottom surface of he part definitely looks like wood, the rest of it is a little strange looking - more like a dark baked biscuit with bands in it, but it could pass as natural wood if I had the banding a little less sharp.

The part overall is very solid. The bottom bit where (the downskin and about 100 layers where the layer adhesion issue separated from it the rest of the part) is quite flexible, but the main in-filled part is very rigid.

Anyway, I'm loving this stuff so far. Can't wait to hear other's experience. I'm going to make a few tweaks and see if I can get a complete wooden Yoda this weekend.

Cheers,

Troy.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    I ordered quite a bit of this stuff from the German-reprap-foundation. I think it has potential.

    With some Cura hacking it should be quite easy to get nice rings in the object, with even more hacking you might even be able to burn logo's in the side, if you get the temperature to change fast enough and don't print too fast.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    I hand edited it in a simple text editor, however I think I'll write a simple shell script to post-process the g-code to get some nice looking rings. It should be fairly easy to add this kind of support right into Cura. With NetFabb unfortunately I don't think there is any way to integrate this as there is no plug-in or post-processing script support. I like your idea of burning logos into the side of a print. If you use m109s instead of m104s for the temp change you could get precise changes in colour. However, I think you'd need to retract and move the head away before a temp change or you would get a nasty blob each time.

    Cheers,

    Troy.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    I don't think you want to use an M109 so change the temperature. As you would also burn the wood around your nozzle. If printing slow enough then M104 should do the trick, maybe with some extra fan control to cool the nozzle a bit faster.

    I cannot wait for the stuff, want to experiment with it =)

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    I was looking for info on the commands related to temperature and tumbled upon this (how did I miss it?). That's also to upgrade my review at

    http://betterprinter.blogspot.fr/2012/1 ... ament.html

    I am looking into adding python scripts in the Start/End gcode tab instead of static search/replace

    With a script, it would be easy to change temperature at each layer in a pseudo-random but continuous way, with no need for an annoying manual intervention.

    Also, such dynamic plugins would open lots of possibilities (with some security breaches, but hey, plugins are plugins)

    Update: I may better start with looking at skeinforge plugins, shall I? In cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins

    Re-Update: I'm currently testing as a new plugin, I let you know

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    I got 750g of this stuff now. So time to play with it!

    Please please, do not hack in cura_sf, it's a horrible mess. It's better to make a stand-alone post-processing script, which would be better for future compatibility. You can run this post processing script from SF, but we could also run it from Cura. The less features that depend on SF, the better.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    LOL, too late man! Why on earth didn't I get an email notification of your reply? :?

    I agree, it's a confusing mess :D It will be funny to try to localize as it relies on labels to find a variable back, had a hard time figuring this out properly to get my parameters forwarded from cura to my sk plugin (and not much b/c it's the first time I'm programming python, that was a nice reason to try)

    But it's done now. I also added its config in cura expert settings (along the soon-to-go dwindle). I will post it after I give it some real-life testing.

    Anyhow, what would have been the best way to add post-processing to cura WHITHOUT skeinforge then?

    Actually: I'm currently adding perlin noise to get better z-wood grain. Would be cool to apply in each each dimension of the object skin (so as to spare exec time and reduce the g-code). I do not have much time though but may be you can help: is there an obvious existing plugin I could recycle to get the x,y,z "surface" coordinates (only) and know how to split a segment to insert M104 ?

    I just checked it quickly in skeinforge standalone.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    With a post-processing script I mean a script that runs after generating the GCode. This won't have access to the SF functions.

    Example script:

     

    #Name: Pause the printer at a certain height#Param: float(pauseLevel) Pause heightimport repauseLevel = 5.0print "pauseAtZ (%f): %s: " % (pauseLevel, filename)def getValue(line, key, default = None):if not key in line or (';' in line and line.find(key) > line.find(';')):	return defaultsubPart = line[line.find(key) + 1:]m = re.search('^[0-9]+\.?[0-9]*', subPart)if m == None:	return defaulttry:	return float(m.group(0))except:	return defaultwith open(filename, "r") as f:lines = f.readlines()z = 0x = 0y = 0pauseState = 0with open(filename, "w") as f:for line in lines:	if getValue(line, 'G', None) == 1:		newZ = getValue(line, 'Z', z)		x = getValue(line, 'X', x)		y = getValue(line, 'Y', y)		if newZ != z:			z = newZ			print z, pauseState, pauseLevel			if z < pauseLevel and pauseState == 0:				pauseState = 1			if z >= pauseLevel and pauseState == 1:				pauseState = 2				#Retract				f.write("M83\n")				f.write("G1 E-5 F6000\n")				#Move the head away				f.write("G1 X190 Y190 F9000\n")				#Wait till the user continues printing				f.write("M0\n")				#Move the head back				f.write("G1 X%f Y%f F9000\n" % (x, y))				f.write("G1 E5 F6000\n")				f.write("G1 F9000\n")				f.write("M82\n")	f.write(line)

     

    I quickly hacked cura to run this after slicing:

     

    +++ b/Cura/util/profile.py@@ -531,3 +531,8 @@ def getAlterationFileContents(filename):                       alterationContents = ''       return unicode(prefix + re.sub("(.)\{([^\}]*)\}", replaceTagMatch, alter+def runPostProcessing(filename):+       print "runPostProcessing: %s" % (filename)++       pythonFile = os.path.normpath(os.path.join(os.path.dirname(os.path.abspa+       execfile(pythonFile, {'filename': filename})...skipping...diff --git a/Cura/gui/sliceProgessPanel.py b/Cura/gui/sliceProgessPanel.pyindex 28f7582..09fdda4 100644--- a/Cura/gui/sliceProgessPanel.py+++ b/Cura/gui/sliceProgessPanel.py@@ -168,6 +168,7 @@ class WorkerThread(threading.Thread):                               if logLine.startswith('Model error('):                                       gcodefile.write(';%s\n' % (logLine))                       gcodefile.close()+                       profile.runPostProcessing(gcodeFilename)                       self.gcode = gcodeInterpreter.gcode()                       self.gcode.load(gcodeFilename)                       profile.replaceGCodeTags(gcodeFilename, self.gcode)diff --git a/Cura/util/profile.py b/Cura/util/profile.pyindex 62a32f9..d797868 100644--- a/Cura/util/profile.py+++ b/Cura/util/profile.py@@ -531,3 +531,8 @@ def getAlterationFileContents(filename):                       alterationContents = ''       return unicode(prefix + re.sub("(.)\{([^\}]*)\}", replaceTagMatch, alterationContents).rstrip() + '\n' + postfix).encode('utf-8')+def runPostProcessing(filename):+       print "runPostProcessing: %s" % (filename)++       pythonFile = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'post_process', 'pauseAtZ.py'))+       execfile(pythonFile, {'filename': filename})

     

    I wanted to add features like this to Cura for some time now, but I never got around to do it.

    A default library to help with parsing GCode and inserting extra points would be helpful.

    This means we do not modify the slicer, and could easier replace the slicer later on without losing features.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    Many thanks :)

    There may be no libraries yet, but it is way more readable.

    The main drawback would be not to benefit from third-party additional skeinforge plugins, and not to bring ours to others sk users. While Cura rules, it does no laser cutting yet... Also, complex plugins may require access to the guts of gcode generation (eg inset, etc)

    Now, post-processing calls for pre-processing...! Hacking in perlin noise makes me think I should have a look at disturbing the vertices to give an object a hand-made look... I always promised myself NOT to start coding in there, but I could not resist...

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    Not supporting lasercutting/milling is a good thing. SF is a horrible mess, especially because it can do 100.000 things.

    I like the post-processing scripts idea because it's so separate from the slicer, many things we want to add have nothing to do with the actual slicing process. And could be done after every slicer, if it's SF, Slic3r, KissSlicer of MircleGrue.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    Hello Daid,

    Can you post or put a working way to test print this laywood? Having some to test ;-)

    Or give some expl. how to integrate a button "wood" into Cura (Cura12.11 win7 64bit)

    Thx for your great work!

    Xiao Shi Zi.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    The wood grains can be used with the Wood plugin. We actually uploaded a plugin for Cura 12.11 which can do this:

    http://wiki.ultimaker.com/Category:CuraPlugin

    Special thanks to Jeremie Francois who created the code.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood
    The wood grains can be used with the Wood plugin

    Great! Now I can upgrade... and start writing more plugins ;)

    Thanks for all the good work, Daid

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    You're welcome, I've already done some small improvements on the plugin GUI for the next version. It's small things that should make it easier to install plugins and get the information you need.

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    Damn, it looks like linux lacks an official 12.11 release ;)

    On

    http://software.ultimaker.com/index_.php/

    So I switched to the source... but sorry for this highly off-topic newbie question: how shall I launch it once downloaded from git? I keep on getting this error?

     

    Traceback (most recent call last): File "cura.py", line 17, in    from Cura.util import profileImportError: No module named Cura.util

     

    No such file, even on the older cura release? I also quickly tried to package.sh it for myself but kubuntu's quantal cx-Freeze got in the way (too old a version...)

  • Link to post
    Share on other sites

    Posted · Tale of a Wooden Yoda.... 3d Printed Wood

    We're refactoring the development version, so that's breaking things left and right.

    As for the 12.11 release, it's the same as the 12.10 release except for a bugfix for Windows. I did upload the Mac 12.11 so I would get less questions. But the 12.10 for linux would be 100% the same as the 12.11 for linux.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Like
        • 2 replies
      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 26 replies
    ×
    ×
    • Create New...