Prevent stopping and heating in the middle of the print In my latest 3D model, the Prusa i3 MK3 stops, heats and then continues the print. However, there's no noticeable drop in temperature. The display shows 210 °C/90 °C (nozzle/bed) as expected. I have printed the same part 3 times now and the behavior is similar. I've seen a maximum of 211 °C/90 °C and a minimum of 209 °C/89 °C.

Unfortunatly, it seems that stopping the head seems no good idea. The nozzle is very close to the object and it seems as if either there's a bit of filament leaking, causing too much filament, or the existing filament is melting.

The irregularities are always in the same XYZ positions. The print is still usable for my needs, but I'd like to understand this behavior better and find a fix, if possible. My meterial is HDGlass (PETG) and I'm printing with default settings, 20 % infill and first layer 200 °C, following layers 210 °C.

I've looked up the print quality troubleshooting guide. It looks a bit like blobs and zits, just much less and much more subtle than in the example there. Also, the solution is not applicable, because Slic3r does not show a planned retraction in those positions.

My model is available online and the issue appears near the large bottom layers and the large top layers.

My questions are:

what is the problem called / what problem category do I have here?
what is a potential fix?
since the filament also extrudes at 200 °C, can I prevent the printer from stopping the movements unless the nozzle temperature drops below e.g. 207 °C, although the nominal temperature should be 210 °C?

Your allowable temperature tolerance might be too low.

You have seen what I call emergency-halt the print on getting too far away from the set print-temperature. As described, the allowable tolerance seems to be 1 degree, which means pretty much any variation in the printer head's temperature will trigger the stop before the software even can counteract it.

To counteract this, you might try to increase your allowable range slightly, for example to about 2.5 of more degrees, either way, giving the printer time to compensate without halting the print.

How the tolerance area works

Let's assume the printer has 210 degrees with a stable heat input from the cartridge and monitored by the thermosensor.
conditions are met to start printing.
Filament is pushed into the nozzle, picking up heat energy from the heater block.
The temperature of the heater block drops, as the thermal energy (=heat) input from the cartridge did not yet include the new thermal energy drain in the shape of the filament.
The Thermosensor registers the thermal drop a little bit later and notifies the chip
The chip increases the voltage on the heater cartridge with a little time difference

With a very low tolerance, it is possible to fall below the threshold before the cartridge could heat up to compensate

the cartridge pumps in way more heat than needed, raising the temperature rapidly back into the print-temperature tolerance area...
...and overshoots the aimed for 210 degrees.
The thermosensor only registers the aimed temperature with a short delay
the chip cuts the voltage to the heater cartridge lower
but there is still a lot of extra thermal energy banked in the heater cartridge, heating the block over the aimed 210 degrees

which again can trigger the stop for the temperature rose over the allowable tolerance.


What are the limiting factors when trying to print flexible filaments with a Bowden extruder setup? Other than the most obvious issue with the filament kinking in the tube, what other issues could arise when trying to print flexibles (i.e. TPU/TPE, Nylon, etc.) with a Bowden style extruder setup?

Can the kinking issue be alleviated by a well-constrained filament path (proper ID) in a properly sized Bowden tube?

As a user of an UM3E, which uses Bowden tubes and has TPU as an available material, I can tell you that the kinking issues can be alleviated or downright avoided.

I've printed quite a few things with the Ultimaker-brand TPU 95, and never had problems with kinking in the tube.

Ultimaker uses 2.85 mm filament, with Bowden tubes adapted for those and a rear motor, i.e. the motor is on the back on the printer and not right on top of the print head.

I personally wouldn't consider Nylon as one of the really flexible material, but that's my opinion. Never had kinking in the Bowden tube with Nylon either in my UM3E.


Object got unstuck from printing mat So I was trying to print 3DBenchy on my new Wanhao i3+. PLA plastic, basic high quality settings in Cura (I guess 0.06 mm layer, 40 mm/s speed, 50c bed temp, 195c extruder temp). I didn't use any tape, just regular wanhao printer mat, which was installed on printer bed from the box.

At some moment when I looked I found things fouled up: object came off from the mat and sticked to the extruder and was moving with it.
It printed like 3-4 mm of the object (about 50 layers) before this happened.

I would like to know what are the main reasons this can happen? And what can I do to prevent this? I think it's very sad when you lose many hour of work.

You have to secure your print to the build plate.

One thing that I always do is to use a brim in cura.  prints a single layer which extends in all direction away from your object, adding extra adhesion between your object and the print bed.

You can also use a slower extrusion speed for your initial layer but I would use this after trouble shooting everything else since you will be adding time to each print.

If you are using a heated bed make sure that the temperature is set for the correct material.  For PLA i think that is 40C-60C.

We put down a layer of craft/school elmers stick glue before most prints.  This helps a bit with adhering to the build plate, and also seems to allow the prints to pop off a bit easier.

Also be sure to double check you Z calibration and your bed level.  If there are inconsistencies and your nozzel moves to far away from you bed, you will be extruding in air and not getting and stickage at all.


What makes a good PLA filament? The quality of the filament is frequently mentioned either as the source of an issue but also as the solution to a problem.

I know that the way you use,store and protect your filament will greatly impact it's quality, especially overtime, but here I'm interested to understand what makes a brand new, out of the air-tight package, good or bad? What to look for when you buy filament (specs,chemical,weight,...)? What are some brands that are notoriously know to make "high quality" filament?

General characteristics of a "quality" filament:

Manufactured to a "high" dimensional tolerance.  Measure the filament in several places along it's length and check for consistency.  I'm pretty happy with filament that has less than 0.05mm difference between its thickest and thinnest diameter.
Lack of impurities.  I've never had a problem with impurities (that I know of) but I've heard and read about it.  Finer nozzle diameters will be more susceptible to clogs caused by foreign matter in the filament.
Good packaging.  You already mentioned it, but good packaging is a sign of a reputable filament supplier.  It should be sealed in a fairly "air-tight" bag with a desiccant to keep it dry.
Technical information available from manufacturer. Quality filament manufactures tend to provide information about their filament's characteristics and other information such as optimal settings, etc.
Good reputation.  This one isn't necessarily fair to newcomers, but there is lots of information online about the reliability and quality of various filaments.  In this case, google is your friend.  (Keep in mind that there will be plenty of complaints that result from poor settings/skill and have nothing to do with the quality of the filament.)

I hope this helps!  :-)


Prusa i3 jerking during printing I have a Prusa i3 and during the print, it will start jerking which makes a noise that sounds like something is going wrong. At first, I thought it was the infill since there is a gap in between the layers which this picture shows (I have ripped off the bad layers to see if I can get any use out of it. The video shows the bad layers). For reference the "wall" along the outside is 2.1 mm.

 Then about 70% of the way through the print, the Y layers started to shift so I thought that the jerking was a result of this. This is a video of what is happening https://www.dropbox.com/s/g1afjwyzl8hqej9/IMG_0403.MOV?dl=0

So is this the infill that is causing the jerking or is there something that I should fix on the printer that will stop jerking?
Thank you!

Well that is unique. I would say if you only see this after the printer has been running a while then your electronics are likely overheating. Put a fan on it and report back.

Otherwise and also I would reflash the electronics..


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.


Will I see a noticeable difference switching from a .4mm to a .3mm nozzle? I currently print with a .4mm nozzle on my extruder, and my prints seem to come out fairly accurate; would I see much of a difference if I went to a .3mm?

What are the pros and cons of larger and smaller nozzle sizes?

1) Smaller nozzle advantage: sharper "corners" (higher X and Y resolution)

2) Larger nozzle advantage: faster 3d printing (because you can print the shell faster as each perimeter can be thicker so you'll need less perimeters to be printed to get the same shell thickness. Same true for infill).

3) Smaller nozzle disadvantage (varies, debatable): higher risk of clogging. There are of course other factors which can result in clogging, but this can also affect it as even finer particles in less quality filament can get stuck now.

4) Smallel nozzle disadvantage: since less plastic can come out at a given duration of time, it means less speedy printing of larger layer heights, if at all possible.

I feel like I should get back to (1) and explain why it is so.
When companies market their 3d printer they usually talk about the layer height (the Z resolution) completely ignoring the X and Y. This makes sense for marketing. Luckily it is not hard to explain what is usually left out and what is important for one of the answers to your question on what are advantages of smaller nozzles:

The Z resolution depends on two main things:
1) The stepper motor driver accuracy of your 3d printer's motherboard. Pretty much all are the same now. Claiming your 3d printer can print at 20 micron layer height doesn't say anything, pretty much any 3d printed today can.
2) Nozzle/extruder quality, nozzle diameter. The latter surprisingly does not determine much. Because of how FFF/FMD 3d printing works, the perimeters of your 3d print can be way thinner than your nozzle diameter. This might sound odd but there's a simple explanation: the molten plastic coming out of the hotend is squished and stretched when the head moves. Because it is stretched, it can be made thinner as you increase how much it is squished. There's not much experimentation done on this and available online, only from personal experience I can say I can print perimeters 50% thinner than my 3mm nozzle. So I suppose if you wanted thinner perimeters than that, you would need to swap to a thinner nozzle.
Why would you want thinner perimeters? To get sharper corners or in other words better X and Y resolution for your 3d prints which is ignored by most unlike the overstated "layer height" (Z resolution).
Here's an illustration to help you visualize how fatter perimeters and less sharp corners/edges on your 3d model result in "lower X/Y resolution" (the illustration is a 2d cutout, viewed from the top):


Prusa Mk3 printing rough surfaces My Prusa Mk3 has been making this sort of rough surface on prints, and I'm not sure what caused this. I am printing with PLA Prusament with 0.2 mm layer height at the preset for PLA. What is this, and how can I fix it?

Edit: Changed absolutely nothing, tried again and problem solved!

The OP was not able to reproduce the problem as can be taken from an edit to his question:

  Changed absolutely nothing, tried again and problem solved!

To honor the Q/A approach used on SE sites, this comment has been converted to a community answer, that once voted for will not make this question pop up once in a while.


Prusa i3 PLA fails to stick to first layer on curves I have been searching around on google and not found any answers to this dilemma. I am using a Prusa I3 printer with PLA, trying to print horseshoes for the company I work for. They are for model horses, so quality is fairly important. I seem to have gotten all the settings dialed in just the way I want them and for the most part, the prints come out fine. There is however one annoying thing that keeps happening. When the filament is going around the curve of the top of the horseshoe on layers beyond the first, the filament does not follow the curves of the first layer. But its not every time. It seems like it is just the 2nd or 3rd Layers that are doing it. I have adjusted the flow rate, the speed, the layer height, temperature, and nothing seems to get rid of this irksome issues. I can of course provide more in depth details, and am including a pic of what i am getting. Any Ideas?

It could very well be that your print speed is too high (starting from the 2nd layer) for the motors to keep up comfortably. Try reducing the print speed to perhaps 75-80% of what you are using to see if it addresses the issue. You should also check you model to make sure there are errors in the STL. Sometimes such mesh errors can cause funny things to happen. Do you see the irregularities in the print preview at all?


Looking for files for printed parts for my Kossel XL kit from Builda3Dprinter.eu A couple years back I received a Kossel XL kit from builda3dprinter.eu as a gift, but I stopped building it because multiple parts were missing, including printed parts. Now that I'm building a Prusa MK3S, I'm considering buying some of the parts and finding the stl files to print the printed parts. However I'm having a bit of trouble finding the files for the exact model, and finding the printed parts for the XL, rather than the mini. Any help would be greatly appreciated, and advice from people who built the same printer would be incredible. Thanks!

I bought 2 of these kits 4 years ago, and I have been really pleased with the quality of the kits and the results.  Sadly this supplier is no longer trading, as he could not compete with low cost imports from the far east.
I have the STL files for the printer kit, so you should be able to print any parts you need.
I have created a Github repository with a ZIP file of the parts files I downloaded from the builda3dprinter.eu website.


Scaling objects with constant wall thickness for 3D printing The question is how to scale an existing mesh without changing the thickness of the walls?

I am using Blender to create STL files for 3D printing. Let's say I create a shell for a model railroad car. Since 1/87th is the most common scale I make the walls of the shell just thick enough to make it rigid in 1/87 scale. Now, if I want to print the same shell in a larger scale, say 1/48, the wall thickness will nearly double and it will waste material printing walls that are thicker than needed. If I want to print in 1/160 the printing may fail because the wall thickness falls below the minimum the printer will support.

Any ideas?

Your question falls into two different categories, here at 3D Printing SE and there, at Blender SE.

I would consider that your objective would best be solved using some form of parametric modeling, an aspect that is rarely embraced by Blender. Even though the limitations of Blender make life interesting for you, there may be a couple of useful features within (and without) the program.

On Blender SE, a question of similar format exists, with a somewhat open-ended answer. A quick search using The Google, with the terms "Parametric Modeling with Blender" results in a number of different approaches. According to a quick perusal of the search results, some of the solutions involve free plug-ins or add-ons for Blender. More complexity rather than less, perhaps.

I'm familiar enough with the very simple basics of Blender to know I would not be able to make use of those answers. I'm also well aware that Blender's power extends beyond my own limitations with features supporting scripting, animation and so many other tools. Seeing the workflow diagrams/charts that make up some of the advanced portion of the program leads me to believe that one can accomplish your objective, but one must be a certified wizard with the program.

As an alternative, one could engage any one of the many parametric modeling programs available. I'm a fan of OpenSCAD, although the text/scripting interface can be daunting for some. If you've become skilled in Blender, a non-GUI format isn't necessarily the best route, although the GUI options are no less confusing, in my opinion.


Auto Bed Levelling - Printer not detecting, but sensor is triggering Today I installed an inductive sensor (4 mm sensing distance, NPN) on my printer to perform auto-bed leveling. The sensor works at 12 V and the board at 5 V, so I used a voltage divider (as suggested in many places online) using a 10kOhm and a 15kOhm resistor.

In testing the sensor, I noticed that the sensor's LED turns on, but the printer (Anet A8) doesn't recognize the fact that the sensor is triggering. I'm running the Skynet3D firmware, though I still have not switched to the version with auto bed-leveling. Regardless, the inductive sensor should still act as a limit switch, yet the Z-Axis motor does not stop when the sensor triggers. Am I doing something wrong, or missing a step?

I have also measured the voltage across the leads that connect to the board and the voltage is slightly over 5 V when the sensor is not triggered, and lowers to around 2.5 V when the sensor triggers. I get the feeling it should be closer to 0 V.

Thank you very much for any help.

Perhaps the culprit is a pull-up resistor on the board. Normally, endstops on 3D printers use the microcontroller's internal pullups. These have a resistance of around 50kΩ, which is far too high to be a problem. However, if lower value pull up resistors are used on your main board, this could cause a problem.

The resistor of your voltage divider form, when the output of the sensor is low, a parallel pair of resistors to ground, with an effective resistance equal to 1/(1/10+1/15) = 6kΩ. If there was (let's say) a 4.7k pull-up resistor on the board, you'd expect to see around 2.8V on the output (because the pull-up resistor, together with the two resistors of your voltage divider, forms another voltage divider).

I don't have the Anet A8 main board myself, but on pictures I do see a set of 6 resistors suspiciously close to the thermistor and endstop connectors.

You could verify my suspicions by unplugging the endstop, powering down the electronics and then measuring the resistance between the endstop signal and 5V pins.

Possible solutions:

Desolder the offending resistor. This is pretty easy with SMD parts: you just alternate between heating up both sides until it slides off.
Use a diode in place of a voltage divider. Anode goes to the endstop connector, cathode to the signal of the probe. This prevents the high voltage of the probe from being seen by the electronics, while allowing the probe to drain the current from the pull-up resistor.

With this last solution, make sure the reverse leakage current of the diode is not too high. If it has a reverse current of (let's say) 50uA, then 50uA flowing through the (supposed 4.7k) pull-up to ground would raise the voltage at the signal pin to 5.002V. This is unlikely to be a problem, but with higher value resistors or higher leakage you'd see the voltage raise higher above 5V (which the microcontroller won't like).


Do you need to manually level the bed with a BLTouch? Adhesion issues with Ender 5 and BLTouch 1.3 I've just installed a BLTouch on my Ender 5 Pro and updated the firmware to 2.0.5.3 and enabled BL touch. I can send a G29 which probes all the points correctly, I also get a readout of the results in OctoPrint terminal but when it puts a first layer down the filament does not adhere to the bed. I also end up with a large clump on filament stuck to my nozzle afterwards.

I've set the Z probe offset while the nozzle was in the center of the bed, and had a good grip on the piece of paper under it while setting it. I stored settings afterwards. I can't actually tell if the BL touch is even doing anything.

Do I need to manually level the bed before using the printer with a BLTouch? It currently has not been leveled since I assembled the printer. I guessed the BLTouch would handle this for me and I wouldn't need to level the bed ever?

These were the results from my G29:

-0.218, -0.148, -0.116, -0.088, -0.084
-0.194, -0.136, -0.115, -0.061, -0.020
-0.138, -0.035, +0.030, +0.091, +0.107
-0.008, +0.062, +0.129, +0.191, +0.261
+0.160, +0.261, +0.339, +0.411, +0.469

yes
Even with auto mesh bed leveling, you ought and should level the bed to a good degree to make the leveling not only more efficient: the mesh bed level is to work out small dimples and hills in the bed, bot to work with a crooked or heavily misaligned bed.


How to determine width of the nozzle, that is already installed on the printer? I have a 3D printer, which wasn't used for a longer time. There is a nozzle, but don't know what diameter is it. I used several widths - from 0.2 to 0.8, switched them depending on my needs, but don't remember which one was used lately.
The nozzle is a little bit worn down, so the diameter on the side is not visible.
How to get the nozzle diameter, without taking it off the printer?
This is more of a theoretical question, because I can simply swap the nozzle, but still - eager to know.

I would find some wires (piano wire, CAT5 copper, paperclip, nozzle unclogger, etc. ) and choose one that should fit the nozzle (eg. a 0.5 mm copper wire will fit a 0.8 mm nozzle) and push them into the nozzle. Heat them up a bit to soften the filament in the nozzle and brush with a metal wire brush to easily clean it up.


Speed issue with Slic3r and Marlin I am trying to print with clay.

These are my Slic3r speed settings,

Other information;

Nozzle: 1.4 mm
First layer height: 0.9 mm
layer height: 1 mm
Filament dia: 1.8 mm
perimeter: 3

When I print, the first layer is printed faster than remaining layers and in the remaining layers, the two inner perimeters are printed much slower than the outer perimeter.

Video: print video
G-code: gcode

Isn't this strange since I give the same print speed for all?

No, you did not set all the settings to the same speed, there are 2 different print speeds defined:

Infill Solid: 60 mm/s
First Layer Speed: 30%

This means, that some walls will be printed 10 mm/s faster than the others, and that first layer should be printed at 30% of 50 mm/s, so at 15 mm/s - try to define it as a speed. Make sure to save and apply the settings and only then slice your model, as you might have sliced the model with the previous settings.


AnyCubic D (aka Predator) - Z-zeroing and first layer issues Long story short, my wife and I are now the proud owners of an AnyCubic D, also known as the Predator. This is not our first 3D printer, but it is our first "delta" design, with the circular build plate and the extruder suspended by stepper-controlled tie rods (as opposed to the IMO more intuitive Cartesian designs like the MakerBot R2X and Ender 3 Pro we already have).

Got it all put together last night and ran all the basic setups including an auto bed leveling. This feature is both a blessing and a curse. It's a blessing because the actual leveling is a matter of fitting the probe, hitting a button and walking away as it maps the build plate, and the results in terms of a consistent extrusion thickness around the plate are excellent each and every time.

It's a curse because the printer depends on auto-leveling due to the build plate being bolted directly to the base; with no manual adjustment possible, probing is the only form of leveling you can do, and that leveling is dependent on an accurate "zeroing" of the extruder above the center of the plate, which has to be done using the steppers to bring the extruder down from "home" to the typical paper-thin clearance over the plate surface.

Thus the problem; the zeroing procedure has a minimum adjustment of 0.1mm. Getting the clearance just right for a solid first layer requires at least another order of magnitude finer adjustment. For now, I have it "good enough" to stick the first layer onto the plate, but the resulting prints show pretty classic plate clearance issues:

You can see the lines of the bottom layer aren't connecting horizontally, and the extrusions are thin and tubular, which are the textbook symptoms of excessive build plate clearance (not enough "squish" of the filament between extruder and plate). It's close, but this is a game of just tens of microns, and the printer simply does not give me that level of control; one more step down at 0.1mm and I hit the plate. The manual says you can babystep the Z offset at 0.04mm while actually running a print, but I have run several (including the leveling test GCode included on the printer's SD card) and have never seen that option enabled in the leveling menu.

I was wondering if there were any AnyCubic D/Predator owners with insight into how they really dial in the proper zero height on these printers. I do have Cura's features to work with; theoretically I could send a relative-positioned G0 Z-0.04 F100 command from its remote control panel as the last step down in zero height adjustment (assuming the printer is listening to USB input while running the leveling procedure), or I could put a similar command in the start Gcode followed by a G92 Z0 which will re-zero the extruder height at the new level (assuming the printer accepts a relative move below its known zero; Marlin 1.1.0 actively prevents that, but indications are the AnyCubic firmware is proprietary, so who knows). I could also leave the extruder height as-is and bump Cura's first layer flow rate setting in the material profile, to push more filament into the taller space on the first layer and so get more squish.

However, none of these strike me as something I should have to do to dial in a printer, given that extruder clearance is a problem trivially solved on either of the other printers, and these fairly kludgy fixes would have to be repeated every time the bed was re-leveled (such as after any disassembly for maintenance or any move to a new location, including one beyond USB cable distance of the slicing computer).

I recently corrected a similar problem on a Robo3D R1+ printer. It is described as the z-offset setting.

An entry in the Thingiverse forum appears to reference this problem as well. The sensor provides reference information to the board, but the compensation is not always as it should be.

For the Robo, the command sequence was M565 Z0.7 in this specific instance, followed by M500 to store the value.

I'm not certain this is the answer for the Predator as the above is specific to the Robo3d.

An answer in this SE suggests that one can use M206 Zxx followed by the M500 storage command.

Further research regarding the z-offset for your particular board is warranted.


3D printer part clones from china - legality What's the legal status of Chinese 3D printer part clones such as Hiwin linear rail clones or E3D hotends?

While it's clear that Chinese clones are certainly sub-par in quality, no question, what I wonder is whether they violate any laws (they don't use brand names or claim to be the genuine product).

In particular, I’m interested whether it is in any way illegal to order such parts in the U.S.

Given that there's hardly any 3D printer that doesn't contain at least one Chinese part, I really think this is on topic.

I also don't seek legal advice but any information other 3D printer users on here have.

This question is really a legal question, and could apply to any cloned parts/devices rather than being 3D printer specific, and a generic counterfeit consumer goods based question should be asked on SE.Law. However, as you rightly state, a lot of 3D printers from China may contain (whether knowingly sourced or not by the manufacturer1) counterfeit parts, be that ICs, hotend designs (i.e. E3D clones), controllers (i.e. Arduino Mega boards or stand-alone non-RAMPS Arduino shield boards),or what have you. As such this is an issue that may be faced by any unwittingly innocent consumer.

Prefacing any statement with I am not a lawyer (IANAL), these sections from Wikipedia entry on Counterfeit consumer goods might help answer your question:

Growing problem as will this
Enforcement- US.

In short, if they have a mind to, Customs could seize it at the border; if your house was raided (for whatever reason) law enforcement could seize your printer (although this seems unlikely, unless they were explicitly raiding your house for knock-offs); and (more worryingly) there is a proposal to fine those people who purchase knock-offs.

Of course this is not the only legal issue that may be encountered when buying Chinese devices/parts from less-than-reputable suppliers o eBay or AliExpress, for example, what if:

it breaks and what legal recourse do you have as a consumer;
it produces a poor quality or dangerous print;
it explodes, what legal recourse do you have;
and so on, etc.

These questions lead into rather murky grey and legally complex areas, and really would need to be dealt with by a legal professional (solicitor/lawyer).

Other Stack Exchange posts worth reading

These deal more with quality not legality but see

Can cheap hotend parts sourced from China actually produce good prints?, and;
Vaguely related - What are the pros and cons of collecting parts yourself, versus getting a DIY kit and then modifying it?
Also, which respect to the electronics:

Some Arduino components seem ridiculously cheap and;
Compatibility between Arduino and Arduino clones.
This answer to Arduino Clone - A request for the USB device descriptor failed interestingly points out that if the device is licensed appropriately (CC, open-source, etc.) then they may not be any legal issues at all related to cloning (but not counterfeiting - See What's the difference between a clone and a counterfeit Arduino?.

1 A bone fide low end oscilloscope manufacturer got stung by a batch of fake regulator ICs just last year, see Re: JYE Tech DSO150 oscilloscope troubles


Considerations for placing STL on build plate Being new to 3D printing, I have started printing different files from Thingiverse to better my experience. I have noticed on some YouTube videos that certain items/models/STLs should be oriented a certain way on the build plate.
What things should I take into consideration when placing items on the build plate?
Printer: Ender 3v2 (stock)
Slicer: Cura

Orienting items
Orienting items on the build plate should consider:

overhangs - many hangning fragments will need additional support to be printed (cost of time and material, risk of failure); gravity and colling process will affect loose/hanging plastic in this or that way
layered structure - parts will be stronger in X-Y directions, and weaker in Z direction
adhesion - it is good to have wide foot to touch and stick to the bed, then only thin base growing big upwards, which may easily fail by any accident
space - if the thing is big, it may have to be rotated diagonally to fit the printing surface

So most of it comes from particular shape. Try to look at thing from different sides, spatial awareness helps a lot.
Placing items
Also, placing items on the build plate should consider:

heating system - heated bed surface may be warmer at center; even if the bed is heated evenly, than surface will cool down faster at sides, which may affect adhesion (e.g. ABS will wrap more often)
cooling system - sometimes printer has better cooling from one side (depending on location of fans or construction of cooling ducts), so any overhangs (fragments which have to cool down very quickly) should be properly exposed, otherwise they will wrap
environment (external influences) - they may affect heating / cooling as well; also mutual position of few objects may affect cooling or act as wall for wind
printer construction - e.g. backside of Prusa Air 2 frame is shrinking going up, and anything mounted behing extruder will hit the frame - so high prints should be X-centered/narrow, and rather wide along Y axis
multiple extrusion - if you use dual extruder, then mixed fragments may not be located on edges, because one of nozzles just cannot reach it
surface quality - e.g. I print ABS on Kapton tape; sometimes the tape gets small holes or tearing from hotend accidents or forceful part detachment - then I just avoid damaged areas
other issues - e.g. my Y axis is louder than X, therefore I rather try to use X axis more often (especially when printing late evenings)
view point - easthetics of printing: which objects, which sides you want to observe during printing?
acessability - if you may want to influence area during print, put something inside the part during printing?

So most of it comes from the experiences with particular printer - its technical parameters and observations. Many times it is only a choice - like simple PLA prints sticking well.


Polyurethane-and-steel timing belts? Has anyone tried the steel-reinforced polyurethane timing belts? If so, how do they compare to the rubber ones?

It's a question of what you want to use the belt for.
All Belts are subject to stress as they run around the motor and idlers and gears and bend. They will get eaten as they are subject to friction against parts, they will stretch as they are subject to tension. All this applies some sort of stress or another on the belt. Anything that is subject to stress wears. And as it wears, it will fail. The question is just: What is your life expectancy? The lifetime expectancy is again dependant on how the belt is used, so usage dictates lifetime of the belt.
Each belt type has an application it is designed for. A bending radius that is to be kept at, a gear it is to be used with, a load it is expected to move, a tension it is expected to uphold, and a lifetime it is expected to serve.
Let's take a short look at some rough ideas what
a soft rubber belt without additions
This is usually a bad choice for printers, but can occasionally be in very cheap kits. This kind of belt has applications. It is for really low loads, it can work tight bends for a long time and provides superb self-tensioning with just a very short tensioning device. On the other side, most rubbers don't take heat well, stretches a lot, wear fast and can only move a light load. If it rubs against a standing object, it squeaks horribly.
a medium hard, somewhat elastic belt reinforced with fibers
The standard belt we often get with printer kits. the fibers lessen the material's stretching ability while offering still some self-tensioning (depending on the fibers). These properties allow to move medium loads yet harder material demands slightly larger bend diameters (not too much, but measurable!). When the piece gets friction against a standing surface the sound will be not that horrible, but the harder rubber might start to shave off, break teeth and destroy the belt after some time. The typical reinforcing is done with cloth, usually cotton, so there are some limits to how much they can take.
reinforcing with aramid fibers
Some fibers are better than others for our applications because of how they stretch and reinforce it. Aramid fibers, for example, are better than cloth. Some consider them as impossible to wear out with the tension in 3D Printing applications alone, but that is not entirely the case. They still stretch under larger loads or on longer lengths enough that it can be a problem (or become one). They also can still be shredded with friction (and heat). For a professional machine, the expected lifetime is quite nice. They are though, but only as good as the rubber used and if properly installed. There are also generally two types: long fibers and short fibers. Long fibers have a somewhat even stretching behavior, while short fibers have totally different stretching behavior. The latter type is looked at in scholarly articles like Yin, Zhou, Lou et al.
a hard belt reinforced with fibers
Let's take... Uhm... a toothed belt from a car. I believe some of these are aramid-reinforced, old ones are on cloth cores, most modern ones I know are steel reinforced. It is somewhat hard. By design, it is made to withstand a strong tension at high speeds. It needs somewhat big bending radii for the hard rubber, but that is easily given by the gears and the large teeth don't break easily. Over the lifetime it will slowly stretch due to the temperature it will encounter, till at some point it gets too loose or looses too many teeth as the parameters don't match up with the teeth anymore and they get ground away. It is made to deliver high torque and could move - if something similar was used on a printer-like machine (like a large CNC), a heavy load for a long time, but the machine needs to be made accordingly.
steel reinforced belt
Steel is going stiffer. Steel reinforcements usually get the stretching parameter to a bare minimum at the cost of increasing their minimum bend and added weight. They can be used to move very heavy loads without the belt starting to slack as it simply can't stretch to give slack on the underside of the belt loop when forces are applied. Steel belts are pretty much Heavy Duty. If you can work with the bending radii belonging to them (as said, usually a little bigger than a similar fiber-reinforced one), you could make use of these properties, for example in a CNC Router with a full spindle or when moving very heavy tool heads.
carbonfiber reinforced
And then there is the super heavy-duty carbon fiber. One can barely stretch it (steel is less stretchy), making these belts super tough in the stretching compartment and granting an extremely long life under most conditions. In comparison to steel, they can work much tighter radii. Usually, they are coupled with urethanes to get a high wear resistance against abrasion. The biggest downside: their price.
Belt Materials
Silicone
Silicone is soft but high temperature resistant but dislikes abrasive forces.
Uretane
Urethanes are not the best to handle the heat, but they can handle abrasive forces. They also don't create dust in the same way as other rubbers.
Neoprene
The most interesting feature of neoprene belts is their reduced noise under work.


What is a printer console/terminal? I read that G-code commands can be sent through a console/terminal over USB. What is a console/terminal and how do you use that?

There are several programs that could serve as a console to connect to a printer, put let's start somewhere: the USB connection.
Connection with USB
When connecting the printer via USB for the first time, we will get a notification that some unknown item is connected. If we use windows we can learn what device it decided we now have via the device manager (Windows Key then typing in manager and Enter). It should be a COM Port as this picture shows.

In this case, we have connected to COM4. To change the COM port, we can do so via a Rightclick->properties, then the connection settings and advanced. In the new window, we can change the COM port number to anything from 1 to 256, but it is recommended to keep the number somewhat low.
Make sure you run the printer's power supply and the connection via USB, as you can't use motor control commands if you have the power supply for the printer off.
Using the COM-port
Now, we need a program that can use the COM port to connect to the printer. There are, as said, several out there. One such is Repetier Host, which comes with slicer and a good graphical interface. Another is Ultimaker Cura, which has the same capacities but lacks logging of all the commands exchanged. Because many are familiar with it as a slicer, I will look at it first. As a third option, I will take a look at Pronterface.
CAVEAT: Only one program that actively uses the COM port may be running at the same time, as the first program accessing it will claim all uses for the COM port till it is shut down.
Ultimaker Cura
After launching Ultimaker Cura, choose your printer. many printers are available as presets by now, so just import the printer you use or make a custom profile. At the moment the latest version of Cura is 4.1.0, and will look like this:

After switching to Monitor, it will automatically connect to the Printer via the COM port, in my case 4.

Once more we test the connection via Home  and then use the Send G-Code prompt, confirming lines via Enter.

Repetier Host
After running Repetier Host the first time, you need to configure your printer. Ctrl+P opens the config window for the printer. We need to know the Baud Rate of our printer, so I looked up the documentation of my Ender3, which told me 115200 is the right setting. Most printers seem to run on this setting. The other tabs decide the speeds, extruder number and limits and the bed shape. The rest isn't needed for this. My settings for the Ender3 are these:

Ok, we made our settings and saved via OK.
Now, we press the Connect button on the left side of the menu:

It should change to the blue Disconnect button and display other parts of the print now, showing that we have connected. Note that at the bottom of the screen a log is filled with all the commands and exchanges.

On the right side, we now can choose the Tab Manual Control

Before sending any commands, it is a good idea to press the Home  button. This also serves as an extra test to see if the printer is connected correctly. Now we can use the Prompt G-Code to send our commands. The commands will be put into the log below.

Pronterface
This is the first time that I used Pronterface. The first thing to do after downloading the Printrun package and running the Pronterface application, is to press Port, then set the right Baudrate (115200 seems to work for many machines) and press connect.

The GUI will saturate and the right log will show lots of things tested in connection. Note that in the lower right of the GUI, there is a temperature curve log, which can be very handy for troubleshooting, as it shows the change over a little time.

Below the log, we find the input for commands, and if we send a command, we get a log entry of it:


Z axis stopped part way through print I got an Anet A8 for Christmas.

I am trying to print a calibration tower and the z axis stops lifting at approximately 100mm.

I checked that the gantry is able to travel along the full length of the threaded rods, and while resetting the bed height I noticed that the LCD display showed the extruder height above the bed.  It reads 0 at home (good) but goes back to zero when I manually turn the rods so that the gantry goes above the heigh at which the print stopped.

Any thoughts on what to check? I am double checking all the mechanical bits (connection to stepper coupling, ease of turning, etc...).

My slicer is Cura 3.1.

I found two issues:

While cutting the cables to size, I made the cable for the z-axis too short.
In Cura the y height reset to 100mm rather than the 240mm I had earlier specified.  I assume the G-code I used was sliced with the wrong settings.


Inconsistent vertical walls on a Robo 3D R1+ I'm trying to troubleshoot an issue with my 3D printer (Robo 3D R1+). It cannot print vertical walls well any more. Here is a picture of what it looks like:

The walls are very inconsistent. To correct this issue, I've tried:

Changing the nozzle
Tightening the hotend (to remove wobble)
Dehydrating the filament
Using brand new (good quality) filament
Printing faster & slower
Printing hotter & cooler
Trying different slicers (Ultimaker Cura & Simplify3D)
Putting on a belt tightener

The 5 motor drivers are all new as well, but this was already happening before I changed them.

Mmm... you've tried lots of obvious things. I don't have a printer the same as yours, so my help is generic.

How about a thorough check of extruder and filament path, since it may be just inconsistent filament feed? I've seen something similar happen when the filament reel was not rolling freely. Less likely, but also check that the frame is still solid and nothing has come loose.


Are there FDM epoxy/resin printers? After seeing a question about FDM printing of temperature-resistant parts, high-temperature 2-part epoxy came to mind. Are there any (experimental or production) FDM extruders for laying viscous, fast-curing epoxy, mixing it at the last moment before extrusion? Or likewise other cured/resin materials, either 2-part or UV-cured (with whole print volume flooded with UV)?

Is this what you're looking for?
(https://the3dprinterbee.com/how-does-a-resin-3d-printer-work-sla-dlp-lcd-explained/)
Material Beam
Material blasting is a unique 3D resin printing technology that can be compared to an office inkjet printer. It is also considered one of the fastest and most accurate 3D printing technologies available for resin printing today.
Material Beam 3D printers are similar to inkjet 3D printers in that they also have a print head from which thousands of tiny resin droplets are applied to the building platform and then cured with UV light. Once a layer has been completed, the building platform automatically lowers to the height of a layer and the process is repeated until the object is completed.
The technology of material blasting enables high dimensional accuracy, but speed is also a convincing point. The process in which the resin droplets are ejected from several print heads, which in turn move back and forth over the building platform, is known as line-by-line cutting. This ensures that multiple parts can be produced without affecting the build speed. As a user, you also have the choice between matte and shiny surfaces on your 3D printed object. However, the individual components for material beam technology are very cost-intensive. Other disadvantages are the waste of material when you choose to print matt surfaces and the low strength of the 3D printed parts.


Delamination in resin prints I have observed some occasional delamination in horizontal layers of my resin prints — see two examples:

What is the cause, and how can this be minimized?

With the information provided my thought is that your layers are underexposed for their thickness. Each layer is just barely bonding to the layer above it. After being pulled on by layers below eventually one of the layers fails. This is especially likely to happen on a thin part of the print any may need more support if it is followed by wider layers. But I would suggest trying to increase your exposure time first.
option two: it could be your FEP if that has seen too much use it may be time to replace it.
calibrating a resin 3D printer


Any defacto standards for controlling new tooling options on generic 3D printers (firmware control and signaling)? Are there any defacto standards for interfacing between common 3D printers and custom extruders or other tooling? I was thinking how it would be good to have switchable nozzle widths mounted on the same heat block and switched between using a solenoid so you could have say a 0.25 mm for surface layer and details, then swap to 0.6 mm for the infill.

What would be the path of least resistance so it could be accessed in generic firmware?

The design I was thinking would be similar to a generic aluminium heat block with two nozzles screwed in side by side with there inputs meeting in an inverted Y junction with its center drilled out and replaced by a rod with appropriate channeling to divert the already molten plastic between nozzles. Turning the rod would be done from a solenoid mounted somewhere behind the heat-break.with a clamping mechanism.

Generally: nozzles are not changed, the whole tool head is
While "tool change" is easy to implement in a G-code and could be easily adapted in the firmware, there are several practical issues to hot-swapping nozzles without swapping the whole hotend assembly:

The hotend is a fluid-dynamic system that needs to be sealed to operate under pressure and temperature.
The seal of the nozzle-heatbreak system is in most systems a metal-on-metal pressure seal
Rubber seals are not an option in a system that runs over 180°C
Moving metal seals are very hard to make and run smoothly.

Your idea: especially No
There is literally no way to design a turning Y-switch that fits the following bills:

sealed
filament path ~2 mm
screw-in diameter for heatbreak and nozzles M6
creates enough free space between the lower outlets to mount 2 M6 nozzles with enough space to hold a wrench (=15mm diameter of centers)
fit into the form factor of a conventional heater block

Your idea would need to be considerably larger, need a stronger heater element and creates an impossibly to clean area around the turning junction peg. Atop that, you would trade 1 area of possible leak (between heatbreak and nozzle) for 3 areas of possible leaks (nozzle-block and heatbreak block) and one area of guaranteed leak (the turning peg).
How is it done then?!
Currently, there are the following ways to swap between different of nozzles mid-print that have been proven to work somewhat reliably:

fixed independent print heads with independent carriages.
fixed independent nozzles and heaters on one carriage.
swapping print heads on one carriage.

The first design is used for example in the Leapfrog Bolt, combined heads are for example the e3D Chimera, Cyclops and Kraken. e3D also designed on a reliable printhead - or rather tool  - swapping system starting about 2018 and did release it to the public in late 2019.
Type 1 needs you to level the printheads well and to the same height in the easy case, but with the right setup of firmware, a Z-offset of the two tools can be included and compensated for - possibly even automatically. Type 3 does usually demands you to include very accurate offsets of the used tools or includes a way to measure the offset during operation, though I lack insight into how e3D solves it. Both setups can mitigate oozing of the unused nozzles out of the printing volume.
Type 2 not only demands hyper exact leveling, but it also is very prone to create some sort of oozing of the unused nozzle.


Can I repair my microwave with a PLA part? The turntable support part in my microwave has broken. It is a three armed part, with small wheels at the end of each arm.

I'm confident I could print a replacement, and reuse the existing wheels (since they can be removed).

The heat of the food would be unlikely to conduct through to the PLA, but I'm concerned that it might get heated up by the microwave radiation. I can't find any clear information online about whether PLA absorbs microwaves, or if it is in any other way unsuitable for this.

Will this be a disaster, or should I give it a go?

I would say PLA itself should not be heated up by microwave. It's because microwave oven creates oscilations which excites water particles (see microwave explanation here) so assuming PLA doesn't contain water, it won't heat up. (removed to not mislead as the water is not only material which heats up by microwaves. Thanx to Tom van der Zanden for being vigilant)

But as usual, it's more complicated.

First. PLA can contain water as while producing it can be cooled down in water bath. Of course well made PLA will have as less water as possible as water has an influence on printing process.

Second. PLA is absorbing humidity so in fact it gets water inside right from the air. This unfortunately causes problems in microwave oven.

Water can be overheated and oven can overheat water above 100C. But even at 100C, PLA will not be hard anymore so your 3 arm star would "collapse". Wheels could get oval or start sticking to their axis.

Eventually if high power is delivered to very "wet" PLA, I think it can... well maybe not explode but break.

Here goes a test which shows it can be used to defrost things on PLA plate in microwave

But here Daan Snijders claims PLA gets soft in microwave during the test

Will it be a disaster?

In my opinion it will work only for short uses of MW. Heating up a glass of milk or so. But for longer sessions when there will be much more heat (out of heating dish) it won't work.

SHORT TEST

20sec and 950W gives no effect on my sample (hotend cooling fan duct)
40sec and 950W caused the sample became a bit warm

Inspite that it's not a good idea to run MW without "proper-absorber" this little test confirmes my suspisious - short sessions are ok.


Does wood filament damage the printer nozzle? I recently found out carbon fiber and glow in the dark PLA can damage the printer nozzle, now I'm suspicious of all the "exotic" filaments.

So, does wood filament cause damage to the nozzle? (under normal use, or at least what someone who only used PLA/ABS before would consider normal use)

Let's assume a normal quality brass nozzle - not some cheap stuff that didn't even came in the correct size to begin with and not some premium reinforeced nozzle - and reasonable quality filament.

If you haven't been to their site before, you should check out the forums on 3DHubs. There's a lot of how-to's. A quick Google search yields this link to a similar question.

The key thing to note is that in all technicalities, any material you run through the nozzle is going to cause some sort of wear on your nozzle. How quickly depends on the material or composition.

The answer to the question linked above relates it spot on to sandpaper. If you have sandpaper made out of metal (ie stainless pla), it will scratch your skin fairly easily. If you have sandpaper made out of tree bark (ie laywood pla), it probably won't scratch your skin as bad, but it'll still scratch. And just for poops and giggles, lets say you have sandpaper made out of pla; it'll take a while, but you could eventually make your skin raw if you rub the plastic against your arm long enough.

It is typically recommended to use one nozzle for each material type as to avoid cross-contamination of materials in your printing. With this idea in mind, if you are using many types of materials, you can also minimize failed prints due to clogging and other "damaged nozzle" type troubles.


Compensating for smaller extruder gear Assume somebody has a Monoprice Maker Select and has changed from the original brass extruder gear to a D4 Plus one, which is slightly smaller (10.6 vs 10.9 mm outer diameter).

This person might be wondering if he/she needs to compensate for this difference, and which setting that would be in Cura IIIP.

(Have never calibrated the extruder and am still not sure it is absolutely necessary, since the difference in the gear size is only 3%.)

If you change the extruder wheel for a different sized wheel, you need to calibrate the extruder to make sure that if you ask to extrude 100 mm it actually extrudes 100 mm. This answer on the question "How do I calibrate the extruder of my printer?" describes how to do that.

It is not required to flash your firmware. The G-code command M92 can be used to set the new amount of steps for the extruder. The Monoprice Maker Select has a Melzi control board that is running Repetier firmware. This G-code command is supported by Repetier firmware.

You need to be able to connect a so-called terminal to your printer. Applications as Repetier-Host, Pronterface, OctoPrint, and probably many more have so-called terminals where you can interface with the printer by sending command to it when the printer is connected through USB (please mind the communication speed of the board, called Baud rate, these are not the same for all boards).

Sending M503 will report the current settings for M92, e.g.:

M92 X100.00 Y100.00 Z400.00 E100.00

Extrude 100 mm without the hotend attached so you can measure the amount that is extruded. If that is 80 mm you need more steps $ \frac{100\ mm}{80\ mm} \times 100\ steps/mm = 125\ steps/mm $

You now need to send M92 E125 and the new steps are set. Use M500 to store the setting.

You could also change the flow extrusion parameter in your slicer, but it generally not good practice, it is better to fix the printer rather than adjusting in the slicer. However, if you do want to fix it in the slicer, as mentioned in the comments, you can also add steps setting in the start G-code script: "To get around flashing the new values to the ROM, you can add this to the machine settings in Cura under "Start Gcode" this way it will append your values at the start of every print.". Note that other slicers have similar functionality.


Print Lines Aren't Joining Together I have encountered a problem where the print lines are not joining together, when I remove it from the plate it turns into a stringy mess.

I am not sure what the problem is because I print out models that have successfully come out with properly joined lines previously, but now are failing. I am using the same nozzle and material that I have been using in past prints.

I am using the Ender 3 with Bltouch running Marlin 1.1.9. The settings I use are as follows:

Material - PLA
Nozzle - 210
Bed - 60
Speed - 60
First Layer Speed - 30
Line Width - 0.4

EDIT

I have included some higher quality photos as requested, between the original post and this edit I added an aluminium Bowden extruder and a new nozzle but the problem still persists. I have also re-tensioned the x-axis belt and re-flashed Marlin to the printer in case that had somehow corrupted. I have also tried increasing the flow rate in Cura but I had to increase to 130% for there to be any noticeable effect (i was able to print a slightly better model but it still has zero integrity). I also tried adjusting the z-axis height tuning but within a few steps up or down it would go from too close to the bed with not enough material coming out, to a decent height but with the original problem.
I also cleaned out the hot end.

It is hard to tell from the quality of the picture you added, but this appears to be an example of either an incorrect height setting for your nozzle to touch trigger point (too large) or an under-extrusion problem that could be related to incorrect filament diameter setting, nozzle blockage, too high speed, slipping extruder gear, too less spring force on the extruder roller, etc.

As far as can be seen from the second picture, the filament is not properly squished to the build plate, so I expect that you gain from setting a smaller nozzle to sensor trigger point distance. This can be done with the M851 command.

Updated after posting high quality pictures:
From the pictures you can see that there is an extrusion problem. Your first layer brim starts with too less material, but seems to make adjoining lines in the brim because it is squished a little too much (nozzle is too close to the build plate). It is advised to calibrate the extruder. The lower walls look fine, these are printed at low speed, the infill however looks very weak, this is probably because of a high printing speed and high temperature. In order to solve the problem you need to lower the speeds, lower the hot end temperature to 200 °C, increase part cooling flow and check and calibrate the whole extruder system/path.


Vacuum storage bags? Does anyone use "space saver" style vacuum storage bags to keep fillament dry? I picked up some Ziploc space bags, but they are larger than ideal. Would probably fit 2.5 spools. I would love a smaller version just big enough for one spool.

I've read people are using them, makes sense, the less air you contain, the less moisture would be in the bag. Myself, I'm using IKEA ziplock bags (and moisture absorbing sachets), they come in many sizes.


Artefacts when printing parallel to X axis If you can help me with troubleshooting the artefact shown in the attached photo that would be great. It only happens when I print the Benchy parallel to the X axis and when I print parallel to Y axis it prints just fine.

Notes:

3D printer: TronXY X1
Filament: PLA
Extruder temp: 195°C, 200°C, 205°C - doesn't matter same results.
Slicer: Ideamaker

I have a TronXY X1 myself. This kind of artifacts appear along the X-Axis as it is a cantilever design - and if not properly secured, will start to osctilate when moving sharply. This can be fixed in several ways:

print slower. By making the movement changes less abrupt, the oscilation can be reduced.
stiffen the X on the Z. Often, the X1 has a somewhat wobbly X-Axis. To fix this, someone calling themselves FabianFriethjoph did design a 'bracket' that is intended to keep the wheels aligned and under a little tension. https://www.thingiverse.com/thing:2275654


Is there a difference between 3D printing and additive manufacturing? Is there a difference between 3D printing and additive manufacturing if any then explain?

Yes and No at the same time:
3D Printing is a subset of Additive Manufacturing
but treated as a synonym at this time
3D printing is a process that takes some material, in a fluid state that fuses with the model to shape an object from it. The material could be plastics, ceramic paste or even metal. The fluid state could be the normal state, or just be present for the fusing process (think powder and resin based systems), or be a transitional phase (as in filament based systems).
Additive manufacturing is just a slight bit bigger: at the moment most, if not all, AM processes are some sort of 3D printing. But AM could include other processes that don't fit 3D printing. For example, an automatic bricklaying machine could, under some view, be Additive Manufacturing, but it is not 3D printing in the traditional sense.
So: All 3D Printing is Additive Manufacturing, but not all Additive Manufacturing is necessarily 3D Printing.


Does a 5 axis 3D printer have any benefits over a regular 3 axis printer? 5AxisMaker has a 5 axis CNC/3D printer combo machine.  I understand what the benefits of 5 axis are for CNC machines, but are there any benefits for 3D printing.  In this video they show the printer printing on an angle, but this could have been done with just linear layers.

Would there be any cases where a 5 axis printer would preform better than a 3 axis printer?

One aspect of having this level of control with 3d printing of a model is the removal of the need for supports and the attendant post-processing. In the case of the model shown in the video, some effects are created by printing the continents in a conformal manner that would otherwise be impossible with conventional 3d printing. Cosmetically, the results of the "5d" printer are superior in this example.

There would also be some structural benefit for models with high organic content, that is curves and bulges, as opposed to orthogonal designs. Even with orthogonal designs, one can achieve stronger parts with cross-layered plastic in all directions, rather than being limited by x and y filament layers.

I see on the web site that one can exchange tool heads as well. One could print a 3d model, layering the filament on all the surfaces, then use a tool head change to a milling bit and smooth the surface under CAD control.  Alternatively, one could use foam or wood and mill a model shape to be covered with a 3d printed material.

Considering the relative novelty of this product, it's likely that many aspects of the creative utility have yet to be discovered!


Black surface in Meshmixer I was working on a model today and I need to make the black surface into a normal surface so that the ship's cockpit is solid. I am unable to select the black surface. I tried using the flip normals feature, but I was still unable to select it. Any advice on how to make it into a solid is greatly appreciated. Thanks. :)

Edit: Here's the link to the file
https://drive.google.com/file/d/1mbTdeeZqhNJx-WlXNqF8mD8QYDSI3Vh_/view?usp=sharing

With the model file available, I was able to use Edit, Generate Face Groups. This allows one to continue with Select, {set small cursor}, select reversed panels, Edit, Flip Normals.

The above steps resolve the cockpit windows, but meshmixer's Analysis, Inspector shows a sea-urchin-presentation of other flaws, including what appears to be zero thickness walls in some locations.


Relation between layer height and bond strength I've seen many references to a FDM print being weakest in the Z axis, due to poor bonding between layers compared to the extruded walls.

Thinking about optimising this for a specific material (excluding temperature and geometry), is there an optimum layer height? It seems obvious that too thick a layer will give less compression and maybe less heat transfer into the layer below (so 0.3 with a 0.4mm nozzle might be expected to be a bit weak). Is there a single break point (i.e. less than half the nozzle is good), or are super fine layers either good or bad?

I'm specifically using PLA at the moment, in case different materials have different behaviour in this respect.

I am not asking how to model the strength of layer bonds or how to take that into account when designing a part.

My3dmatter.com performed a series of tests with PLA, using "a universal testing machine". They conclude:

  Layer height influences the strength of a printed part when it becomes
  thin. A printed part at 0.1mm shows a max stress of only 29MPa, as
  opposed to 35MPa for 0.2mm (21% increase).

  Past 0.2mm, the max stress remains fairly constant around 36 MPa (we
  confirmed this conclusion with an extra test at 0.4mm, not shown here
  because it was not part of the same batch).

Note: It is recommended to read the full article to comprehend the complexity of the subject matter.


Ender 3 V2 Z-axis base value changes for each print I'm new to 3D printing, I just bought an Ender 3 V2 and I am having a lot of trouble with bed adhesion. After a lot of playing around it seems that the base value for Z is changing for every print.
I have been using this Z-offset test model, dialing in my Z-offset during the print until I hit an acceptable value (eg. -0.15)
If I then print the same model again, using the value I found above, it is way off again, and I have to dial it further down to maybe -0.40 and, if I repeat again, to 80.
I have, of course, tried leveling my bed multiple times
I've just been scribbling down numbers and seeing them fail for two days now, so any help is much appreciated.

After tightening the screws on the X-axis gantry and doing the bed leveling and test prints again it seems to have gotten better.
Also, while I was under the impression that the V2's heated glass bed should work well without adhesive, I applied a bit of glue stick and now my first print seems to have a perfect first layer.
I may just have been confused because I needed to turn the Z-offset way down to get it to stick in the first place, and then tweaked it upwards to get nice lines, meaning I would have to dial it back down on next test print and so forth.


Given a viscosity is it possible to calculate required pressure for desired output? The following rheology question relates to predicting the flow of polymer-based non-newtonian fluids extrusion processes. In this case, applied to 3D printing.

I'm trying to calculate the pressure required to produce the desired output based on my current system (pictured). I'm working under the assumption that it can be described in the same way as an MFI test.

Specifically, is it possible to calculate the Melt Flow Index (MFI) of a polymer under different test conditions (dimensions)?

The MFI test is defined by the following:

piston radius (change to match my system)
nozzle radius (change to match my system)
nozzle length (change to match my system)
test load (change to match desired output)

Using either the pre-existing MFI rating or the viscosity (or shear rate and shear stress) is it possible for me to define the test load in order to achieve output (gr/min)?

This paper seems to prove this is possible but I've not yet been able to condense it into a single/understandable equation.

Melt Rheology of Polymer Blends from Melt Flow Index (bottom of page 222, 223, 224)

I know that pressure = force / piston cross-sectional area

The answer hews close to the famous cliche "In theory, theory and practice are the same. In practice, they are not."   That is to say,  yes, there is a nonlinear but repeatable relationship between viscosity and pressure and feed rate.  However, it's strongly dependent on temperature, and further the apparent viscosity is a function of the pressure (think oobleck).

In the end, it depends mostly on whether a couple percent variation matters to the final product.  (and if it did, nearly all hobbyist extrusion printers would fail)


What are the pros and cons of Painters tape? Painters tape is a common quick fix to adhesion problems, and we know it doesn't need to be blue, but it is often recommended not to do. Why? When is painters tape best used or skipped upon?

Read First

Painters Tape does lift the print surface upwards by its thickness. This has to be accounted for in leveling the bed. Different Brands do have different thicknesses and thus need different leveling!
Easy-peel tapes need to be avoided as they don't stick to the surface!

Pro

Painters tape is cheap and easily available.
Laying down a painters tape without overlap is easy.
It is one of the best print surfaces for unheated printers.

Cons

Painter Tape needs to be refreshed regularly.
Weak glue on a painters tape might come off the bed.
Rough-textured tape might stick to the print too good to be easily removed.
Some tapes do leave coloration on the prints.
Cheap painter tapes can be hit-and-miss.
Heating painters tape degrades the glue on it, leading to adhesion failure and staining the actual print surface with residue. It is not advised to use it with heated beds.


Marlin: Why is the extruder stepper jerking? Environment:

Printer: Anycubic Chiron,
Firmware: Marlin 2.0.7.2,
Settings: FWRETRACT is not enabled,
Slicer: Cura 4.8.0.

When I print using the code below (it is longer, but I do not know where to put attachments), I can see that the extruder-gear is jerking, as if it tries to do tiny retractions between every little movement. Real retractions happens where they should and seems fine.
If I slow down the printing from F2400 to F600, it is almost gone.
I don't say it is a problem, the printer works. I wonder if there are settings that can cause this, if it is as expected or if I can do anything to make my printer work more quietly.
Short film
; example G-code for noisy extruder stepper
; PLEASE DO NOT RUN ON YOUR PRINTER unless you know what it does.
M302 P1 ; disable cold extrusion checking
G0 Z5
G0 F2400 X214.8 Y177.1
G1 F600 Z5
G1 F2400 E0.20522
G1 X214.866 Y177.134 E0.20647
G1 X214.934 Y177.161 E0.20890
G1 X214.923 Y177.189 E0.20990
G1 X214.912 Y177.217 E0.21090
G1 X214.907 Y177.229 E0.21133
G1 X214.813 Y177.456 E0.21927
G1 X214.793 Y177.480 E0.22031
G1 X214.540 Y177.791 E0.23364
G1 X213.982 Y178.218 E0.25701
G1 X214.155 Y178.986 E0.28319
G1 X214.757 Y179.315 E0.30601
G1 X214.962 Y179.542 E0.31618
G1 X214.990 Y179.574 E0.31760
G1 X215.109 Y179.775 E0.32537
G1 X215.124 Y179.801 E0.32637
G1 X215.140 Y179.827 E0.32738
G1 X215.105 Y179.848 E0.32874

The setting that makes these small retractions is LIN_ADVANCE.
It is found in Configuration_adv.h and is disabled in the vanilla configuration.
I, on the other hand, is using one of the 46 example configurations that has this feature enabled. It shall be said that most of them them has the value 0 set to this, which means that it has no effect.
To disable the effect of this feature, send G-code M900 K0 to the printer.
More info at marlinfw.org
More info at 3dmakerengineering.com
M900 - If it works, the feature is enabled
Test pattern generator to tune LIN_ADVANCE


Flow Settings in Cura 2.4 for Ultimaker 2+ not available (suspected overextrusion filling small holes) Cura 2.4 reports that the (printer-dependant) G-Code mode prevents the "Flow" (extrusion rate adjustment percentage) setting from being available. Why? I am using an Ultimaker 2+. Is a firmware update required?

I know the "Flow" can by dynamically adjusted on the 3D printer (either in materials or while printing).

I am asking because I have small holes (1 mm) that seem to slice fine but get filled so the extrusion probably is not that optimally tuned. I suspected reducing the material rate would improve this but changing it on the printer (97%) did not yield noticable results and below that it looked worse.

For the Ultimaker 2 flow is typically handled on the printer.

You could make a feature request at github to let Flow be enabled for Ultimaker 2 printers.

As for your problem: that sounds more like a dimensional accuracy problem to me. I suggest setting Horizontal Expansion to -0.15mm.


Simultaneous heating of extruder and bed at start of print I notice that if I print from Cura without preheating the printer, it will first raise the bed temperature and then raise the extruder temperature. The G-code it generates is:

M140 S55     ; set bed temperature to 55 C
M105         ; report temperatures
M190 S55     ; wait for bed temperature to reach 55 C
M104 S210    ; set hot end temperature to 210 C
M105         ; report temperatures
M109 S210    ; wait for hot end temperature to reach 210 C

The "Preheat" feature of Cura presumably send the "set temperature" commands without the corresponding "wait" command.

Wouldn't it be more efficient to do something like this:

M104 S210    ; set hot end temperature to 210 C
M140 S55     ; set bed temperature to 55 C
M105         ; report temperatures
M109 S210    ; wait for hot end temperature to reach 210 C
M105         ; report temperatures
M190 S55     ; wait for bed temperature to reach 55 C

Then the bed and extruder heat up simultaneously, and we wait for the higher temperature one first assuming that the other will reach its target temperature in the meanwhile.

If this is sound, is there a way to set this in Cura, or would I need to submit a patch?

This can be achieved with start G-code adaptations, this requires no software changes. Cura, and most slicers, have the ability to use placeholders (basically variables or maybe better: constants). These placeholders are substituted with the correct value upon slicing.
To sequentially heat the bed and hotend you would need to add the following into your start G-code:

M117 Heating bed 1st...
M190 S{material_bed_temperature_layer_0}
M117 Heating core 1st...
M109 S{material_print_temperature_layer_0}

For simultaneous heating you need to add:

M140 S{material_bed_temperature_layer_0}     ; set bed temperature to e.g. 55 °C and continue
M104 S{material_print_temperature_layer_0}   ; set hot end temperature to e.g. 210 °C and continue
M190 S{material_bed_temperature_layer_0}     ; wait for bed temperature to reach e.g. 55 °C
M109 S{material_print_temperature_layer_0}   ; wait for hot end temperature to reach e.g. 210 °C

Note that Cura is very limited in using placeholders. E.g. Slic3r allows for arithmetic using the placeholders. The following example shows heating the bed first to the bed first layer temperature minus 10 degrees Celsius; then the hotend starts heating and heatbed starts further heating up to the final temperature. For my machine this results in the bed and hotend being at final temperature at the same time; so no time is wasted and printing can start.

M117 Heating bed...
M190 S{[first_layer_bed_temperature]-10}
M140 S[first_layer_bed_temperature]
M117 Heating core...
M109 S[first_layer_temperature_0]
M190 S[first_layer_bed_temperature]


What parts are strictly necessary for a 3D printer? I've built the mechanics of my 3D printer myself, because I need to print parts that are really huge, (and for budget reasons). So, I already have the 3D movement functionality.

But what I need now, is the printing mechanism itself. I've been reading a lot, but it became clear to me that things are more complicated than I thought.

Let's skip mechanics and software, I'm just interested in how the print head works. Can somebody explain me that?

To be honest, I was so naive that I thought that I just had to buy one part with one data wire (print/noprint) and the 5 V/GND wires. But it came to my intension that things are way more complicated.

For example, these RepRap printers have some kind of air tube attached to the print head. I'm not sure what that's all about, is it cooling?

Perhaps I'm always reading the wrong manuals (i.e. the more advanced ones). Can somebody enlighten me or point me to a good starting point?

You will certainly find that the print functionality of a 3d printer is a bit more complex than you suggest. The mechanical portions include a means to push the filament into a heated nozzle as well as the software portion to regulate the speed of the filament movement. You haven't referenced the heater cartridge and temperature sensor, but you will discover that aspect soon enough.

The "air tube" you think you've seen is likely called a bowden tube. Such designs permit lighter weight print heads, which is beneficial for speed, acceleration and precision, but has complications with respect to compression of the filament as well as retraction considerations. Non-bowden print heads will have the extruder motor as part of the moving assembly, with the drive wheels very close to the nozzle opening. This allows for flexible filament and more precise control of the filament feed.

Either design has compromises, so one must determine priorities for the design.

Cooling is also a factor. The heater cartridge is designed to heat the nozzle to a specific temperature for the type of filament used, but also requires a means to keep the heat from traveling to the portion of filament not in the nozzle. You'll discover terms such as heat break, referring to narrow threaded portion connecting the nozzle assembly to the heat sink. There will also be a cooling fan to blow air over the heat sink and very often a cooling fan to cool the filament as it exits the nozzle and attaches to the model being printed.

You suggest to ignore the mechanics and software, but it's important to be aware of both when considering the principles of the print head assembly.

Simplified, filament enters bowden tube then into heat sink, pushed by extruder motor (or) filament is pushed into heat sink by extruder motor. Filament travels through heat break, gets melted in heater block and exits nozzle. Sheesh, that's way too simple.


Distortion calibration on XY plane in Repetier I built a delta 3d printer (like a mini Kossel) and now I'm trying to calibrate it. I made all the horizontal and vertical bars myself with wood and I bought angle joints (between bars) made with 3D printed ABS.

It passes all tests in Z correction tools calibration. I used a z-probe (with manual deploying) to calibrate it with G32 and G33 commands.

Now I'm trying to calibrate the distortion that takes place on the x and y axes.
Basically what happens is that in a test cube of 10x10x10mm it is translated on x and y axes at some points in the corners.

Below an explanatory image:

The dimensions are good (less than half of a mm) but got this bad visible distortion (about 1 mm or less).

There is a tool or a command in Repetier-host/firmware that corrects this issues?

Skew distortion in deltas means there is something physically wrong with your printer build, such as the towers not being evenly spaced or being tilted. The first thing you should do is confirm the mechanical build -- measure the distance between towers, angles between towers, parallelism of all three towers, and perpendicularity of all three towers to the bed. If you post photos of your build, we might be able to provide more specific advice.

If you can't get the mechanical issue sorted, it's possible to calibrate out some specific build errors (like skew due to uneven tower angle), but that's nearly impossible to do "by hand." You really need to use a Z probe and auto-calibration sequence such as in Rich Cattell's Marlin fork or dc42 RepRapFirmware.


Stringing between holes I am printing out models with holes, the printer makes circular patterns for each hole(which makes sense) but then it also has a string that attaches between each hole. This is unsightly and results in a non-uniform surface finish at the top/bottom of prints.
I am wondering if the string is supposed to be there? I am using CURA on the coarse setting, my machine is direct drive with a 3mm retraction setting. I tried increasing retraction to 6mm but the same thing happened.
When looking at the g-code with a layer viewer it shows the strings but I am not sure if it is only representing tool path or not.
edit:
I just tried printing a retraction tower test and I haven't had any stringing, does this mean it's an issue with CURA?
edit v2:
I looked at the layer path on CURA and these strings are not shown. I am at a loss as to what is going on since the retraction test showed it worked fine but every print with holes has the same problem.

Consider that the string you are seeing is the nozzle wiping across the surface, especially if you are not getting stringing via your test part. As you suggest, it's not unlikely that the layer viewer is showing movement and not extrusion.
Check your z-hop settings as well as the other references in the linked page. Z-hop will drop the bed by the set amount when traveling with retraction.

The other useful reference is combing, which limits the travel of the nozzle to remain within the boundaries of the print and also removes the requirement of retraction. It may leave nozzle traces, although that reference is not in the linked page.

All images attributed to linked page.


When do I need to get a BLTouch upgrade? I've found many Youtube videos of makers upgrading to BLTouch sensor.

I have a Creality CR-10S Pro, so far bed leveling hasn't been an issue (after some days of trial and error).

My question is what are the problems/issues users need to face in order to need (or justify) an upgrade?

A touch or an inductive or capacitive sensor are useful when you cannot get a completely level bed which can be caused by a skew bed platform/heated plate or if the plate has a bend, large concave or convex area.

Even with such a sensor, you need to provide a bed that is as level (trammed) as you can get. Automatic Bed Levelling (ABL) is not magic, it is just a tool that can help out if you have a problematic bed surface. But, recent versions of Marlin have "manual bed levelling"; i.e. you can map the surface using your printer without a sensor and store that geometry in memory.


On my TEVO Tarantula, is there a way to test that its heater pins are working? I can no longer print anything because I get a E1 heating failed error on my TEVO Tarantula every time I try to heat the hotend. The bed heats just fine.

I've removed the heating element and thermistor from the hotend. The latter works fine, the temperature rises when I pinch it with my fingers. The element doesn't appear to have any broken connections.

I recently did some cable management and disconnected the element's wires from the board. After reattaching them, I was able to print a couple of things so the error has occurred since then. (They didn't turn out, btw, so maybe this was the beginning of a fault?)

The wires going to the board's E1 pins are secure. I've swapped them back and forth and reconnected them numerous times but no luck.

I know the most likely problem is a faulty element but before I buy a replacement is there a way to test the heating pins themselves? Some way to test the element separate from the printer?

Also, is there a way to have the element heat using the E0 pins? I've found tutorials on how to define the heater pins in Marlin but their code references don't appear in my configuration.h file.

I haven't tried it, but would assume you could put a multimeter (set to VDC) onto the two connections for the heater pins and check the voltage output during what would be the heating period. If there's voltage output, your heating element would be at fault.


Understand what CR-10S fans are cooling I am designing a fan mount for the CR-10S printer to hold the E3D All-metal v6 HotEnd and BLTouch sensor.

The CR-10S printer has two fans.

One on the front:

and another one on the right:

I need to know what the two fans are actually cooling in order to make a perfect mount.

When powered on, the front fan seems to be on 100 percent of the time. The right fan can only be on via gcode when printing.

I removed the fan mount to study it and it looks like the front fan is cooling the hotend heat sink.

The right fan is attached to the mount and there no hole there to let the air from the fan go through. It seems to be cooling the metal it is bolted to and that doesn't make sense.

Am I correct about the front fan? What's the right fan cooling?

The function of the front fan is keeping the cold end well... cold. :)  It should be spinning as long as the printer is turned on.

The right fan is known as "part fan" and its function is to cool down the plastic that has been just extruded, the idea being to solidify it as soon as possible.  As you noticed it is controlled by the gcode and it can be turned on, off and even made spin at any speed in-between still and full throttle.  It normally stops spinning at the end of the print (with some plastic like ABS it may be set not to spin at all even during the print).

If you take a closer look at your CR-10, you will see that the receptacle the air is blown into by the part fan has no bottom: that slit is where the air passes through, before being deflected 90° towards the nozzle.

On the CR-10 the standard deflector for the part fan does not do a good job (the air is not  blown where it should) and replacing it with a custom part is one of the most common upgrades performed on the printer.

Personally on my CR-10 I used a custom mount with an integrated "fang" that blew the air from both sides and worked really well.  It also had the advantage of reusing the hardware from the original assembly (= you don't need to buy anything, just print the part).


Should I comment out the code for what I am not testing when loading the test firmware for Ramps 1.4? You may want to use this code to test all the electronics before
  installing any of the suggested firmwares.

I'm planning on:

Flashing the test firmware onto the Arduino Mega 2560, then unplugging it from the USB.
Connecting RAMPS 1.4
Connecting all 3 jumpers under the X-Axis (leaving the other jumpers disconnected).
Connecting a stepper driver to the X-Axis on the board.
Turning the trimpot down all the way, and then back up 1/4th of the way.
Plugging in 1 NEMA 17 motor to the X-Axis.
Connecting 5A DC input into RAMPS 1.4 (not plugged in).
Finally plugging it in and seeing if the motor moves for 5 seconds.

Now my question is, if I'm going to do this to test out a single NEMA 17 motor, do I need to comment out the rest of the test code before loading the firmware?

There's no reason to comment anything out. It will work just fine without any modification, even if you're just testing a single motor. That said, I don't see the value of this "test firmware" over just installing Marlin.


Can carving templates be produced from G-code? I am looking for a way to generate 2D horizontal templates for manually carving an object. My thought was to produce an STL of the model, generate the G-code, and then transform that into slices. Appreciate any suggestions for where to start. I'm not afraid of getting my hands dirty with python, R, matlab, whatever.

Carving decorative patterns?
If your templates needs to be used like one does a stencil, that's doable... but paper-thin is not as you can't make that with an FDM printer.
But if you allow 0.2 or even better, 0.5 mm thickness, it is as simple as making a vector graphic, importing it into a suitable CAD package, then extruding it to the relevant thickness, and sending it into the printer.
If you really need it to be thinner, invest in a vinyl cutter, and use the same vector graphic to cut a foil template for one use. Upside: you could use the vinyl to etch the patterns in metal.
Carving figurines?
Yes, that's possible too, even easier! Make a 3D model of the finished object in a CAD or 3D modeling software. Either cut up the model right there and export each slice as STL for the printer, or export the whole model and use a secondary software such as MeshMixer to do plane cuts onto the model.
The slices should be at least 0.5 mm thick to allow handling.
It might also be a good idea to use the same model and cut it from a cube, which then is sliced up - that way you get a pattern to press against the outside of the model.


Turning off heatbed for the last few layers. Good idea or not? My heatbed won't let go off the prints until it considerably cools down. The cooling process takes decent amount of time.

I was considering putting the M140 S0 (sets heatbed temp to 0) somewhere near the end of the printing process, so that when the printing is done the cooling is already in process.

Is that a bad idea? I am asking because if it was 100% perfect idea, slicer would probably do it already.

It's not a bad idea, and you should try it. But only on prints with some height, because:

The goal of the heated bed is to ensure adhesion for the first few layers. Without the heat on the bottom side of the layer, the layers above will pull those layers with it as they cool, causing the warp that you see. When your bed is warmer than the layers above, those first layers stay with the warmth. This continues as the layers above are pulled into adhering to the bottom layer instead of going rogue.

Print some objects that are taller than 10 layers, and see. When you succeed, get scientific and dial down the amount of layers until you see warp. Then you'll know which object height you can employ this.


Measuring the legs of the triangle instead of the hypotenuse in Fusion 360 sketch When creating a sketch in Fusion 360, when drawing lines at an angle, it shows the length of the line:

For this, use a construction line:

draw the approximate line
press x to go into the construction-line mode
pres l for the line tool
Draw a line from the end to the base
constrict it orthogonal to the base, turning it into the height
press d to go into defining distance mode
click on the dotted line
type in the height
press x again to get back to normal lines.
complete the triangle


My Prusa i3's Z-axis will only go up If I send it commands to go up, the steppers rotate things up. If I tell the Z-axis to go down, nothing happens. I inverted the Z-axis in the firmware (by setting the value to true instead of false), and it did the same thing, but the other way around - it would only go down.

It sounds like your Z limit switch is stuck.
The firmware will prevent the motor going further down past the limit to prevent damage.   Be careful going up because if the firmware doesn't know where the bottom is, it doesn't know where the top is.

I checked my printer (an i3 clone) and the limit switches are wired as NC (normally closed).  That means that the circuit opens when the switch is activated.  So, if the wire (or switch) is broken, or if it is unplugged, it will behave as if the switch is activated (the behavior you are seeing).

An easy test would be to switch the x-limit and z-limit cables at the controller board.  If the problem moves to the x-axis, you have found your problem.  BE CAREFUL not to run the motor into the end stop and damage something since there is no limit switch to protect it.


What's the best way to connect pieces of a large print after printing? I have a number of fairly large printed pieces.  The parts, when assembled, form a very large sword.  (The model is this: https://www.thingiverse.com/thing:4178060, and is not mine.)  It is about 7' from tip to pommel, and individual pieces are fairly large.  The pieces are already printed, so advice to modify the model geometry to add reinforcements at this point is moot.
I have printed the pieces in PLA.  I'm not asking for glue recommendations, necessarily, but rather something that could help with adhesion in addition to the glue. I'm concerned that after gluing them together, they won't support their own weight very well. I'm not worried about swinging it, just holding it and hanging it on a wall.
If I was very clever, I would have modified the files to add a through-hole that I would've put a pipe through or something, but I didn't think that far ahead.  I could drill holes in the printed pieces, but I don't have a good way to make sure they line up.
So, what is the best way to add some kind of support to help keep the parts from falling apart? Is there some trick I could use to figure out how to line up drill holes?

Previous answer assuming not yet printed:
If you want to drill holes, print smaller guide holes to guide the drill bit.  The best glue depends on the material.  Printing structures like dovetails makes the connection less dependent on the strength of the glue.
Answer with the parts already printed:
The best way to align drilled holes is probably to glue the pieces together first, then drill the holes.  Otherwise, you need a method to clamp the pieces together or do precision drilling.


What are the variables for PID control? How to use M301? How to use this command to switch from PID to bang-bang? I'd like to have the 12V PID output of an old Printrboard hotend control a relay that attaches to a 120V crockpot for something I'm making. I have everything working fine using a relay, but because the hotend heater is using PID control, the relay clicks about 3 times per second each time it needs to heat up the crockpot.

Not only is this sound annoying, but it will likely reduce the life of the relay significantly. I need the crockpot temperature controlled, so the programmatic thermistor control on an old 3D printer board is a huge help, and probably cheaper than the alternatives. Especially since this board has an SD slot built in and can run any code on power-up. In "bang-bang" control, there would be less clicking as the crockpot heats up, and the relay wouldn't be damaged.

I can't update the firmware on my board to use a different pin because it is a really old Printrbot board. All the required software is almost 5 years old and is really difficult to find. Fortunately the Printrboard does support M301. So, I should be able to use this command to switch from PID control to bang-bang.

In Marlin's documentation, it describes a command called M301, along with a lot of variables for using this command. The problem is, I don't know what any of these variables mean.

M301 [C<value>] [D<value>] [E<index>] [I<value>] [L<value>] [P<value>]

[C<value>]

C term (requires PID_EXTRUSION_SCALING)

[D<value>]

Derivative value

[E<index>]

Extruder index to set. Default 0.

[I<value>]

Integral value

[L<value>]

Extrusion scaling queue length (requires PID_EXTRUSION_SCALING)

[P<value>]

Proportional value

About the only thing I know for sure is that the extruder index is 0.

What command would I enter to make this a bang-bang PID controller, so that I don't damage my relay long-term?

What command would I enter to make this a bang-bang PID controller

There's no such thing as a "bang-bang PID controller". "bang bang" is mutually exclusive of PID. The M301 command is only good for fine-tuning the parameters of the PID controller, but it won't let you switch to bang bang. Unfortunately, you must update the firmware if you wish to use bang bang.

You could try setting all values to 0, except P, which you set to an as high value as possible. This will cause the output to be fully on when the temperature is lower than the setpoint, and fully off when higher than the setpoint. However, this can still cause rapid clicking of the relay when the temperature is hovering around the setpoint. Bang bang has some hysteresis built-in (i.e., there is a margin around the setpoint in which the relay will never be toggled); there's no way to emulate this with PID.