Welcome in GCode Painter - the direct to GCode hierarchical sine wave painting program. It is built supremely for the use of people to make GCode directly without first needing to go to the 3d modeling program or conversion to GCode program - in the case of GCode Painter you only need GCode Painter because while they say no man is an island - GCode Painter is a good way to begin taking apart the brains of your makerbot - because the brain is a wonderful thing to ignore - it does its job well but sometimes it just WON'T SHUT UP - and for that you need something relaxing like nice sine waves that roll around and around and store the x and y coordinates of a terminal point at the end of a long chain of joints into an array and then parses that array to a code that is readable by the makerbot - in other words, GCode - and hence you have GCode Painter - a program which lets you control the varying flailing aspects (seemingly random but not random at all) of a brush to create intricate and layered extrusions of complex waveforms which are invented by you through the adjusting of dials. I do wish I could say that the shapes are converted from the data of whales friending each other or the number of tweets using a smiley face but sadly, this program doesn't do anything like that - but you could change it to do that if that's your thing - if you need something like that to feel like something is meaningful. In order to make GCode - which is mostly just a collection of x,y and z values I capture the motion of the tentacle in x and y - and make up my own z - because if you used the z from the actual tentacle you wouldn't get anything that you would want I can assure you of that - I can also assure you that the gesticulations of the makerbot as it attempted to draw that trail would be youtube blooper worthy for SURE! So - I'm only using x and y and of course if the sin wave just repeated the same way every time then it would just draw over itself over and over and over - BORING! So instead of whale friending data I simply added a control to adjust the the wavelength of a sin wave over time - a value of .001 usually suffices but as the joint chain grows and shrinks based on your specifications you will find it necessary to adjust that number. Through a process of trial and error I can mostly successfully eyeball a sketch drawn to the screen and have a pretty good idea of what it will look like on the makerbot - YOU of course have absolutely no idea - but if you stick to my defaults you will get something that looks like something so please do let that be your guide. I recently added another field which lets you control the number of times the brush loops, because it is animating to capture all the points it is quite slow - so I sped it up a bit by letting you do 10 or 100 or 1000 at a time - more than that is useless and counterproductive. There is also a control for the Z value - so the Z value will increment by the amount you specify every time the sin wave loops - no matter how fast or slow it's going - so you can be guranteed that your value will stay consistent as it draws a long series of cross sections. I recommend the default value - but play around with that! The makerbot looks at units in centimeters (I think) and the data is captured based on pixels so if your loop is 500 pixels wide - well that's far too big so I added a scalar value that will scale everything down and that number works well - if you keep your sketch inside the processing sketch frame then you should be safe to go to the makerbot - IF on the other hand your painting extends outside the boundaries then I make ABSOLUTELY no gurantee that you won't cause your makerbot quite a lot of discomfort as it tries unsuccessfully to draw lines that are outside of its ability to draw. Mostly - if you want to make new and different shapes - just adjust the X value, and the two speed values (which just multiply on top of each other for fine control as the sliders provided can be pretty rough in terms of fine tuning) - you will also see that there is a "num" and "y" controls which, if you adjust, you will need to 'save values' and 'rebuild' - yeah, that's a bad interface thing - and as far as bad interface things go - if you do something like hit 'enter' in some of the variable fields the program will FREEZE or if you don't put a '0' before a '.' and so forth. So the best thing I can say about the interface as of this writing is that it's 'hinky' at best. But it does work - and it will save a csv file along with the gcode so if you want the raw data to adjust later in some other program you can do that (for instance if you want to change the scale or z value or whatnot - you'll have to write your own program to do that). So in a nutshell - this is all that GCode Painter does - I hope you enjoy it - thank you.