text:
Are there any "best" or at least "common" practices to handle allowances in OpenSCAD code?
I'm designing a few mechanisms with OpenSCAD, and one of the parameters that need adjustment between printers/filaments is allowances between pieces that need to be assembled together (for example, if I want a "5 mm diameter pin" to fasten two pieces together, how much larger than 5 mm will the holes / how much smaller than 5 mm will the pin need to be).
Currently I approach the problem by setting a global variable allowance and manually using it in the code, something like:
module pin(radius) {
    cylinder(r = radius + allowance)
}

module hole(radius) {
    cylinder(r = radius - allowance)
}

I have no real world experience with design though, so I wonder if there are common or coding best practices to account for allowances when designing parts like for example:

specific modules to be used,
conventional names for variables
specific techniques to be used (scaling? vectors?)
conventions (like only use tolerances on the fastener, not the fastened object)
...?

To clarify: I'm not looking on advice on how to plan the dimensions of my designs.  Rather, I am looking for advice on how to organise the OpenSCAD code generating them.

I suspect that OpenSCAD is too niche to have such conventions. What you are doing is very similar to my own practices.

You can also add clearance using vector math, something like this [ l, w, h ] + clearance * [1, 1, 1] for objects like cubes and the like. And the function resize() is quite useful.

It helps to understand the different aspects of dimensions, so you can use the terminology correctly.  This will help you define your variables in OpenSCAD with correct names.  (Tolerance is the wrong term to use.)  And once you have correct names, you'll understand how to specify the dimensions in OpenSCAD.

Tolerance is the amount of random deviation or variation permitted for a given dimension.
Allowance is a planned difference between a nominal or reference value and an exact value.
Clearance is the intentional space between two parts.
Interference is the intentional overlap between two parts.

Two other terms

Accuracy is the maximum dimensional variation between parts.  A machine cannot produce parts with a tighter tolerance than its accuracy.
Precision is the size of the steps your machine is capable of. It is often confused with accuracy.

In your case you need to define the allowance in order to create the clearance you desire.
To design your 5 mm pin and 5 mm hole, you need to understand your machine's accuracy.  The printer could print the pin larger than 5 mm or smaller than 5 mm.  Or it could print the hole larger than 5 mm or smaller than 5 mm.  You'll need to print some pins and holes and measure the differences between what you defined and what you printed.  The difference between the largest and smallest measurements you take is your machine's accuracy.  And be sure to check the accuracy in your X, Y, and Z dimensions; your printer might have a difference between them that would impact the roundness of the parts.
Let's say that your printer's measured accuracy is ± 0.2 mm.
Then, we move to clearance.  What is the minimum gap between parts you are looking for, and what is the maximum you can accept?
Let's say you want a clearance of at least 0.2 mm between the pin and hole, but no more than 1.0 mm.  Since your accuracy is ± 0.2 mm, your pin will be 5.0 ± 0.2 mm, so the hole must therefore be 5.6 mm ± 0.2 mm.  The minimum tolerance condition would be an minimum sized hole (5.4 mm) and a maximum sized pin (5.2 mm); the maximum tolerance would be a maximum sized hole (5.8 mm) and a minimum sized pin (4.8 mm).
Note that a clearance of 1.0 mm might be too sloppy for your application.  You might think to tighten the tolerances to 0.05 mm in order to reduce the clearance.  But if your printer can't produce a part that meets your specified tolerances, you would need to find a different way to manufacture or finish the parts.

Thank you for providing me with the proper English vocabulary to communicate with other designers effectively! I updated my question accordingly.  However my question is specifically about organising OpenSCAD code, not about the theory and practice of allowances (which I already understood, albeit ignoring the proper English terms). :)  May I suggest that you create a wiki-style question (option when you edit the question) like "What are the differences between allowance and tolerance?" and move your text there?  This is very useful information, but it isn't an answer to my question, alas!

...and of course I'd be the first to upvote that... just let me know in the comments if you get around to do it! :)

@mac , it took a while but https://3dprinting.stackexchange.com/questions/19747/what-is-the-difference-between-allowance-and-tolerance/19748#19748

I’m not aware of a standard in Openscad but I can share what I have done in the past.
cutoutActualDiameter = 10;
cutoutDiameterClearance = 0.1;
cutoutDiameter = cutoutActualDiameter + cutoutDiameterClearance;

I know this is verbose but unfortunately in my experience that is a necessity if you want your code to be maintainable in Openscad. The benefit of this is that up until you need any clearance added you can just use the variable cutoutDiameterand then if and when you do need clearance added you can rename that variable and you don’t have to change any of the code where the variable is consumed.
Would love to hear how others manage this though.

So, are you saying that instead of using a variable for all allowances you create an ad-hoc variable for each and every dimension in your part?  If not, can you clarify what is the difference between your approach and the one described in the question itself?  Thanks! :)

@mac that’s correct. You could still use this pattern with a more global tolerance variable and you would have the flexibility to use it where you can or to be as granular as you need. Some things may need a tight fit. Others should have some give.

Well, the tolerances will depend on material to be used for fabrication of the required part and also where the part will go and fit. Remember the all parts need some clearance to fit properly.
Few years ago (10 years) I was working as Quality Engineer and some Design Engineers were complaining about a Dupont pin was not fitting on the PCB so they told me that I need to force the PCB manufacturing to increase the holes to the higher tolerance. Which I had to ask him firstly the pin size and told me 0.70 mm and hole size 0.80 and maximum 0.90
 - hmmm and maximum size of the pin? I asked, and they told me proudly 0.78mm so the part will fit perfectly.
 - Oh, so one square pin of 0.78mm will fit on one hole of 0.9mm, but what about the diagonal dimension? if the pin on the higher dimension is close to 1.2mm.
Imagine what happened later, engineering changes and modifying other designs due improper tolerances. pro-engineer software was unable to calculate what the designers needed.
Material has shrinkage, warpage, and other conditions that is needed to know like malleability and hardness and some of this data is on the specification material or the part specification.

This does not answer the question in any way.

@tjb1 This make you think about considering tolerances even if you are using the best cad software.

The question is asking how to apply tolerances inside of OpenSCAD when coding, not how tolerances apply to a real part.

@tjb1 So, the user will never plan to use in real parts?

@tjb1 Now the question has changed to allowance instead tolerances.

Regardless if it's tolerances or allowances, the question is about how to apply them in the code inside OpenSCAD that is generating the model, see the bullet points of the question.  StackExchange is not a forum and your answer is largely a story about a previous job, but not an answer to the question.

@tjb1 Certainly my answer is about a tolerances wrong applied due lack of knowledge whom were believing in a software to do his job. So my answer is to not let the job to the sofware or there will be problems on final product. Forum? I´m away from them and i´m not pretend to do or participate on any. I prefer to say "stories" in companies where I have to lead to improve his process (quality management); there are people who don't like the stories, they have to quit the company because they can't have a good approaching to the company goals.

authors: ศุจินธร วรานุสาสน์


text:
How to draw cube with cone (Dreidel like), using Onshape?
I want to draw a cube with cone using Onshape.
I need the cone to "shave" the corners of the cube, till it gets to the middle point.
This is diagram I made:

What is the best way to do it?

After rejecting the intense interrogation process for signing up with Onshape, I've settled for a general description based on common practices in 3D modeling.
You would create the rectangular solid representing the cube, as well as another rectangular (or cylindrical) solid slightly larger than the first one.

Create also a cone shape with the dimensions appropriate to the segment you wish to have remaining on the first solid.
Using Boolean operator or the equivalent, subtract/difference the cone shape from the second solid, resulting in a "pencil point" shape of empty space in the second solid.

The skirt of the cone is barely visible in the image above and is transparent, the TinkerCAD™ version of subtraction.
Once grouped in TinkerCAD™, the entire cube becomes a subtractive body.

Place it in the appropriate position over the first solid and perform a second subtraction/difference or Boolean equivalent.

As one may note, the original cube was not tall enough and had to be stretched to provide the desired result. Not visible in this image is that the subtractive shape was not centered on the cube and resulted in an off-center final solid. Easily corrected with alignment tools, but an important aspect when performing Boolean operations. Control-Z is your friend.

The above steps work with OpenSCAD™ as well as Fusion360™ and even within TinkerCAD™ but the specific steps/sequence varies from one program to the other, of course. This example was performed in TinkerCAD™ because it was the fastest method. Fusion360™ would have stretched my abilities to accomplish the same result, due to my minimal experience with that platform.
I am not surprised to discover and easily locate an exact tutorial for OnShape™ that covers the boolean subtraction process. The images are complex within the tutorial, but the process and concepts are identical. The video accompanying the tutorial is also well done and explains clearly the steps involved.

So, basically, if you mentioned "pencil point", create something like "pencil sharpener" and use it to subtract the long cube? Did I got it right?

yes, that's a good description

Amazing, very nice thinking :), Thanks @fred_dot_u!

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
How to automatically add support and "base" to the model I am printing?
Most of time my prints fail due to lack of support and "base" for the 3D model. I'd like to know if there is any software that can automatically check my model, and add support and a "base" to it, if required.

Not automatically deciding if it needs supports or not, but if you check the box to 'generate supports' cura does that.

This program type you seek for is called a slicer. However, you got to manually choose support structure and rafting - the tricky part is getting the configuration right for your build. To my knowledge there are no slicers that decide automatically to raft unless you configure to raft always and you have to enable support.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Under extrusion with Cura 3.1
I upgraded from Cura 2.7 to 3.1.0 and I'm getting horrible under extrusion, I'm sure this is the software because I rolled back to 2.7 and everything is working fine again.
My printing is a Robo3D R1+ using the "custom FDM printer" profile.
Is there any new setting or a setting that isn't migrated properly that causes this?

Maybe give your custom profile parameter so we can have a guess at what could be wrong ? I don't think someone here has enough divination skills to guess the parameters on your software.

This may be a bug, because my new install of latest Cura is creating the same problem AND I saw 2.85 one of the settings, so I changed it to 1.75 and it continued to under extrude severely.
All was well with a Repetier print.
Now reading above I need to also check both the machine settings and material section of the print settings.

This is not a bug, Ultimaker default filament diameter is 2.85 mm, so that is what they default to.

Some users have reported upgrades to Cura changing the filament size to the default 2.85 mm. If you are using 1.75 mm filament (which most printers do), you will get extreme under-extrusion.

Thanks, that was it, the filament diameter was correct in the machine settings (that I checked) but not in the material section of the print settings

Similar issue here but both settings were 1.75.  I re-saved printer and material preferences and modified my custom settings and saved them.  Now it works!

I hit this issue again in January 2019 with CuraEngine 3.6+git. Since support for multiple extruders was added, it now auto-loads a per-extruder settings file that overrides the main settings file and the command line, so -s material_diameter=1.75 on the command line did not help. Given $foo.def.json, it seems to construct the filename %$foo_extruder_0.def.json, and if that does not exist, loads fdmextruder.def.json, which sets material_width to a default of 2.85.
I was able to solve the problem by either patching fdmextruder.def.json, or making a copy of it named to match my printer's settings file, with the 2.85 changed to 1.75.
Update: There should already be extruder files for supported printers, but they're in a different directory, so they won't be found when invoking CuraEngine from the command line unless you've set the CURA_ENGINE_SEARCH_PATH environment variable to include the path they're in. Alternatively you can copy them to the same directory as the main printer json files.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How to switch E0 to E1 for extruder?
I have a K280 3D printer with a MKS V1.5 and Repetier firmware.

I’ve damaged the transistor associated with E0 (3rd one on the right) and so that means I need to avoid that. I’ve decided to switch to E1 for the extruder but I have a feeling I need to go in the firmware or Repetier host and manipulate that.
I don’t know how and any help would be great.
The only info I can access for the firmware is the EEPROM and it seems that I can’t edit the pins. Also, do I need to edit the pin for the sensor or just where the extruder goes?

Can you switch the wiring between them?

If you go through the Repetier-Firmware configuration tool for version 1.0.2 you can select the E1 stepper for the E0 extruder (or whatever stepper you want to use for it) in the tools tab sheet. I'm not familiar with Repetier, but if that does not work you would have to switch pin numbers.
If you already have a Configuration.h, you can use that one (by loading it into the configuration tool) and alter the E1 afterwards so that you do not have to enter all the other options by yourself.
Edit: After some investigation, you can find your configuration file here as described here, so the only thing you would have to do is to load the file in the online tool and adjust the E1 stepper for E0 extruder.

You can try editing the gcodes by searching and replacing E0 for E1, so this way the extruder E1 will be enabled.
Other way is setting the Slicer to use 2 extruders but everything for printing on E1 like: Perimeter, Infill, Solid, Support/raft/skirt, Support / raft interface.
The third one, Switch the transistor from E1 to E0 (your Q2 for Q1) or Q3 if you are not using the FAN output.


text:
3D printer stepper motors only going one direction and skipping in the other
I have built a couple of 3d printers now and I'm having a little trouble with one I'm currently on. I frankensteined this one with two of my other printers that I had built. I took the Arduino mega and ramps 1.4 out of the older one and wired it up to the newer one. When I plug the printer in and try to move the stepper motors they will go in the positive direction and skip and make loud noises when going the other direction. I have taken and separated out all the wires to make sure it wasn't a stray signal. I have also tried turning the voltage up and down on the drivers with no luck. I also swapped cables in case one might have been broken. The next step when I get home I'm going to try is connecting the old steppers and see if they work. After that I am pretty much at a loss. I already search Google and found a couple of things I could try, but figured maybe someone here might have an answer to why this might be happening. Steppers motors from the old printer are the same as the new one the only difference is manufactures.
Update:
The printers are:
HE3d Prusa XI3
Max Micron Foldbot
I'm just using the LCD, Ramps 1.4 and Arduino Mega 2560 R2 from the He3d and putting it on the Foldbot. With some other features but those shouldn't matter as they would work on both printers. The board from the Foldbot is the Arduino Mega 2560 built into the Ramps board MXP_PRO_V3.0. I'll try and get some pictures. Also switching steppers didn't work. Going to try to get X,Y,Z axis working separately see if i can find the problem that way.
Update: Ok so I attached the old axis up and did a test with the endstops. Basically I think the new endstops must be the opposite of what the other printer was cause when i hold the end stop down the motor rotates in both directions and when i let go then it rotates only in a positive direction. I will see if this is part of the issue. I also believe that one of the motors is bad and that's why it wasn't making any sense when i first diagnose it.

"Frankenstein" and complete homebuilt 3D Printers are notorisously hard to troubleshoot without some help on your side: a Picture that shows the general design (like, is it a Prusa clone? a Hypercube? A cantilever design?) and at best some of the configuration of the controller.

The way you are describing the issue, it seems there's nothing specific to these steppers being installed in a 3D printer.  You may have extra input by asking on https://electronics.stackexchange.com/ as well.

From an electrical standpoint, a two-phase stepper motors (what most 3D printers use) works the same backwards and forwards, the phase just reverses.  If you are stalling on only one direction, I would look to see if you have a mechanical bind in that direction.  Generally a wiring issue will cause the motor to either not run at all or to run in the wrong direction.
A few things you can check:

Decouple the motors from their mechanical load and confirm that they all run correctly when they aren't driving a load.  If you can't do that, disconnect them all then connect a spare motor to each cable one-at-a-time.
Turn each of the axis with your hand and make sure it turns smoothly throughout the entire range in both directions.  Note: Some times a binding issue is acceleration related - a loose frame or coupling can cause this.
Monitor the supply voltage to make sure that one of the motors is not pulling the supply down causing all the others to stall.

Thank you for your answer. I found that one of the stepper was bad using this. Also the end stops were inverted that is why the steppers were also misbehaving.

Sounds like you are configured for NC switches but are using NO switches, causing them to invert their reported state. Issue a M119 command and see if the endstop statuses are correct when none are triggered.

Had a similar issue with one of the stepper motors on a Flashforge Creator Pro.
Just finished a print as the head was returning to the home position and sounded like it was jammed up, inspected in jog mode and it would move left but not right then neither direction, disconnected, check for free movement and all was good found this thread and was thinking it might be a bad motor but turned out to be just a bad wire going to the motor.

Yes, if one of the four leads to the stepper doesn't always connect, you can get no movement, stuttering movement, or movement in the wrong direction.

authors: Алексей Наумов


text:
XYZ cube's layer is shifted, How can I check my TEVO Tarantula axis?
I just bought new TEVO Tarantula and tried to print xyz cube. I found that my cube's layer was shifted as showed in picture. How can I fix this ?

The two most common things to check:
1) make sure your belts are properly tensioned.  If there's significant slippage in the y-drive you could get the results seen.
2) Make sure the base layer is well attached to the base plate. you've got plenty of reference pattern on the plate shown, so check whether the lower chunk of print moved relative to the imprinted pattern at some point.

It doesn't shift anymore. The belt isn't properly tensioned. Thank you very much

Do your belt goes Sproing when playing it with a finger (actually it doesn't really need to make a noise, but it should be somehow reasonable quite tight). If not, tighten the belt.
Try with lower speed, for example, it is usually hard to start off with 60mm/s or more. Try 40mm/s or 30mm/s for starters.
Up the current on your drivers! You do this by turning the potentiometer on the driver (here the X-motor driver):

To adjust the current on your stepper driver, this is a classic scheme:
With power on:
1) Turn the potentiometer on the driver counter clockwise until you can move the motor by hand.
2) Turn clockwise until you can't turn the motor by hand
3) Continue clockwise until you can turn the motor again (as soon as you feel it can't hold really hard anymore, stop).
4) Turn 1/4 of a turn (or maybe a bit less) counter clock wise.
Done!
If the current is too low, it will skip steps, especially when traveling / accelerating fast/hard.
If the current is too high, the motor will be, really, hot. A bit hot is okay, like 50°C can be considered a really safe maximum (it all depends of course, some motors can run at 80+ others could bake your electronics because it's placed badly etc.).
If this doesn't cut it, you want to check your drivers; If you can, switch X and Y driver:

If now the Y layer doesn't work, it could be the driver.
If it still breaks the X axis, your motherboard might be fried.

I also encourage you to post more information about print speeds, temperature and so on. It seems like it's a Prusa i3 clone and there are a lot of people having them and they can probably help better if this didn't cut it so please post all data available!

Oh, thank you very much. It's work when I tighten the belt !!


text:
Selecting G-code files from SD with serial
I'm doing a project for college connecting an app made with app inventor to a Raspberry Pi and then using the RPi to make a printing queue for a Prusa P3 Steel.
The thing is that I already have the comm between the app and the RPi but I need to connect the RPi to the Arduino via USB and select the G-code files that are in the SD card of the Prusa to print. I don't know where should I put the function in the Marlin code or how to manage the serial port read function.
Any ideas?

why don't you connect the prusa via USB to the Rpi? That way you can feed the G-code directly and keep the queue on the Pi.

Just out of interest: Are you using MIT App Inventor for iOS or App Inventor for Android?

You can send the G Codes to select and print a file over the serial connection.

List the files

M20

Select a file name

M23 filename.gco

Start/Resue the print

M24

See https://reprap.org/wiki/G-code for more information M20 through M39 are the ones for interfacing with SD Card files.


text:
Where to find information on 'fast' or 'professional' 3D printers?
I work for a company that makes items from plastics.
Many or our current runs are between 500 and 5000 copies, but knowing the company, if we find a good method to do smaller runs, they are willing to see if it is a good commercial option.
At the moment we do use several different methods but the technical people are not yet looking into 3D printing.
While I am not sure printing is the right option just yet, I would be surprised if it will not be in the future.
At this time I am interested in finding information to convince the tech people to look into the abilities of printers and what would impress them to look further would be printers that can produce in short times or at multiple stations so the overall run will be relatively short term.
Our current items are mostly simple in shape, (disks with relief print) and small in size (no bigger than a 2 pound coin).
Do you know an online magazine where the tech people can look or can you suggest a (few) printer(s) to look at right now?
Links to online general information or names to search for will be great.
Knowing our current bunch of tech people they will likely prefer commercial available printers but proven 'home build technology' might be useful as well.

Well, If you notice that some questions are about Anet8, Prusa, and other printers why dont you try to look for information about those printers? try to google best printers or better reviews. We are trying to adjust ours printers to get a nice looking finishing while we solve some problems.

@FernandoBaltazar I do understand so little about 3D printers I get lost in the forest of questions and answers here. Please write a couple of names to look for in an answer, so I have the information.

We are now three years on and the company has a (single and slow) 3D printer for prototyping but the tech people are still not interested in a more industrialized use of 3D.

Since your company specializes in small objects, SLA printers seem to be a good choice, since it has better detail but small printing area. However, SLA printers tend to require lots of post processing.
If you need a printer for rapid prototyping, you should be using FFF or FDM printers which don't need any post processing. At most, you could sand surfaces to have a smoother finish.
If you need fast printers on the other hand, Delta type printers could be something to look at. Kossel or Rostock printers are faster than standard XYZ printers/CoreXY printers.
As for magazines, Make Magazine features 3D printers and 3D prints if that's what you're looking for.
Terms you can look up online (this includes some names of popular printers): FDM printers, SLA printers, Kossel printer, Rostock printer, CoreXY printer, Prusa i3, Formlabs Form 2, Ultimaker
If you have any questions and/or I got anything wrong, please notify me.

3D printing may absolutely be a viable technology for what you are trying to achieve.  The term you should search online is printing farm or 3D printing farm.  A typical farm looks like this.
The reason you normally want to set up a farm is that - despite 3D printing being often associated to the expression "rapid prototyping" - 3D printing is anything but fast, and operating several machines is an easy way to increase the throughput.  (On a side note: the term "rapid" in "rapid prototyping" refers to the fact that there is little to no overhead between the design and production phases, as opposed to the need to create a mold, or send out technical drawings to a machining shop, for example).
The right technology to be used (i.e.: what types of 3d printing you would need in your farm) is entirely dependent on the requirements and characteristics of the printed parts.  There are so many different 3D printing technologies, and each technology has so many variables attached to it that it would be silly for me anybody else to state with certainty which one would be best for you (your "tech people" will likely spend a lot of time evaluating their choices), but to give you a sense of the complexity of the problem, I could mention that FDM/FFF printers are very cost-effective, quite slow, can print in a variety of materials, have limited resolution, suffer from wear, produce anisotropic parts while SLA printers have incredible resolution, can't print large parts, struggle with solid objects, emit toxic fumes, are expensive to buy and operate, etc...
Be advised that the list of 3D printing technologies is not limited to those two (especially when it comes to industrial settings): FDM and SLA are the most known technologies as there are several consumer-grade printers using them, but DLP (Digital Light Processing), SLS (Selective Laser Sintering), SLM (Selective Laser Melting), EBM (Electronic Beam Melting), LOM (Laminated Object Manufacturing), BJ (Binder Jetting), MJ (Material Jetting) and others are also available... each with its own pros and cons.
When it comes to source of inspiration and information, I have to disagree with the suggestion made by another responder that Make Magazine would be a good resource for forming an opinion.  Make Magazine is a magazine targeting hobbyist, and as such it pitches and explores technologies that are geared towards enabling creativity.  What you should be after is information on 3D printing in a commercial setting / on an industrial scale, as the requirements of a hobbyist printing their own drone are very (very!) different from those of a company needing to meet quickly, reliably and consistently a customer's specifications.
3D printing technologies evolve continuously and quickly, so - if you are after printed material - it is essential for you to get hold of something published recently.  Off the top of my head, The 3D Printing Handbook: Technologies, design and applications that came out a couple of months ago seems to be an excellent match for your current needs of forming an opinion / acquiring information (the link is to Amazon, and allows you to browse its index online).  Keep in mind it was put together by 3D HUBS the largest network of manufacturing services in the world... so it is not some random guys' opinion!
A couple of additional considerations that I would also keep in mind:

If you are planning to enter the 3D printing space be ready to fight off an established but ever-growing competition.  One of the cool things about 3D printing is that being highly automatised, having a low cost of entry, and not requiring access to huge amount of energy or raw material, it is often available as a service locally.  There are often global networks (e.g.: 3D Hubs, mentioned above) that make easier for potential customers to find a local printing facility, and that - conversely - make difficult for an isolated manufacturer to be discovered.
If you are considering setting up a 3D printing farm, I would spend a lot of time also considering its operation (extraction of fumes, backup energy sources, automatic/early detection of printing failures, replenishing of the raw matearial, etc...), as it will be a seizable part of the operating costs and associated risks.
If you are working with extremely small batches of small parts, also consider large printers over printing farms.  The risk profile is different (larger investments, single point of failure) but the economics of running a single machine may prove more efficient overall.
If you are producing functional parts (i.e.: parts meant to be loaded / exposed to mechanical stress) be advised that some printing technology (most notably FDM/FFF) requires designing the parts with the printing process in mind, as the mechanical properties of a FDM printed objects are not the same along all of its axis.  This may require additional training of your staff.

Hope this helps! :)

Oh, thank you @Willeke.  That is very welcome (extra XP give access to more tools to help with site maintenance), but my reason for answering was not really points, rather making available information to you and - equally importantly - people finding this via google that I thought was more suited for somebody thinking to adopt 3D printing as a manufacturing technology rather than as a hobby.  I hope I managed to do that. :)


text:
OpenSCAD to Flashprint ruins model based on number of fragments
I'm trying to print a cylinder with Flashprint. Problem is, that the .stl file i created (with OpenSCAD) is totally ruined once loaded into Flashprint. With ruined I mean the round outline is now with spikes and steps everywhere. And by loaded I mean directly after loading, not even creating the .gx files. The output of OpenSCAD looks fine, also in other stl viewers I tried.
I figured out the problem occurs more when using certain number of fragments ($fn). If its very small, loading works better. But for numbers that make it acutally look like a round circle (eg 50), Flashprint is unable to load them correctly it seems.
It's obvious that its no slicing or printing problem, but simply a loading one, since the shown object (which does not look any round) also prints the way it is shown in flashprint before slicing.
Does someone know a way to load a cylinder with flashprint correctly, or do I have to switch to different software? I already installed some but am unfamiliar with the printer settings which I do not know in detail. I really though a cylinder should'nt be too complex for any 3D software.
Here is the OpenSCAD Code for Cylinder, just create .stl and load into Flashprint to reproduce the Error:
rotate_extrude($fn=70)
    translate([0, 0])
        square([20,2]);

See also this image (tried native cylinder code, problem remains the same however):

Have you tried the code $fn = 70; cylinder(h = 2, r = 20); to see what happens to a native cylinder generated by OpenSCAD?

Just tried it, although looking slightly different, the problem remains the same. I've uploaded a picture with your example code.

While my first try with slic3r was really bad, due the required manual setup and my lacking experience (which was the reason I really wanted to stick with Flashprint), I actually found a solution to my problem. Its more a workarround but im perfectly happy with it for now.
I just load the OpenScad .stl with slic3r, use it's "Export STL..." feature, and load the resulting stl with Flashprint. Looks like a charm.
So the problem is really the OpenSCAD specific .stl files being misinterpreted by Flashprint.
Hopefully this helps some of you as well and save you some trouble.

Your image is very helpful. I think you might find that the rendering in your slicer is intentionally degraded to minimize use of system resources. The image you see may not be an accurate representation of that which would be printed.
If you wish further confirmation, consider to create the g-code from the slicer and view it in a text editor. An even better option would be to use an online g-code viewer and observe the results of the created g-code.

The image above is the first line of print for a Marvin, showing that the base curves are smooth and clean. Your cylinder should appear in a similar manner, confirming that your slicer is degrading the image.

I have actually printed it, every edge and spike that is shown after loading the stl gets printed. Also tried the online viewer, which shows the same 'features' (after converting it to .gx with flashprint). Note however, that viewing the same .stl with other viewers displays it correctly (I tried Meshlab). The problem has to be in the .stl loading of flashprint, which by my guess uses some interpolation that goes wrong especially at high resolution.

Also note that, since I have mostly printed things from thingiverse, most of them, even containing circles at similar resolutions (but probably created with other programs) work just fine. So its maybe somehow the specific .stl output of OpenSCAD the Flashprint software has problems with.

That's fairly peculiar. I usually create curved items in OpenSCAD at $fn = 90; ahhhh... Try a number that's an even factor of 360. Using 70 results in  non-integer math that may be throwing things off. Even 72 is a good number that's close to your current figure.

That was a good guess, I tried around some numbers but sadly the same problem. I guess I have to move to different software, the reason for this remains interesting though.

I think you may be correct. The slicer is taking "normal" files and distorting them in a peculiar manner.


text:
If I have a nozzle clog, can I easily get rid of it by simply replacing the nozzle?
I'm getting a Prusa i3 with a replaceable nozzle.
If I have a nozzle clog, can I easily get rid of it by simply:

replacing the nozzle, or;
removing it and submerging it in acetone, or;
removing it and cleaning it with a blowtorch, or;
removing it and cleaning it.

Or can the clog get so bad that the whole extruder has to be cleaned, and if so how could I clean it?

The nozzle on a Prusa i3, if a genuine Prusa, would be part of the E3Dv6 assembly and is removable. It's wise to heat the nozzle to 150°C or higher, and handle with the care necessary for something that hot. When loosened, be prepared for it to fall onto the surface below. A catching tin would be a good idea, at the very least.
Once removed, you can test that it's the nozzle that is clogged by pushing or extruding filament via the control panel to confirm that the rest of the system is clear.
Consider also to perform a nylon cleaning of the nozzle before you perform the above disassembly. I've performed this process more than a few times and disagree with one aspect of the process. The process describes heating the nozzle to 250°C and forcing nylon filament into the hot end. I suggest doing so manually, not via the extruder controls, as it give you better feedback and control.
Once you've forced as much through as you can, allow the hot end to cool. Not included in the steps reference above is a part of the process that is semi-automated on my printer. Heat the nozzle to about 140-150°C and carefully and slowly pull the filament back out of the hot end. The above link suggests yanking it sharply. The article also includes a caution that doing so is brutal and could damage your machine. Carefully and slowly will not damage your machine. I have to use pliers to get sufficient grip on the nylon but that's a trivial aspect.
The nylon will come out with debris and previous color filament. Clip off the debris and perform the task again. Repeat until the nylon is clean and you have good flow through the nozzle.

Acetone will not dissolve PLA filament. Extreme heat may carbonize the material in the nozzle and render it useless. The nylon cleaning method is nearly universally successful unless you have a physically damaged nozze.
There are kits to be purchased which are described as nylon cleaning kits, and include a small length of nylon filament and sometimes a cleaning drill. Using such a drill may damage the nozzle and is contraindicated. If you can afford to purchase a half-kilogram or full kilogram of nylon in the diameter specific to your printer, it will last quite some time. You can share segments with friends and/or members of your local makerspace and improve circumstances for many.
Nylon absorbs moisture more quickly than any other filament, making storage for extended periods challenging if you intend to print with nylon, but for cleaning, it matters little that there's moisture boiling out of it as you clean your nozzle. I've found the little bubbles in the extruded nylon to be a sign that I'm getting clean nylon through the nozzle and can expect good results.
In the worst case I've had thus far, I've had to push nylon four times to clear a clogged nozzle. I had some overheated PVA support material jam the nozzle and once cleared, everything flowed properly.

That's a very well articulated answer!  One aspect to also consider is the actual value of the nozzle.  With a bit of research, you can source a 10 pack of 0.4 mm brass nozzles for around 0.2 € each (less than a quarter USD).  By contrast, any roll of nylon filament will cost in excess to 10 € at the very best, which equal 50 nozzles.  If you consider that nozzles have a limited lifespan and are to be replaced time to time anyway, I'd argue that buying an ad-hoc nylon filament won't ever repay for itself.  Unless you also print with nylon or use an Olsson, of course!

Thanks for the positive comment. One additional note to attach to the process is that cleaning the nozzle with nylon means one does not have to recalibrate the Z-axis, while removing and re-installing the nozzle will. That does not invalidate your cost assessment in the slightest.

thanks for the info, Now I'm not afraid of nozzle clogs.

wait a minute but what if the whole extruder is clogged?

if you remove the nozzle the heater module should also easily separate. Once that is off, all that remains is the heat break (finned section) with a threaded portion. Those pieces are uniform diameter and should not clog. If you have a PTFE inner sleeve, it could be damaged and should be replaced, but that is rare.

If you are printing at higher temperatures or have an accidental increase in temperature PTFE lining can get damaged.


text:
How should I make my PTFE tube smaller?
So, some background. I bought a e3d Lite6. When assembling the hotend, the PTFE tube does not even go in 1/4th of the way. I found out that the issue was that the PTFE tube was too wide. It measured 4.26mm (outer diameter) and the heat break is only 4.1mm (inner diameter). How should I make my PTFE tube smaller?

I would advise buying a new tube for a few reasons:

PTFE tubes should be either 4 or 6 mm external diameter (for 1.75 or 3 mm filament respectively).  Chances are that if your external diameter is that much off from the nominal value, the inner diameter will also be inaccurate, and this could cause a lot of problems during printing, as the filament will likely bend slightly and unpredictably within the tube and the pressure in the nozzle will be unstable, as well as retraction may work inconsistently.
A non all-metal extruder is designed with the assumption that the inner and external sections of the PTFE tube are concentric.  This may or may not be the case for your tube, but it is likely that any hand-made modification to the tube will cause the above not to be true.
PTFE tubes are pretty cheap (around 2€ per metre or less, when bought online).

That said, should you still want to manually modify your tube, I would proceed like this (beware: untested!):

Insert the end of the tube onto a drill bit that fits snugly into it.
Insert the drill bit into a drill press or a drill held in a vice or otherwise immobilised.
Let the drill spin the bit/tube at a moderate speed
Move a piece of fine grit paper up and down the portion of the tube on the bit, trying to apply consistent pressure.
Check your progress with a caliper or a micrometer often, and reduce increase the grit while approaching the desired result.

Best luck! :)

The inner diameter of my PTFE tube is 2.1mm, is that bad?

Yes it is.  The idea in a bowden extruder is that the tube should add as little mechanical play as possible, so the tube should fit as snug around the filament as possible, without hampering its passage.  If your filament is free to bend/twist within the tube (even if just very slightly) this will have visible repercussions on the quality of your print, as the printer will be unable to keep the pressure in the nozzle at a constant level. BTW: 4.26 and 2.1 seem to indicate a consistent manufacturing error of around +5%.


text:
Flexible filament frozen
I was thinking about what would happen when flexible filament is frozen. Would it become brittle or still be rather tough*. A situation I think of would be a ice tray in the freezer. It is nice to have some flex to get the ice out, but PLA and other filaments wouldn't work, but will flexible filament work?
*when I say 'tough' I mean having similar properties when unfrozen.

Just wanted to mention that most filamants are not safe for use as an ice tray (non-toxic is not the same as safe for food contact, especially for long contact with liquids and not in room temperture)

@Nir Don't worry, I am aware of that. Just needed a example :)

@Nir  "citation needed" as to the non-safety of PLA or other common filaments.  Not being rated as useable by commercial food manufacturers is not the same as actually being unhealthy.

@CarlWitthoft using non-food-grade material is unsafe, your roll of PLA can be contaminated with unhealthy materials or it may not be, it may contain unhealthy pigments and additive or it may not - you have no way of knowing (unless you buy food-grade filament, obviously) - so it is unsafe

@Nir unless you've been printing under a fume hood, you have inhaled a ton of filament already.

@CarlWitthoft by that logic smoking is also safe - look, you can argue all you want, by definition anything except natural color has add coloring, colors, except for those that are especially made to be non-toxic are often really nasty, if the manufacturer didn't specify they use only non toxic colors you can assume it is toxic - and even natural color is made in a facility with nasty chemicals in it, unless care is taken to avoid contamination is not safe

@CarlWitthoft - When dealing with substances that enter in contact with the human body "safe" and "harmful" are not mutually exclusive.  "Safe" means that the substance in question has been thoroughly tested and deemed safe, and that new samples of it are produced under strictly controlled conditions.  "Harmful" means that the substance is known to have adverse effects.  In-between lie most of the substances known to human kind, that nobody took the time to test.  Since the Precautionary Principle is a thing, these are classified automatically as "unsafe" (which is not the same than "harmful")

@Ljk2000 - Have you found the answer to your question?

The behaviour of "frozen filament" will entirely depend from the specific formulation of it.
The term "flexible filament" encompasses a variety of different polymers as for example: thermoplastic elastomers like TPE and TPU (e.g.: ninjaflex), copolymers (e.g.: bendlay), copolyesters (e.g.: Ngen Flex), polycaprolactones (e.g.: PCL), etc...
Even in those broad classes of chemicals, the amount, type and quality of additives will affect the physical properties of the filament a lot.  In fact rigid.ink even produces a flexible PLA that proves the point of additives radically affecting the properties of the main material.
In general, all materials lose elasticity at lower temperatures (a Space Shuttle came down because engineers failed to account for this).  Polymers that do not contain water are unlikely to crystallise though, so I would expect it to become stiffer but not to fail catastrophically at 0°C.

Well, no: the engineers were quite aware of this;  upper-level managers used their bullying power to force "agreement" on launch safety.

You are correct engineers thought the entire Shuttle programme was unsafe and that they had doubts about that specific mission on top of that.  Yet it was them who designed the an assembly and gaskets that did not meet the project requirements in the first place (which is what I was referring to).  Anyway: you are taking the reference way too seriously.  Mine was just a way to highlight how the concerns of the OP are important, as a seemingly small detail like "loss of elasticity" can bring about the catastrophic failure of an entire project. :)


text:
Anet A8 filament not coming out
Our Anet A8 seems to be working but the filament won't come out of the extruder.  We can manually push it through though.  The gears seem to be working fine and it's warming up.  I have read the other answers on this site but none seem to fix our problem.

Is it a direct drive or geared driver? I guess it's a non-bowden? Does the extruder grinds the filament / does the extruder turn at all?

Yes, the extruder grinds the filament but nothing/very little comes out.  Not sure about your first 2 questions.

So your filament can be pushed by hand? E.g there is molten plastic coming out of the heat end if you do so? If so, has the hobbed bolt grind a big mark on the filament?

From the comments/answers to your main question, the likely culprit is the hobbed wheel not catching the filament firmly enough.

The hobbed wheel I am referring to is the yellowish one at the centre of the picture.  The problem could be due to:

the wheel being of poor quality, with blunt teeth
the wheel being of the wrong diameter (too small)
the spring squeezing the wheel against the filament being too weak
[judging from the picture, I don't own the A8] it could even be that the nut on the lever that is pushed by the spring (top right of the picture) is too far down on the threaded rod, and prevents the lever to move far enough to push effectively.

@MF did you add the fan on the extruder ? I had a hard time setting the spring correctly in place with the new screws when assembling mine. This could be the reason why the 'steel guide wheel' isn't pressing enough the filament against the hobbed wheel.


text:
What do you do If the whole extruder is clogged?
I have a prusa 13 that's shipping in the mail, and I intend to make good use of it, one also own a da vinci jr. and the one time it got so clogged that the extruder itself was filled with pla, with that said I replace the extruder, for the da vinci, but besides that, as for my a prusa, what should I do if the extruder, not the nozzle gets clogged that badly?

If you are good at being patient and extremely careful, you can clean out the feeder tube by using a small drill, manually operated. Use a bit with diameter smaller than the filament in use.
I recommend first removing the nozzle.  Then,from the top, hold the drive gear open and gently work the drill bit down, removing often to clean off debris.  If the bit is long enough, sooner or later it'll project out the hole where the nozzle fits.  If not, gently work from the bottom up.
Since you have the nozzle out, it's easy to see if there's gunk in the upper chamber of the nozzle; either drill that out or use heat-methods to liquify, and clean out with any soft tool.
Usually any clog in the narrow orifice can now be removed by re-assembling, heating the extruder head to operational temps, and pushing the remaining gunk out simply by guiding fresh filament all the way in.  I do not recommend trying to use a micro-drill bit as that can easily damage or open up the orifice.  If you can get a piece of stiff wire (e.g. 0.375 for a 0.4 nozzle), try that once the head is at operational temperature.

The extruder is not a single component, but a collection of components. From the top, you may have a bowden tube or a direct feed type of design. If the former, there's the bowden tube which extends into the heat sink. If it is a direct feed and not an all-metal design, there will be PTFE tubing inside the heat sink.
The heat sink is a finned assembly, usually cylindrical, sometimes other shapes. Attached below that will be a threaded coupling called a heat break. Both the heat sink and heat break will be configured to have the same inside diameter, to allow the filament to pass through to the next stage.
The heat break passes into the heater block. The nozzle passes into the heater block from the opposite side. The two items contact each other when properly assembled.
If your nozzle is not blocked, but there is a blockage somewhere else, it would indicate that the PTFE tubing has become damaged or a piece of debris has managed to fall into the opening when filament was removed.
The items are easily disassembled and the pathway for the filament can be cleared with a suitable tool.
If a portion of the extruder assembly has previously filled with filament, the nozzle was not solidly secured to the heat break, or the PTFE filament had slipped back or was not fully inserted into the heat sink.

Typically, any unclogging technique involves melting the plastic around the piece of debris causing the clog (what happen next can differ, depending if you are using a needle, cold pulling, or a total disassembly of the extruder).
If the clog is localised to the hot end, one can usually achieve the melting via heating the nozzle as if one were to print.  Clogs that are not localised at the nozzle, are usually a symptom of a severe malfunction of the printer (damaged PTFE tube, loose assembly, broken parts...) and - while unclogging is still of essence - they should be investigated further.
In case of clogging that is not localised at the hot end, chances are you will be able to disassemble the extruder in its components (heat sink, heat break, heat block, nozzle, etc...) while cold, and clean each part mechanically, possibly having administered some heat.
Should the cold disassembly not be an option because some parts got stuck together thanks to the molten plastic having acted as a glue, use of an external source of heat may be required (just heating up the nozzle wouldn't probably work, as the extruder is designed to prevent heat propagating above the heat break).  Many people use a butane torch or a heat gun in these cases, and proceed to the complete disassembly of the extruder while hot.
If using an external source of heat, be mindful that torches and heat guns could very easily over-heat the extruder, and damage it (so: make quick passes, and stop heating as soon as you can see/feel the plastic melting).  Also cabling and other electronic components (e.g.: thermistor) could be easily damaged, so it is advisable - if possible - to remove them from the assembly prior to heat it.

Disassemble the hotend (always disassebble when hot), When you seperate the heat block, nozzle and the heat sink parts of the extruder if you are lucky the parts clogging the non-nozzle areas will be easy to pull out.
Replace the nozzle, nozzles are cheap and not worth worrying about.
The heat block should be clear because, in most hotend I know about, the filament should transfer from the heat break to the nozzle without touching the heat block directly - if this is not true in your model then it's the same as for the heat sink below, if there's plastic where there shouldn't be you didn't screw the nozzle of heat break (or both) all the way in.
If the plastic doesn't come out of the heat sink easily it's time to replace the teflon tube if there is one, in an all-metal hotend it's possible the inside metal tube is damaged and you need to relace the hotend.
In any case, if the plastic doesn't come out with just a tiny bit of force stop before you damage anything, heat the componene to above the melting temperture of the plastic and then try again.

Always disassemble when hot??


text:
Turn off heated bed in Repetier?
I have a printrbot simple metal with the heated bed upgrade. I think theirs a problem with my board, so long story short, I'm just trying to print without actually heating up the bed. The problem I am faced with is when I try to print from Repetier, it's still trying to connect the heated bed. I can't find any settings for shutting this off anywhere. How can I bypass this so I can still print? Thanks!

A workaround would be to post-process your gcode files manually removing all M140 and M190 instructions (the one setting heated bed temperatures).
You can do that manually by opening your GCODE file in a text editor and searching for M140 and M190, but I recently had the same problem with Slic3r (Prusa edition) and I wrote a one-liner that does that automatically for me.

I set Slicer->Configuration->Filament->Bed Temperature to 0 and this also removes the G-Code line mentioned in mac's Answer.
I think this bug is particularly annoying because the printer (at least my Velleman Vertex) is stuck in the "Heating Bed"-State and I had to do a power cycle.


text:
Remove the Marlin Boot screen
I added a custom boot screen to marlin by adding _Bootscreen.h to the project root folder and it works fine. The problem is that the custom screen shows quickly and disappear then the marlin boot screen is then displayed for a longer time.
I want to remove the marlin boot screen.
I dug around in the source code and found a void lcd_bootscreen function in the   ultralcd_impl_HD44780.h header. This seems to be the function that is loading the marlin's boot screen due to the comments in the code. I added return; to the first line of code in this function but the marlin's boot screen is still loading.
How can I remove the marlin boot screen. How can make my custom boot screen wait for more time?
The marlin version is 1.1.8.

Not working with marlin, but I'd better set #undef SHOW_BOOTSCREEN in Configure.h per documentation to disable the marlin boot screen than messing with any other header.

@Tensibai SHOW_BOOTSCREEN is also used to control the custom bootscreen. If I do this, my custom bootscreen will not display.

I'd have to dig in the header more to see which part loads the custom boots screen and which replace it with the marlin one then. The file in dot h are headers (declarations) so modifying the function return is not very likely to help, there's probably a better approach to drive that

I know it is a header file and mentioned that in my question. There is no corresponding .cpp file for the ultralcd_impl_HD44780.h file. They put the code in the .h file. Check it out when you have time

It doesn't need a corresponding cpp file, just that the various headers are defined, there's various code in this header called somewhere in the code 'main' function to really do something... I feel there's something not properly overridden in your custom file, but I can just guess without it and the documentation you follow

You can add return; command in the ultralcd_impl_DOGM.h file.
  void lcd_bootscreen() {
    #if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
      lcd_custom_bootscreen();
    #endif
    return;  // Add this line

So after some search:

You can't (at least should not) remove the Marlin bootscreen according to this issue SHOW_CUSTOM_BOOTSCREEN hides Marlin logo, quote:

We wanted an additional logo - not a replacement of the Marlin logo.

According to the code here there's a constant CUSTOM_BOOTSCREEN_TIMEOUT taking the default value of 2500 which is 2.5 seconds but you can redefine it in your _Boostrap.h file.

This constant is only available for DOGM lcd screens which is chosen by the code here in ultralcd.cpp and without more details on your machine it's hard to tell from Conditionals_LCD.h which will be used.

I was able to remove the Marlin bootscreen and still retain the custom one by commenting out the following line in marlinui_DOGM.cpp (Marlin/Marlin/src/lcd/dogm/marlinui_DOGM.cpp):
void MarlinUI::show_bootscreen() {
    TERN_(SHOW_CUSTOM_BOOTSCREEN, show_custom_bootscreen());
    // show_marlin_bootscreen();
  }

Tested and working as of Marlin 2.0.x.


text:
Jammed extruder. Wanhao duplicator i3 Plus
I am new to 3d printing having only recieved it for christmas. The filament is jammed somewhere in the extruder of my Wanhao Duplicator i3 Plus. I have tried removing it with the included hook but was unsuccessful. Is there anything else I should try before I before I dismantle the extruder, which i very much want to avoid.

I follow the techniques spelled out in this video on Tom's 3d:
Basics: Cleaning out a clogged nozzle!
Essentially you:

Heat up the hot end past the point you normally print at.
Manually (gently) push filament out of the hot end.
Turn off heat & continue applying pressure to the filament, until it quits extruding (it has cooled off).
Set the heat on the hot end to normal printing temprature for the filament & immediately start pulling firmly on the filament, but not too hard.
As soon as it melts enough, it will just "slip out" & bring any stuck crud with it.

I went ahead and bought some white nylon filament so I can heat it up hotter (good for cleaning out ABS) and since it's white, I can see the nasty crap it pulls out.

Try to preheat your printer, the temperature should be above 180°C then push the filament to come out from the nozzle just 4 to 7 mm, then take out the filament from the extruder. With this step the plastic lump will get soft and will release the filament.
Then use the tool to clean the nozzle pushing the residue inside the nozzle.
This is a common problem if someone tries to change the filament without feeding a little bit (3-5mm).

You forgot to mention that the "take out the filament from the extruder" part needs to be with some force and a bit of speed. If you do it slowly it could cause it to clog even further, if you do it to fast it could cause the filament to break.

@Granny Filament breaks if is so cold and has been placed on the extruder without movement for long long period ( more than a week). When takeout the filament form the extruder won't be stuck  or clog inside, thats whay is needed to push a little bit firstly. I use to use this method to fix 3D printer of some clients. I have to disamantle the nozzle when the lump is over thighten due inproper filament changes.

i know that but what i am saying is that after you push the filament through a bit, hold it there and then pull straight up with medium force. Filament wont really break, after sitting for a few days/weeks cause I had filament out for months without it getting fragile. This is also the way i unclog my nozzles.

I'd add; if you don't have a fan on the cold-end, get one. It removes clogs around 100% (last one I got was when I accidentally disabled the fan).


text:
3D printing references for beginners
I have just received a 3D printer for Christmas (Robo R2).  I am confused by the sheer amount of settings that I can tweak and I'm hesitant to do so until I know more about them.  I was wondering if anybody has any recommendations for literature on:

3D printing in general (geared towards beginners);
Designing parts specifically.

Books are preferred but websites are acceptable as well.

I'm not sure I understand what you are asking.  Are you asking for schematic design of and literature about the Rorbo R2?  Or are you asking for something more general (in which case: what exactly?)

@mac Basically just any "intro to 3d printing text" that could be recommended. Also text for more specialized subfields, such as "schematic design" would be fine as well. Does not have to be manufacturer specific.

Welcome to the fantastic, sometimes frustrating but most often glorious world of 3D printing David! :)
Your question is really very very broad, but here's my contribution to make your first steps a success.  First of all: I don't have experience with the Robo R2, but judging from the specs available online, I would say that you got a machine that take care of most of the troubles beginners encounter when starting out (e.g.: levelling the bed) and has a few features that allow you to print more reliably/with better quality (heated bed, enclosure, possibility for a second extruder).
Give a hug to whoever made the gift to you! ;)
I like to think to 3D printing as a process that involves 4 phases (well, normally several iteration of them as prototyping is a thing):

Designing (creating the mesh, i.e. the shape of the object you want to print)
Slicing (creating GCODE, i.e. the file with the step-by-step instructions for moving your printer nozzle in space, extruding the plastic, controlling temperatures and cooling, etc...)
Printing (the actual process of having your printer running that GCODE)
Post-processing (finishing the piece, by for example removing support material, sanding, vapor-smoothing the surface, painting, etc...)

Technology in the 3D printing world is moving so fast that printed information tends to get outdated quickly, and the Internet is often the best source of information.  So in the following bits I will mention the the source of information that I use[d] for myself, of which many are online rather than in print.
DESIGN
Broadly speaking, there are two kind of designs one can do: decorative or functional.  Decorative designs are those in which the final object will essentially sit still on a shelf or be handled very gently (e.g.: a model of the Tour Eiffel, a miniature for RPG gaming), functional designs are those in which the final part will have to bear a load or perform some sort of mechanical work (e.g.: a drone, a shelf bracket, a pipe adapter...).
Both designs need to take into consideration the physical limitations of FDM printers such as the fact that the nozzle is round and with a fixed diameter, or the fact that molten plastic needs to rest onto something, thus the need for support.
Additionally, functional design requires an understanding of the physical properties of 3D MFD printed parts (hint: they are anisotropic, so their properties differs along their axis).  If you are interested in functional designing a book that I can highly recommend is Functional Design for 3D Printing by Cliff Smyth.  It is concise, accessible and full of information you'll be using from your very first design.
In terms of tools, for decorative, organic forms, you will probably want to use a program like Blender, that manipulate meshes directly, while for functional designs will probably turn to CAD software, like for examaple FreeCAD that operate on a "model" and let you export the finished part as a mesh at the very end.
Both Blender and FreeCAD are free software (like in: "free speech") but commercial versions do exist as well (most notably from Autodesk).
Blender is professional grade software with a very steep learning curve and I would suggest to take an structured online course like this one about it, rather than trying to learn it the DIY way.
FreeCAD belongs to a category of CAD programmes that operate on a well defined, well understood, set of principles (so it works similarly to OnShape and Fusion360 for example) and it is much easier to learn.  In my experience CAD modelling is best learnt by understanding the very basic, and then just researching further information as you go, according to the needs of your project as CAD design is full of small specific operations that is useful to know only if you actually need them (e.g.: how to draw a screw thread, or to perform a loft).  I started out with this series of video tutorials by the late Roland Frank (a celebrated contributor to the FreeCAD community), but there are tons of other tutorial should you choose to go with a commercial product.
SLICING
Slicing is as much an art as it is science.  While the actual work of generating the GCODE is automated and requires just the click of a button, there are a myriad of settings that are mutually interdependent in their effect.  For example: filament temperature, movement speed, cooling fan, retraction and coasting all affect oozing, but each of them also affect other things (bridging, layer adhesion, curling, nominal overextrusion, etc...).
Also: settings differs for each filament material, each brand, and sometimes even different spools from the same material/brand.  Moreover, you may wish to tune them depending to what you are printing (maybe you are printing a finely detailed miniature and want to go slower to reduce vibration, or maybe you are printing a torsion bar and want to increase the temperature for increasing layer adhesion, for example...).
IMO the best way to understand how settings affect your print is playing around with calibration towers (example) and torture tests (example).
Calibration towers work by printing the same thing on top of each other but changing at each repetition a specific setting (like filament temperature, or extrusion multiplier).  You will then visually inspect the final piece and evaluate how the print quality changed relative to that parameter.
Torture tests work by putting in the same piece a number of features that are hard for the printer to print correctly (thin walls, bridges, overhangs, to name a few).
A specific model that is sort of gold standard as a basic test is the 3D benchy.  The good thing about it is that it comes with a full website that also tell you how you can evaluate the print.  However, the benchy - differently than torture tests - is not designed to let you discover the limits of your printer, it is more of a quality-control test.  If you can print a 3D benchy, you should be good to go for printing "regular" objects.
Also, at least in the two most common free-as-in-freedom slicers (Cura and slic3r Prusa Edition) each setting comes with some explanatory text while hovering on it, that helps a lot understanding what that setting does).
PRINTING
How much you can affect the actual printing process depends from how "open source" is your printer, and if it uses standard components or not.  Consumer-grade printers get often upgraded/modded to improve print quality or tweak them for a specific job/material.  Typical upgrades are extruder upgrades, stepper motor upgrades, vibration dampeners, different sensors, etc...
Each printer is unique, but normally you can find abundant information wherever the community of owners of a specific model gathers.
I would also advise to subscribe to some good youtube channel about 3D printing like Tom's or Makers Muse or Joel's, and to visit sites like All3dp regularly.  As I mentioned, 3D printing tech changes constantly, and it is good to keep tabs on new materials, new software, new components, etc...
POST-PROCESSING
This is entirely dependent from the material you used for the print, its size, and its intended use, but I wanted to mention this nonetheless as there are amazing things you can do with acetone on ABS, lot of elbow grease on PLA or the use of an airbrush...  so you know 3D printing does not end with the print! ;)
Hope this helps you at least a bit.  Again: welcome to the the 3D printing world! :)

Mac, Thank you so much for the effort you put into your response. I really appreciate it.

I have found that "Troubleshooting and Maintaining your 3d Printer" by Charles Bell has a good overview of:

3d Printer Assembly and parts
3d Printer Calibration
3d Printer Software
Filament materials
3d Printer Maintenance (both preventative and corrective)
3d Hardware Troubleshooting
3d Print Troubleshooting

authors: CTNW คลาสสิคไทยแลนด์


text:
How to configure Marlin to enable auto-fans with dual extruder
I have successfully assembled my custom-built 3D printer and configured Marlin for two extruders and one heated bed. Here is a picture of the printer.

My heated bed runs on a linear axis with ball bearings. When the printer has been running for an hour or so these parts get really hot and I am afraid that the plastic parts will melt if I print any longer or with higher temperatures. So I decided to add fans below the heated bed to keep them cool.
A known problem when using two extruders and a heated bed is that all three power outputs D8, D9, D10 are in use (in my setup D8 belongs to the first extruder, D9 to the bed, and D10 to the second extruder). If you want to have software-controlled fans on top of that, you need to use a workaround. I bought the RRD fan extender which does exactly what I need. You plug it into the RAMPS 1.4 board and get two new outputs D6 and D11.

Previously I had configured the firmware as follows:
#define E0_AUTO_FAN_PIN 11
#define E1_AUTO_FAN_PIN 6

This automatically enabled the fan of the left extruder E0 when its hotend exceeds 50 °C. The same goes for the right extruder E1. The fans are plugged into the fan extender's outputs D6 and D11. It all worked fine.
Now to add fans to the heated bed, I have modified the firmware so that D11 controls both extruder fans. As long as at least one extruder is hot, both fans are running. For that purpose, I connected both extruder fans in parallel to D11 and modified the firmware as follows:
#define E0_AUTO_FAN_PIN 11
#define E1_AUTO_FAN_PIN 11

This part works fine and was quite easy to achieve. What I would like to do next is connect the other pin, D6, to the temperature sensor of the heated bed so that the fans underneath it become active when the bed is at 50 °C or more.
I made several attempts to trick the firmware into believing that there are three hotends, registering the heated bed as E2.
#define E2_AUTO_FAN_PIN 6

I manually defined the temperature sensor of the bed for E2 and commented out some sanity checks and conditionals to enable some parts of the firmware that control the auto-fans. While I get the code to compile, the printer usually halts immediately after it is turned on or as soon as an extruder or the bed is activated. The error messages are not very helpful ("killed, please restart" etc.).
Does anybody know a good way how to achieve my goal? Any help would be appreciated. Thank you in advance.

After trying many different things, I found out that the solution is quite simple and requires only a few lines of code. I'll answer my own question in the hope that this will help someone.
First, I defined a few constants (macros actually). To keep my own additions separate, I created a new file for them called myconfig.h:
#define MY_BED_TEMP_THRESHOLD 50
#define MY_BED_AUTO_FAN_PIN 6
#define MY_BED_AUTO_FAN_SPEED 255

The pin constant corresponds to D6 which is the green marked output of the RRD Fan Extender where I connected the fans under my bed.

Second, in the file temperature.cpp of the Marlin Firmware, I included my file and added four lines of code:
#include "myconfig.h"

...

#if HAS_AUTO_FAN

  void Temperature::checkExtruderAutoFans() {

    ...

    HOTEND_LOOP() {
      if (current_temperature[e] > EXTRUDER_AUTO_FAN_TEMPERATURE)
        SBI(fanState, fanBit[e]);
    }

    // --- start of my code ----------
    if (current_temperature_bed > MY_BED_TEMP_THRESHOLD)
      digitalWrite(MY_BED_AUTO_FAN_PIN, MY_BED_AUTO_FAN_SPEED);
    else
      digitalWrite(MY_BED_AUTO_FAN_PIN, 0);
    // --- end of my code ------------

    ...

#endif // HAS_AUTO_FAN
...

Now my fans automatically turn on when the bed temperature is above 50 °C, and turn off again when the bed has cooled below that temperature.


text:
How do I use MEGA pin number designations rather than RAMPS pin numbers in marlin
I am designing my own shield for the MEGA2650 that I will use to control my printer.
When defining pins in the marlin firmware, the pin numbers are the pin numbers of the RAMPS shield and not the Arduino MEGA itself.
How can I define pins so that I could write #define HEATER1PIN 5 and it will make heater1pin be on Arduino MEGA's pin 5 and NOT RAMPS's pin 5

The pin mapping that Marlin uses is defined in the file fastio_1280.h:
/**
 * Pin mapping for the 1280 and 2560
 *
 *   1280     22 23 24 25 26 27 28 29 53 52 51 50 10 11 12 13 37 36 35 34 33 32 31 30 21 20 19 18 81 82 83 38 00 01 78 05 02 03 79 80 54 55 56 57 58 59 60 61 41 40 39 71 70 04 17 16 84 06 07 08 09 85 15 14 72 73 75 76 77 74 62 63 64 65 66 67 68 69 49 48 47 46 45 44 43 42
 *   Port     A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 G0 G1 G2 G3 G4 G5 H0 H1 H2 H3 H4 H5 H6 H7 J0 J1 J2 J3 J4 J5 J6 J7 K0 K1 K2 K3 K4 K5 K6 K7 L0 L1 L2 L3 L4 L5 L6 L7
 *   Marlin   00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
*/

Confusingly, the line labeled "1280" refers to the pin numbers as used by Marlin. The line labeled with "port" gives the corresponding port/pin combination as it applies to the AtMega2560 chip itself. To translate between the port numbers given above, and the Arduino Mega pin numbers, you can use the following pinout diagram:

Licensed under CC-BY-SA, www.bq.com
For instance, according to the pin mapping in fastio_1280.h, Marlin pin 34 is "port" C3. This corresponds to PC3 in the pinout diagram, which is Arduino Mega A11. Conversely, if we want to find out what PWM pin 9 is in Marlin, we can look at the diagram to find out it corresponds to PH6, which is Marlin pin 09.
If you want to change this numbering, then unfortunately, you have to make quite a few modifications to fastio_1280.h. For instance, the "reason" pin 5 corresponds to the pin it does, is the following set of definitions:
#define DIO5_PIN    PINE3
#define DIO5_RPORT  PINE
#define DIO5_WPORT  PORTE
#define DIO5_DDR    DDRE
#define DIO5_PWM    &OCR3AL

If you wanted to point pin 5 towards another pin, you'd need to change all of these lines to point to the correct registers and pin numbers.


text:
Problems with feeding the filament into the bowden tube
I just finished building my Anet A6 and I was working on inserting some filament into the extruder. It was very difficult to get the filament to go in the hole (past the gears to go down to the hot-end). What can I do that will make it easier to get the filament into the hole (I tried cutting the tip at a angle)?

What you are referring to is not the bowden tube but the throat and the white tube inside that is the PTFE tube.

@Granny I apologize, I am new to 3d printing and don't know every part of a 3d printer. But I do my best to find what it is called.

No worries, learning is what we do here. You should print a swing arm or something that will make it so its easier for the extruder fan to be removed when switching/inserting filament.

What you are after is a small common mod called... filament guide (as your question title!).
The first one to pop up in my google search was this one: https://www.thingiverse.com/make:346736 which in turn is a make of this model: https://www.thingiverse.com/thing:2242903
Also, a couple of tricks that help on my printers (YMMV):

manually straighten the first few cm filament before inserting it into the extruder (e.g.: remove the natural bend that is there because the filament came off a round spool by bending it in the opposite direction)
when the filament is past the gears/cogs, while still keeping the cogs "open" (i.e.: not yet clamping the filament), twist/roll the filament between your finger.
sharpen the tip of your filament with a pencil sharpener.  This make so that the tip of it is at the very centre of the hole, rather than at its edge.

Sorry for the bad wording, didn't really know how to work it. But yes what you found is helpful. This should guide the filament to the hole, which is perfect because this is what I was wanting. Otherwise I kept missing, and missing, and missing. I did get filament loaded so I will print this for sure. Thank you!

@Ljk2000 - I added a couple of extra tips that can also help.  Remember that on a Q&A site "helpful" translates with upvotes! (hint-hint!).  This is important as upvotes / and the presence of an accepted answer affect the search results for other users (so it prioritises as results those questions that may come with a solution attached!). :)

I hit the upvote before, it did not register.... oops! Also I like the tips you added, I will remember these!


text:
Problems with support interface since cura 3.1
Since i updated Cura from 2.7. to 3.1. I have a really hard time at configuration and especially removing the support interfaces. The update automatically uses the settings from the old version, but as I said: it doesn't work anymore.
I even tried to create a test print with 4 copies of a test object with different settings, but there where no differences in the slicing for them. Every copy and the support interface that belongs to it was the same.
Did anybody have an idea?
Printer Anet A8 with PLA

I see you are a new user around here, so I hope you don't mind if I bring to your attention that you should upvote any answer that helped you along the way, eventually accepting the one that was closer to solve your problem or - in case none of the answers made it for you - write your own answer and accept it (so that others will be able to benefit from it when searching). :)

unfortunately I got not the time to try any of the points :( give me some time and I will answer you, so also others can profit from the results.

I found the problem: The Support Z Distance only changes the Support Bottom Distance and NOT the Support Top Distance. By activating the two sub-options you can configure this again.
I will write a bug ticket.

In Cura 3.1 to 3.2.1 (date today is 2018-Feb-24): The Support Z Distance only changes the Support Bottom Distance and NOT the Support Top Distance. By activating the two sub-options you can configure this again.


text:
Getting started: shell passes not fusing in x/y, and a slanted wavy pattern on vertical walls
I'm trying to find the main reason(s) for the imperfections I'm seeing in printouts from my printer. It is an I3 clone from Folger Tech. I got this printer from a friend who used it to print a larger one, so the mechanics are apparently fine to the point that they are capable of producing something of decent quality.
Filament: 1.75 mm black PLA from Janbex, unpacked three days ago, in "normal" appartment air since then.
Nozzle: 0.4 mm, apparently clean enough since I can push filament through the hot nozzle by hand and it comes out straight after some slight initial pigtailing. The nozzle had also been used for ABS earlier.
However, I have some trouble getting a 20x20x5 mm³ cube right. Two imperfections that bug me most are:

A wavy pattern is visible on all vertical walls, with slanted wave fronts that "wrap" around the edges. If a string is printed along y and ends with a "hill", the following string along x starts with a "hill" as well. The wavelength is pretty much constant throughout the layers.
Not fully fused shell perimeters. The perimeters do touch at certain spots, which also show a regular distance from each other. These touching spots seem to coincide with "hills" on the outside

I tried a slower print speed and higher temperature. This part has been printed at 40 mm/s for infill and perimeter, external perimeters and first layer at 20 mm/s, 205 °C, and flow rate 110%:

The full slic3r settings as they were appended to the generated G-Code:
; avoid_crossing_perimeters = 0
; bed_shape = 0x0,200x0,200x200,0x200
; bed_temperature = 60
; before_layer_gcode =
; bridge_acceleration = 0
; bridge_fan_speed = 100
; brim_width = 0
; complete_objects = 0
; cooling = 1
; default_acceleration = 0
; disable_fan_first_layers = 3
; duplicate_distance = 6
; end_gcode = M104 S0 ; turn off temperature\nG28 X0  ; home X axis\nM84     ; disable motors\n\n
; extruder_clearance_height = 20
; extruder_clearance_radius = 20
; extruder_offset = 0x0
; extrusion_axis = E
; extrusion_multiplier = 1.1
; fan_always_on = 0
; fan_below_layer_time = 60
; filament_colour = #FFFFFF
; filament_diameter = 1.75
; first_layer_acceleration = 0
; first_layer_bed_temperature = 65
; first_layer_extrusion_width = 200%
; first_layer_speed = 50%
; first_layer_temperature = 205
; gcode_arcs = 0
; gcode_comments = 0
; gcode_flavor = reprap
; infill_acceleration = 0
; infill_first = 0
; layer_gcode =
; max_fan_speed = 100
; max_print_speed = 80
; max_volumetric_speed = 0
; min_fan_speed = 35
; min_print_speed = 10
; min_skirt_length = 0
; notes =
; nozzle_diameter = 0.4
; only_retract_when_crossing_perimeters = 1
; ooze_prevention = 0
; output_filename_format = [input_filename_base].gcode
; perimeter_acceleration = 0
; post_process =
; pressure_advance = 0
; resolution = 0
; retract_before_travel = 2
; retract_layer_change = 0
; retract_length = 2
; retract_length_toolchange = 10
; retract_lift = 0
; retract_restart_extra = 0
; retract_restart_extra_toolchange = 0
; retract_speed = 40
; skirt_distance = 6
; skirt_height = 2
; skirts = 6
; slowdown_below_layer_time = 5
; spiral_vase = 0
; standby_temperature_delta = -5
; start_gcode = M42 P6 S0 ; enable fan\nG28 ; home all axes\nG1 Z4 F1000 ; lift nozzle\n
; temperature = 205
; threads = 2
; toolchange_gcode =
; travel_speed = 130
; use_firmware_retraction = 0
; use_relative_e_distances = 0
; use_volumetric_e = 0
; vibration_limit = 0
; wipe = 0
; z_offset = -0.05
; dont_support_bridges = 1
; extrusion_width = 0
; first_layer_height = 90%
; infill_only_where_needed = 0
; interface_shells = 0
; layer_height = 0.2
; raft_layers = 0
; seam_position = aligned
; support_material = 0
; support_material_angle = 0
; support_material_contact_distance = 0.2
; support_material_enforce_layers = 0
; support_material_extruder = 1
; support_material_extrusion_width = 0
; support_material_interface_extruder = 1
; support_material_interface_layers = 3
; support_material_interface_spacing = 0
; support_material_interface_speed = 100%
; support_material_pattern = pillars
; support_material_spacing = 2.5
; support_material_speed = 50
; support_material_threshold = 0
; xy_size_compensation = 0
; bottom_solid_layers = 3
; bridge_flow_ratio = 1
; bridge_speed = 50
; external_fill_pattern = rectilinear
; external_perimeter_extrusion_width = 0
; external_perimeter_speed = 50%
; external_perimeters_first = 0
; extra_perimeters = 1
; fill_angle = 45
; fill_density = 30%
; fill_pattern = line
; gap_fill_speed = 20
; infill_every_layers = 1
; infill_extruder = 1
; infill_extrusion_width = 0
; infill_overlap = 15%
; infill_speed = 40
; overhangs = 1
; perimeter_extruder = 1
; perimeter_extrusion_width = 0
; perimeter_speed = 40
; perimeters = 3
; small_perimeter_speed = 20
; solid_infill_below_area = 70
; solid_infill_every_layers = 0
; solid_infill_extruder = 1
; solid_infill_extrusion_width = 0
; solid_infill_speed = 20
; thin_walls = 1
; top_infill_extrusion_width = 0
; top_solid_infill_speed = 15
; top_solid_layers = 0

What can cause this wave pattern? What I don't think it is:

It's not acceleration, because the pattern doesn't start right behind a corner or other feature that requires the printer to de- or accelerate.
It's not just related to x or y, because the pattern travels around the part without interruptions
Temperature is probably not too low since the first layer sticks very well above 195 °C, I've even seen some warping now at 205.
Filament comes in without obstacles, it's not stuck on its way to the extruder.

My guess is that my extruder is somehow extruding in waves, but I have no clue how exactly to nail that down or how it could be fixed.
I gradually raised the temperature until I reached 205 °C, because with my first prints the infill was just a mess of strings. Also note that I'm a beginner - this is the first part I'm printing.
Edit: hollow print with just one perimeter shell
As suggested by mac I printed a cube with no infill and just one perimeter shell. All other settings were as above. This took a while because I had to build a light box first to create this shot:

What I noted during the print:

The first layer is really flat. If I had a picture of that, I'd go brag about it.
I'm not sure about the second layer, but as you can see above the third bottom layer shows a wavy pattern as well. Those waves apparently also occur when the head is moving in 45°, not just x or y. Wave phase seems to be different as the head goes back and forth.
The perimeter looks a bit grainy.
Every layer starts at the corner pointing right, where the part has a slight bulge. I don't necessarily interpret that as overextrusion, since the sides with the bulge are closer to the target length than the others (20.00 +- 0.025 vs. about 19.85 +- 0.025. I have mechanical calipers with 0.05 mm resolution and am able to use them appropriately)
The part was not cooled with a fan because I have none.
I noticed slight vibrations on the extruder, probably coming from the extruder fan. However, the frequency of those vibrations is much higher than that of the wavy pattern I see in the print. I will replace the fan.
The steppers axes and pulleys seem to run true. Take this with a grain of salt because the pulleys don't even make a full revolution during one perimeter pass!
The linear bearings fit nicely.
Side note: since this print has only one perimeter shell, there's no chance for multiple perimeter shells to not fuse completely [like they did/didn't (? - not a native speaker) in the original print].

Edit 2: Cylinder with 100% flow rate (not 110%), 20% concentric infill and 3 perimeter shells

The outmost infill layer touches the perimeter, so I have 4 perimeters effectively
There's a wavy pattern around the perimeter, and the concentric infill looks like it's really getting thicker and thinner along the way.
The part is oriented just like the second cube above, with each layer starting to the right.
The starting point has a slight dent (not a bulge as before), as if start and end of the circles didn't touch.
Slight oozing between infill circles, where the head moved from an outer circle to the next. The outmost infill circle was printed first. Infill circles started to the left. Temperature might be too high.

Edit 3: Something useful - stackable trays with slic3r Prusa Edition
I designed this stackable tray (60 x 60 x 15 mm, 2 mm wall thickness) in openSCAD and used slic3r Prusa Edition to process it. The first tray is with 100% extrusion width (200% for the first layer) and 40 mm/s (I can't add the whole set of settings now, but will do so if necessary):

Printing time for the above part: about 90 minutes.
Then I increased both printing speed to 50 mm/s and extrusion width to 105%, and expected a quicker print. This is the result:

I was surprised to see that this tray, despite the 25% increase in "main printing speed", needed about 120 minutes (that's 30 more than with the settings for the first tray).
Both parts are usable (and they stack), but the bottom wall is a bit bumpy from ripped apart infill. Other observations:

The walls appear to have fused better than with the original slic3r (I don't know why), so that might just be a plus of the Prusa Edition. However, other parts might turn out worse.
There's still a wavy pattern, especially on the bottom wall.
The vertical walls still look and feel a bit grainy.
I had "whiskers" forming where the nozzle approaches the next feature to print (best visible in the first picture of the tray labeled "1"). So where the nozzle is approaching from the right, a whisker formed from bottom left to top right. This is probably a tower that builds up from slight oozing, and easy to remove.

First off: thank you for a very well asked question, with lots of data and info to work with. :)

My guess is that my extruder is somehow extruding in waves, but I have no clue how exactly to nail that down or how it could be fixed.

From the picture is difficult to verify this.  If it is an extrusion problem, the thickness of the filament deposed will vary.  I would suggest to print the same cube without infill and with single (0.4 mm) shell thickness. to be absolutely sure.  If your hypothesis is correct, the wall will thin and fatten, if you are not, it will be just wavy, but its thickness will be constant.
EDIT: If it is an extrusion amount problem, the issue may be either with the extruder stepper (see below) or with the filament having an inconsistent diameter (check with a caliper).  If this is the case, also check that your hobbed wheel (the "cog" biting into your filament to pull it in the extruder) has consistent diameter and all of its teeth are equally sharp.
In general, this kind of regular, cyclical defects, are linked to rotating parts being misaligned.  Off the top of my head, I would suggest to verify in this order:

that the axis of all the stepper motors (X, Y and extruder) run true (if you place a finger on them while they spin, you will immediately be able to feel if they wobble).
that the matching pulley on each axis (where the timing belt loops back) runs also true on its axis.
that the bearings (if any) that allow the extruder and the bed on their axis also runs true, and clamp firmly but not too hard their rail.

EDIT 2: I just thought to clarify that the above assumes the problem is mechanical.  Another reason for the defects could of course be electronic, for example electromagnetic interference from some other appliance or a defective electronic component may have your stepper driver have a fluctuating output, thus driving the stepper motor even so slightly back and forth... but I'm not that knowledgeable in electronics, so I wouldn't know how to diagnose that without specialised instruments...

I printed a hollow part with only one perimeter shell as you suggested and included a picture and other findings in my question.

@Christoph - To me the second print seems to confirm your opinion that the problem is with extrusion.   The fact the sides appear grainy could be just a matter of the phase of the cycle not aligning "nicely" on the sides.  Two further experiment you could do: 1) changing the pattern of the bottom layer from lines (which I assume is what you are using) to concentric.  If the problem is with extrusion, the waves should then become concentric too.  2) changing slicer (try v. 1.38.5 of Slic3r Prusa edition or Cura 3.1 for example).  Unlikely to be the culprit, but it's a cheap test to do...

@Christoph - Also, how did you decided on 110% flow rate?  If you haven't calculated it already - see here - I would strongly suggest you do.

I calibrated my extruder before I started those prints and it needed about 2% adjustment. 110% flow rate were decided upon in a discussion with myself about those gaps in the perimeter which ended with the conclusion that the part needs "moar plastic!".

I would stick with the 2% while troubleshooting.  The extra plastic risks to cover telltale symptoms, and we already know it doesn't work as a fix.  Did you have a go with other slicers, same results?

So you suggest the next test parts with 100% (not 110%) extrusion and concentric infill? I could make a hollow cylinder instead of a cube, then

Printed a cylinder with concentric infill and will try a different slicer later (if I manage to install one)

I meant: if your measprements give you 2% underextrusion, print with 102% flow rate. :)

we should probably chat about the next test print first. I managed to install and run the prusa edition of slic3r after manually sneaking in an updated libstdc++ 6.0.20, so that's good now. However, my daily time is currently limited to one or two short runs.

@Christoph - I missed your second edit!  But I don't have any further ideas to offer.  I am however curious to know if you have managed to fix the issue, and if yes, if you can share what the problem was...

I decided I'd start to "just print stuff" and tweak the settings until it improves. If it doesn't improve, I'll try a new extruder. See Edit 3 for some larger prints that also show problems.


text:
My printer is printing a messy ball. CTC prusa from Ebay
I bought this cheap prusa i3 variation from eBay. I setup everything and now I'm trying to print some gcode file from the SD card. Using PLA.
Here is a video of the mess! How can so fix this situation?:
https://youtu.be/Vz46tCcrtMI
I have no clue about how to generate gcode files, so I just took the ones from the manufacturer CD.
Are there any gcode files I can download for correctly tuning and calibrating my printer. I would like to know that my hardware setup is right, before getting into the software stuff
Thanks.

Looks like you need to adjust the print bed level. When z=0, the nozzle should be 0.1mm above the printing surface - and that needs to be at every point of the printing area. Instructions on how to adjust this should come with your printer.
Essentially, the procedure is as follows (you should be able to issue these commands directly on your printer, so no gcode is needed):

auto home, i.e. all axes go to 0.
disable steppers, so you are able to move the print bed and the x-axis
put a sheet of paper on the print table. The thickness of ordinary paper is around 0.1mm, so that's good for calibrating.
now move the nozzle around the print bed. There should be a slight (!) friction between the paper and the nozzle and this friction should be the same everywhere. If not, use the screws on the four corners to adjust the level of the print bed. Do not attempt to fully correct any deviation at once, because this might bend the print bed. Make several rounds and adjust the screws by 1/2 turn only on each round. This is a tedious procedure but it is really required.

Finally, when the nozzle is at 0.1mm above the print bed in z=0, you should be able to print and the filament should adhere to the bed.
A heated bed also helps.
P.S.: For generating gcode files, you need a slicer. For the very first steps, I found Cura quite easy to use: you feed it with .stl files and it will slice it internally. Currently, I am using slic3r (and pronterface for controlling the printer itself).

Thanks.. I will try to adjust print bed. Why instead of STL files, generally there are no gcode files available?? Will a gcode file work in any prusa i3 printer?

STL files only contain the geometry, while gcode also contains technology information, such as resolution, temperatures, printing aids like support, brim etc... gcode is therefore specific for your setup and is therefore usually not supplied on platforms like thingiverse & co.

I concur the problem is with bed levelling, but the procedure should be performed slightly different than described.  Notably: 1) heat your nozzle to the printing temp (this is because the hot end expands when hot, so the nozzle is lower on the bed when printing. 2) do not disable the steppers, rather use the menu to move the printhead (you don't want to accidentally move the Z axis) 3) rather than "move around" the nozzle, move it repeatedly on top of the 4 adjustment screws.  If your bed is flat, this will level the whole bed.  A severely crooked bed should be replaced.


text:
Sunhokey Prusa i3 axis x, y, z?
My Sunhokey Prusa i3 arrived with a corrupted disc. I'm awaiting a new one and finished the mechanical build via YouTube videos.
I've no clue which motor controls the X, Y, and Z, axes. I"m not even positive which axis is which. YouTube vids don't show the origin of all the wires/cables/cords they connect.
Anyone know of any CLEAR and Normal speed (or slow-able) vid/diagram that shows the electronics wiring in detail?

X-axis is right-to-left (Carriage motor)
Y-axis is front-to-back (Base/Bed motor)
Z-axis is up-and-down (lead screws)
There are several videos on YouTube.
This playlist seems good.

This diagram would appear to show the connections to the controller board. Taken from 3D Printer: Sunhokey prusa i3 2015 review

Refer to Mark's answer for what axis/component each stepper motor controls.