Thingiverse
Generate wood patterns with temperature changes by MoonCactus
by Thingiverse
Last crawled date: 3 years ago
Script to generate texture via temperature gradients to get horizontal stripes that "look like wood". The last and only updated source code is now on github at https://github.com/MoonCactus/gcode_postprocessors/tree/master/wood
This is the code of my post here: http://betterprinter.blogspot.fr/2012/10/shades-of-brown-with-wood-filament-via.html
The owl is Cushwa's popular design at http://www.thingiverse.com/thing:18218
The picture which highlights the effect on a regular polygonal vas comes from mttwinmill (https://www.thingiverse.com/make:657526)
This thing is not an object to print, but a set of instruction that will "patch" your gcode file in place (it will be modified), so keep a backup if you need one.
The gcodeFile is the only compulsory parameter. Check the source code for more information.
Initial temperature settings will be overridden by the varying pattern that is generated by this script (a variant of recursive Perlin noise). You can run it multiple times to test different values and generated temperature curve until you like it.
Default values are minTemp=190, maxTemp=230 and grainSize=3. Higher temperatures produce darker bands (due to the wood being burnt). Do not let the wood stay too long in your nozzle else you might end up clogging it with carbon (which is quite hard to clean up)!
Download the latest python script from https://github.com/MoonCactus/gcode_postprocessors/tree/master/wood
This script was designed and works with "Python" (https://www.python.org/downloads/)
How to run it on windows (thanks to Nic/@nd1985):
Install python from https://www.python.org/downloads/windows/ or check http://docs.python.org/2/faq/windows.html
Open the windows command prompt.
If you search for cmd, it will pop up.
Drag the python file into the command prompt
Type -f and drag in the gcode file you want to modify
Type -i and enter the minimum temp you want (e.g. -i 180, with a space between the option and the Celcius degree)
idem, use -a maxtemp if you want
also -g grainsize if you want. I used the default 3.0
Hit enter. The script will process. When finished, the command prompt will reset to the state it was in when you first started. The original gcode you entered has now been modified.
Basic parameters
-f aka --file G-code file to process (with complete path if needed). This is the only required parameter.
-i aka --min Minimum allowed temperature (too low and the filament will not extrude!). Default is 180
-a aka --max Maximum allowed temperature (too high and the filament will carbonize!). Default is 230
Aesthetics
-g aka --grain Average "width" of the patterns (smaller means faster variations). Default is 3.0
-z aka --z-offset Shift the pattern vertically (e.g. if you want it to match some geometrical feature of your design). Default is 0.0
-r aka --random-seed Use a completely different pattern
-s aka --spikiness-power How "spiky" are the dark bands (sets the imbalance of light/dark bands). With higher values (eg 2 or 3), the dark stripes will be made sparser. You can get the opposite effect with value between 0 and 1 (eg. 0.5 will generate fatter dark bands, convenient for filament that get lighter with temperature). Values below 0.2 or above 3.0 are probably useless.
Advanced options
These are mostly to play nice with a few printer firmwares. Use only when needed!
-k aka --skip-start-z Do not change temperatures until provided height (e.g. when you are using a support/raft)
-t aka --first-temp Which temperature to start with. Default is to set it.
-u aka --max-upward Cap instant temperatures increases (in °C/layer), default is no cap!
-d aka --max-downward Cap instant temperatures decreases (in °C/layer)
-c aka --scan-for-z-hop Try to detect the "Z-hop" that some slicer do. Default is 5mm, use 0 to disable it.
-w aka --temp-command set the temperature g-code command to use (defaut is M104, but you might want M109 that waits for the temperature to settle before moving on, some printers may need this)
If you are using a command line interpreter and you have Python installed on your machine, you can run it like this, e.g. to generate temperatures that vary within 205 and 235°C use the following:
python wood.py --min 205 --max 235 --file myfile.gcode
When you want "faster" variations, just change the default 3mm --grain and use a smaller value, like
python wood.py --min 205 --max 235 --grain 1.5 --file myfile.gcode
If your printer stops with a "thermal runaway" error, you can tell the script to go slower and wait for temperatures to settle on each change, by using an alternate g-code command, e.g.:
python wood.py -w M109 --file myfile.gcode
(see https://www.simplify3d.com/support/articles/3d-printing-gcode-tutorial/#M104-M109 about the issue)
About Cura and Cura plugins
After multiple requests and at last, I converted the initial Cura plugin to a standalone Python script that no more needs Cura nor Skeinforge. I documented the process here by the way: http://betterprinter.blogspot.fr/2013/02/how-tun-run-python-cura-plugin-without.html
This script was an early but official plugin in Cura (version 12.11+). But Ultimaker broke its own support to the plugins with almost each new release (why?). I hope forthcoming Cura 4 will eventually settle to something that would not require me to fix the script with each new release. Sorry, but there will be no more support for Cura until they make their mind!
Last updates
20190307-113457 Clearer documentation
Wed Mar 29 18:53:31 CEST 2017 Moved to github! This is the terminal update that will appear here!
Wed Sep 28 12:41:55 CEST 2016 Instructions cleanup and cosmetic fix to the python script
Fri Jan 10 14:32:52 CET 2014 wood31 Fixed obsolete syntax that made Python3 fail (thanks @Mysli) wood32 is for Python3, should work also on Python2 but untested by me!
Thu Jan 9 23:10:51 CET 2014 Added some more options, and a Windows-friendly zipped version with windows line ends and zipped so that it does not get corrupted when downloaded or opened (this OS sucks so much that you have to pay for it, and you get a notepad as useful as an ashtray on a motorbike, so ridiculous!)
Sun Jul 7 21:43:12 UTC 2013 I added a limited web service hosted on https://www.tecrd.com/tools/stl_wood (but it may refuse your file because it is too big, or because the server is busy doing something else)
Tue Feb 12 08:35:53 UTC 2013 more readable ASCII art plot, can be re-run on itself, it will no more duplicate the commands and graph, fixed a bug in the numeric arguments (thanks to Fused3D)
This is the code of my post here: http://betterprinter.blogspot.fr/2012/10/shades-of-brown-with-wood-filament-via.html
The owl is Cushwa's popular design at http://www.thingiverse.com/thing:18218
The picture which highlights the effect on a regular polygonal vas comes from mttwinmill (https://www.thingiverse.com/make:657526)
This thing is not an object to print, but a set of instruction that will "patch" your gcode file in place (it will be modified), so keep a backup if you need one.
The gcodeFile is the only compulsory parameter. Check the source code for more information.
Initial temperature settings will be overridden by the varying pattern that is generated by this script (a variant of recursive Perlin noise). You can run it multiple times to test different values and generated temperature curve until you like it.
Default values are minTemp=190, maxTemp=230 and grainSize=3. Higher temperatures produce darker bands (due to the wood being burnt). Do not let the wood stay too long in your nozzle else you might end up clogging it with carbon (which is quite hard to clean up)!
Download the latest python script from https://github.com/MoonCactus/gcode_postprocessors/tree/master/wood
This script was designed and works with "Python" (https://www.python.org/downloads/)
How to run it on windows (thanks to Nic/@nd1985):
Install python from https://www.python.org/downloads/windows/ or check http://docs.python.org/2/faq/windows.html
Open the windows command prompt.
If you search for cmd, it will pop up.
Drag the python file into the command prompt
Type -f and drag in the gcode file you want to modify
Type -i and enter the minimum temp you want (e.g. -i 180, with a space between the option and the Celcius degree)
idem, use -a maxtemp if you want
also -g grainsize if you want. I used the default 3.0
Hit enter. The script will process. When finished, the command prompt will reset to the state it was in when you first started. The original gcode you entered has now been modified.
Basic parameters
-f aka --file
-i aka --min
-a aka --max
Aesthetics
-g aka --grain
-z aka --z-offset
-r aka --random-seed
-s aka --spikiness-power
Advanced options
These are mostly to play nice with a few printer firmwares. Use only when needed!
-k aka --skip-start-z
-t aka --first-temp
-u aka --max-upward
-d aka --max-downward
-c aka --scan-for-z-hop
-w aka --temp-command
If you are using a command line interpreter and you have Python installed on your machine, you can run it like this, e.g. to generate temperatures that vary within 205 and 235°C use the following:
python wood.py --min 205 --max 235 --file myfile.gcode
When you want "faster" variations, just change the default 3mm --grain and use a smaller value, like
python wood.py --min 205 --max 235 --grain 1.5 --file myfile.gcode
If your printer stops with a "thermal runaway" error, you can tell the script to go slower and wait for temperatures to settle on each change, by using an alternate g-code command, e.g.:
python wood.py -w M109 --file myfile.gcode
(see https://www.simplify3d.com/support/articles/3d-printing-gcode-tutorial/#M104-M109 about the issue)
About Cura and Cura plugins
After multiple requests and at last, I converted the initial Cura plugin to a standalone Python script that no more needs Cura nor Skeinforge. I documented the process here by the way: http://betterprinter.blogspot.fr/2013/02/how-tun-run-python-cura-plugin-without.html
This script was an early but official plugin in Cura (version 12.11+). But Ultimaker broke its own support to the plugins with almost each new release (why?). I hope forthcoming Cura 4 will eventually settle to something that would not require me to fix the script with each new release. Sorry, but there will be no more support for Cura until they make their mind!
Last updates
20190307-113457 Clearer documentation
Wed Mar 29 18:53:31 CEST 2017 Moved to github! This is the terminal update that will appear here!
Wed Sep 28 12:41:55 CEST 2016 Instructions cleanup and cosmetic fix to the python script
Fri Jan 10 14:32:52 CET 2014 wood31 Fixed obsolete syntax that made Python3 fail (thanks @Mysli) wood32 is for Python3, should work also on Python2 but untested by me!
Thu Jan 9 23:10:51 CET 2014 Added some more options, and a Windows-friendly zipped version with windows line ends and zipped so that it does not get corrupted when downloaded or opened (this OS sucks so much that you have to pay for it, and you get a notepad as useful as an ashtray on a motorbike, so ridiculous!)
Sun Jul 7 21:43:12 UTC 2013 I added a limited web service hosted on https://www.tecrd.com/tools/stl_wood (but it may refuse your file because it is too big, or because the server is busy doing something else)
Tue Feb 12 08:35:53 UTC 2013 more readable ASCII art plot, can be re-run on itself, it will no more duplicate the commands and graph, fixed a bug in the numeric arguments (thanks to Fused3D)
Similar models
thingiverse
free
Temperature tower & injector by m1ngr
... new extruder temperatures to the g-code at appropriate levels.
just print modified g-code file.
tested with slic3r and repetier.
thingiverse
free
Customizable Temperature Calibration Tower by fchorney
...th slightly different values.
p.s. credit goes to kerog777 for the openscad file, as well as the original idea and python script.
thingiverse
free
Creality CR-10 Max Temp Temperature Tower by IncubatorWarehouse
...xtensions>post-processing>modify g-code
-add a script>changeatz 5.2.1
-add a script for each time it changes temperature
thingiverse
free
GCodeAnalysor-1.1 by kyfok
...] “cura 3d printing slicing software”(accessed: 2016-11-04). [online]. available: https://ultimaker.com/en/products/cura-software
thingiverse
free
Python script to insert gcode commands before a layer by arpruss
...a simple python script to automate this and other similar things (e.g., inserting a temperature change). here it is...
thingiverse
free
Heattower Dremel 3D20 by jet5678
...you have different temperature levels.
you can download all individual .stl files here: https://www.thingiverse.com/thing:2729076
thingiverse
free
PLA Extruder Temperature Testing Column by pasqal
...10 ; e.g. set temperature 210'c
before g1 zxx command in g-code file.
abs version http://www.thingiverse.com/thing:217523
thingiverse
free
rpmify with Python by jmil
...o run, such as 20.
the goal is to process your gcode file one line at a time and replace pwm with rpm
m108 s255 --> m108 r20.0
thingiverse
free
Customizable smart temperature tower + injector script by andreas21
... files using the blender add-on io_mesh_openscad in order to create a single .scad file without imports. (customizer limitations)
thingiverse
free
quick temperature fillament test by UltiArjan
...ps with "tweak at z"
the uploaded test5 is a little different than the shown photo, it has 1 additional overhang angle.
Mooncactus
thingiverse
free
Rollerstruder: filament feeder by MoonCactus ( Separated ) by elephanten
...ithout breaking it. so i divided them in rhinoceros. hope this helps someone.
note: files include only the base and the arm part.
thingiverse
free
Handlebar / tube mount for Garmin Montana 600 family by MoonCactus
...n gps device on one of my two bikes for the forthcoming holidays. it is sturdier than i thought (see http://youtu.be/wcfcydthpxo)
thingiverse
free
dell power plug cable strap holder pin by MoonCactus
...astic band on a a dell laptop power supply.
this way of storing the cable is great, and this print replaces a broken or lost pin.
thingiverse
free
Mooncactus XY for plastite screws (no nuts!) + a bushing-retaining lip by nhfoley
...length...
use mcmaster part 94669a612 as a standoff to protect the belt from the sharp screw threads where it is being clamped.
thingiverse
free
Bowden clamp with a blind rivet nut (not printed) by MoonCactus
...standard nuts, and they also feature a very convenient shoulder, to be embedded in printed parts.
the result is incredibly solid.
thingiverse
free
Revisited & customizable: universal hose coupler and funnel maker by MoonCactus
...izer, which may help people looking for some specific adapters :)
fyi: all values are specified in millimeters in the customizer!
thingiverse
free
Wheel stabilizer / spacer by MoonCactus
...bly less useful for the arm junction to the z axis, because these wheels are fully secured on both sides, contrary to the others.
thingiverse
free
Nut calumet - helps bolting anything by MoonCactus
...r own needs (check the button above). i took the idea of opening the head laterally from peteruithoven (see derivations), thanks!
thingiverse
free
Drop in replacement: ultimaker small stepper gear by MoonCactus
... month of use and kilograms of pla. no wear so far! it works very well with my big gear at http://www.thingiverse.com/thing:25501
thingiverse
free
Drop in replacement for the ultimaker extruder big wheel/gear by MoonCactus
...lacement now that i can ;)
this is just a use of leemonbaird nice library with added holes (esp. the big nut slot in the center).
Temperature
3d_ocean
$9
Temperature Controlled Shaker
...ure
multitherm temperature controlled shaker model. centered, no quads. ready for texturing and animations. rendered in keyshot 4
turbosquid
$35
Ear Temperature Thermometer
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$18
Convectors Ntherm and temperature controller Vartronic
...rature controller vartronic for download as max, fbx, and obj on turbosquid: 3d models for games, architecture, videos. (1553379)
turbosquid
$12
Dryer high temperature mechanical and electrical factory
...rature mechanical and electrical factory for download as max on turbosquid: 3d models for games, architecture, videos. (1615409)
3d_export
$12
Temperature Control Travel Mug
...; x 2.84" x 7.62"<br>- model parts: 2<br>- material count: 2<br>- xform: yes<br>- boxtrick: yes
3d_export
$7
GEARBOX BUSHING PEUGEOT 307
...bushing peugeot 307 3dexport print material - elastan\tpu nozzle temperature - 230°с bed temperature - 100°с layer height -...
3ddd
$1
Wash Basin with light indicator
...indicator 3ddd wash basin with light indicator according to temperature ...
3d_ocean
$6
Low Profile Radiator
...low profile radiator 3docean heat heater hot pipe radiator temperature thermostat warm a low profile version of the...
3d_ocean
$6
Radiator
...radiator 3docean copper heat home house joints pipe radiator temperature thermostat warm a normal radiator with pipes and...
archibase_planet
free
Thermometer
...thermometer archibase planet thermometer temperature gauge sauna equipment thermometer - 3d model (*.gsm+*.3ds) for...
Patterns
3d_export
$10
pattern
...pattern
3dexport
old carved pattern
3d_ocean
$4
Window Pattern
...c4d cinema4d design element geometry geometry pattern grill pattern pattern vray vrayforc4d window pattern
window or wall pattern
design_connected
$18
Pattern
...pattern
designconnected
emu group pattern computer generated 3d model. designed by levy, arik.
3ddd
$1
pattern
...pattern
3ddd
решетка
1000x1000
3ddd
$1
Stucco pattern
...stucco pattern
3ddd
розетка
stucco pattern
3d_ocean
$10
Pattern
...pattern
3docean
extrude
national ornament
turbosquid
$6
Pattern
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
3d_export
$5
pattern
...pattern
3dexport
cnc router --3d printer
turbosquid
$25
Wall Pattern A05 (pattern only)
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$25
Wall Pattern A04 (pattern only)
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
Generate
3d_export
$17
Generator
...generator
3dexport
generator
archibase_planet
free
Generator
...base planet
generator electric generator
generator electric n300715 - 3d model (*.gsm+*.3ds+*.max) for interior 3d visualization.
design_connected
$20
Generation
...generation designconnected knoll generation computer generate 3d model. designed by formway...
3d_export
$8
generator
...generator
3dexport
generator - obj, 3ds, fbx.
3d_export
$7
generator
...generator
3dexport
generator extures 4k resolution, basecolor -normal -metallic -ao-roughness-height tris:3084
turbosquid
free
generator
...rator
turbosquid
free 3d model generator for download as max on turbosquid: 3d models for games, architecture, videos. (1492909)
3ddd
$1
general
...general
3ddd
генерал
turbosquid
$99
generator
...urbosquid
royalty free 3d model generator for download as ma on turbosquid: 3d models for games, architecture, videos. (1514125)
turbosquid
$20
Generator
...rbosquid
royalty free 3d model generator for download as max on turbosquid: 3d models for games, architecture, videos. (1244841)
turbosquid
$2
Generator
...rbosquid
royalty free 3d model generator for download as fbx on turbosquid: 3d models for games, architecture, videos. (1245541)
Changes
3d_export
$10
Feed chang
...feed chang
3dexport
turbosquid
$5
Change Dish
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
design_connected
$29
Basis 25 + Change
...basis 25 + change
designconnected
schramm basis 25 + change computer generated 3d model.
turbosquid
$9
Change black coin
...
royalty free 3d model change black coin for download as max on turbosquid: 3d models for games, architecture, videos. (1494730)
turbosquid
$9
Change gold coin
...d
royalty free 3d model change gold coin for download as max on turbosquid: 3d models for games, architecture, videos. (1494727)
turbosquid
$3
change cup box
...uid
royalty free 3d model change cup box for download as stl on turbosquid: 3d models for games, architecture, videos. (1241132)
turbosquid
$50
110214 da chang
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$15
Stove (Color Changing)
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$5
Wardrobe Changing Room
...for download as ma, 3ds, max, obj, fbx, unitypackage, and upk on turbosquid: 3d models for games, architecture, videos. (1415915)
3d_export
$9
baby changing table 001
...baby changing table 001
3dexport
modern changing table - chest of drawers for a children room + decor.
Wood
3ddd
$1
Wood
...wood
3ddd
wood
3ddd
$1
Wood
...wood
3ddd
wood
3ddd
$1
Wood
...wood
3ddd
wood
3ddd
$1
Wood
...wood
3ddd
wood
3ddd
$1
Wood
...wood
3ddd
доска
wood
3ddd
$1
Wood
...wood
3ddd
доска
wood
3ddd
$1
wood
...wood
3ddd
дрова
wood, log
3d_ocean
$3
Wood Crate
...wood crate
3docean
box crate wood
a model of a wood crate
3ddd
free
Wood crafts
...wood crafts
3ddd
wood , crafts
wood crafts of chinese style
turbosquid
$2
Wood
...od
turbosquid
royalty free 3d model wood for download as obj on turbosquid: 3d models for games, architecture, videos. (1576561)