Converting Injection Molded STLs to printable STLs

Although the foundation of your question is aimed at getting an opinion, I find nothing wrong with that, as long as answers are provided with an equal foundation based on facts.

I'm a fan of Meshmixer (free) but it's not well suited for this project, in my belief (opinion) as it's primarily aimed at organic modeling. On the flip side of this point is the fact that you have a working STL from which to build. Meshmixer will enable you to extrude the portions that sit below the surface level and create a flat plane. You can also "bridge" the elevated portions into a plane, but only if you remove the lower panels first. Leaving them in place creates an unprintable model.

Of course, Meshmixer has its own learning curve.

Along the same train of thought, Blender (free) is suited for performing similar tasks, again aimed at organic models. Again, starting with your STL makes it less of a complication.

Unfortunately, in my opinion, Blender's learning curve is substantially steeper, as the program does many things unrelated to 3d printing. It has spectacular control over the model and if you are able to learn the necessary controls and sequences, there isn't anything you can't do with it.

Meshmixer is more intuitive than Blender and therefore easier to learn. You may also find it easier to find YouTube resources for Meshmixer actions than similarly for Blender, mostly because the phrasing of your search will be clearer with Meshmixer.

As an example, one would create face groups of your STL. Various segments would then turn colors. You select the depressed face group and say, "cheer up" then delete that group. Using the appropriate tool, which currently escapes my alleged mind, you'd then bridge those faces remaining after the delete. What was once a shallow pool becomes a flat contiguous surface.

I would recommend using Lynda.com tutorial material if you can find it. There is also a resource called Honeypoint which somewhat specializes in Meshmixer tutorials.

Not out of the question is to engage the free Fusion 360 program and use all those YouTube resources, among others, to import your STL and create extrusions and modifications you require. Our local library has an agreement with Lynda.com which provides free access to Lynda.com's tutorial library. Conveniently for me, it has a great collection for Fusion 360.

I've become so accustomed to manipulating models in the above software and other programs that I attempted to rotate your image to see the other side! If this is one of the simpler ones, you have quite a job ahead of you!

Be sure to use an STL printability checker program to ensure your resulting models are workable. Meshmixer has that feature built in and a couple online services will repair your model free. One service I attempted to use destroyed the model, while the Microsoft version did not, but created a .3MF format. That added one more step to get it reconverted to .STL, but the results justified the effort.

Good luck


Hot end considerations for 300+ °C and greater than 1 mm nozzle size for polycarbonate

Handling a 1mm nozzle implies a desire to reduce the overall print time (otherwise why use a large nozzle), so you will need to consider not only the maximum operating temperature but also the rate at which plastic can be melted. (See also this question and one on overheating to compensate)

Using 1.75mm filament is a good start, this has a better surface area to volume ratio, but you're likely to see issues with both the heater cartridge power (so a 40W heater is probably going to help), but also the size of the melt zone and the thermal mass of the heater block.

As you need to push a reasonably large amount of heat from the cartridge to the filament, it is important to minimise the thermal resistance - so using a steel nozzle would be a disadvantage here (but since polycarbonate is abrasive, you will need to consider wear resistance as part of your trade-offs). You can get longer nozzles and larger heat blocks designed to work better in high flow applications.

Also remember that your extruder needs to work 6 times faster to achieve the same linear speed compared to a 0.4mm nozzle (with at least as much pressure), so this also might need to be upgraded (or driven a little harder).

If you can however tolerate a somewhat slower print speed, you might not need to reach 300°C  to print PC.


Your G-code file contains the G28 command to home the printer, as you do not have endstops, execution of this command fails. If you do not use endstops, you should never home the printer, instead you must position the print head at the origin yourself (generally this would be at coordinate [x=0, y=0, z="paper thickness"]) and remove homing commands from your G-code file.


How to activate Power Loss Recovery in Marlin?

Marlin firmware has such a feature that can be enabled to resume printing after a power outage.
To enable power-loss recovery you should send
M413 S1

to the printer using a console (e.g. using Pronterface, OctoPrint, Repetier-host, etc.) or put commands in a text file with extension .g that can be printed from SD card. To disable power-loss recovery send/print:
M413 S0

To report the state of the power-loss recovery, send through a console:
M413

This will result in a returning message in the console of e.g. This Power-loss recovery ON.
To retain the setting, you can use M500 to store it in memory.

If you enable M413 in Marlin firmware, the printer will write a resume printing file to SD card e.g. every layer.
From M413 - Power-loss Recovery documentation I quote:

Enable or disable the Power-loss Recovery feature. When this feature is enabled, the state of the current print job (SD card only) will be saved to a file on the SD card. If the machine crashes or a power outage occurs, the firmware will present an option to Resume the interrupted print job. In Marlin 2.0 the POWER_LOSS_RECOVERY option must be enabled.
This feature operates without a power-loss detection circuit by writing to the recovery file periodically (e.g., once per layer), or if a POWER_LOSS_PIN is configured then it will write the recovery info only when a power-loss is detected. The latter option is preferred, since constant writing to the SD card can shorten its life, and the print will be resumed where it was interrupted rather than repeating the last layer. (Future implementations may allow use of the EEPROM or the on-board SD card.)

This means if you cut the power you can resume the print layer, the only problem is that the part must remain attached to the plate, if it comes loose it is hard to resume printing. This feature is now commonly found on printers these days.
The regular pause and resume functionality of the printer will not work when the power is cut over night, i.e. no recovery file is written in such a case.


Wanhao i3 PLUS restarts when connecting USB

I don't know that printer. But Arduino has a feature that a USB connection causes a reset. The Idea is that this helps when doing software update as the Arduino Boot loader will be active for one second after that reset.

This can be disabled, but needs hardware modification.


Problems with bed leveling of Creality CR-10 Mini

The Creality CR-10 Mini is a portal printer using a single Z lead screw at one side of the portal to move the whole X axis gantry. This implies that the X gantry needs to be very stiff when raised and lowered from one side and also have a minimum of play on the rollers (especially on the lead screw driven side).

I have seen many complaints from experience of people complaining that the gantry is not stiff enough, or that there is too much play on the rollers on either side of the gantry to result in a skew gantry. Consistent leveling is very hard on such machines. A colleague of me added an extra stepper (and split the original stepper connector) to have it raised and lowered from both sides. Do understand that this is also not optimal, missed steps on one of either sides can also cause the X gantry to become skew. A better solution is to create a belt driven extra lead screw that is powered by one stepper, you will not experience a skew gantry as the gantry is integrally moved.


What is a good way to estimate the impact on material strength different printing methods will have?

It's hard to tell without actually testing the part. There are many ways you can 3D print a part, even on the same machine, that can yield different results.

Here are some tips to help uphold strength requirements:

Identify where your stresses are and avoid allowing the natural "grain" of the print (i.e. each layer) to coincide with the stresses of the part. For example, I just printed a part with hinges today. I set my part up to ensure that the circular profile of the hinge on each layer, instead of having the machine "bridge" the circular profile.
Make your part more solid by increasing the infill. Note that somewhere around 35% won't really provide much more strength than say 50% with a standard infill pattern (i.e. hexagonal, diamond, catfill). However, I would imagine that if a spherical infill pattern was ever designed, that would be the strongest.
An easy way to beef up small areas of a part is to increase your shell variable (how many profile layers for each layer). Again, referencing my hinge design, I made sure that my hinges were completely printed using shell instead of shell/infill.
Don't be afraid to do some post-processing such as adding epoxy/epoxies in high-stress areas.

If it's not an expensive part to print, I would suggest playing with some of these ideas yourself and conduct controlled tests to see what setups work best for your application(s).


Extruder Motor Not working during Printing

If the extruder extrudes fine from the control panel, chances are there's a configuration problem somewhere. For example, check your extruder steps/mm in the firmware to make sure it's not a nonsensical value; check the slicer settings to make sure that the filament diameter, line width, and layer height are all correct; make sure you're not trying to extrude in volumetric mode without having configured volumetric printing in your firmware and slicer correctly; and finally check your temperature control settings. When I first set up my fleabay 3d printer, I couldn't get my printer to work because the hotend minimum shutoff temp (thermistor disconnect protection basically) was set to something like 195C and the print temperature was 180C. I had an almost identical issue when I changed my fan assembly and it started blowing on the wrong part of the hotend, causing the firmware to register that entirely too much energy was being put into the extruder. Check the minimum temps for both hotend and heated bed and see if one of them is tripping your failsafes and stopping the extruder before printing even begins.


Can the glTF format be used for 3D printing?

No, gltf is not a format that slicers accept commonly, and indeed, it is not even intended to be reverseable in the 1.0 format version. This has changed a little for the 2.0 standard. Some programs that allow exporting into the sliceable stl and  obj formats can also import gltf:

blender has an importer plugin - more  info here
SketchUpp has an importer plugin

You have to be careful though: formats like dae or stl are meant to transfer 3d objects usually without the loss of information or with just a minimal loss (stl, for example, does technically not contain a scale natively), while gltf is end users and does not contain all the information. This can lead to models getting distorted and destroyed on importing them into a rendering or modeling software.


Printing screws - is the output usable? (M3 or M4)

well... it's hard to imagine printing M3 or even M4
I haven't try but I haven't because I'm pretty sure it's not possible (on my printer of course)

but some time ago I've tried M8 which is of course way from your needs
it was printed on 0.1mm layer height

it went ok into the nut without any problems but the strength is not very high I suppose

I know the quality is poor but even such bad photo shows issues


Does the Ender 3 need an 8 pin mini USB or 5 pin, or no difference?

The ender 3 follows the USB standard for a USB-2.0/2.0 revised 5 pin USB-Mini-B.

To prove, a picture of it. Left, you can clearly count the 5 pins that conform to the standard.

as a side note: There is no 8 pin USB-Mini - Mini has the T-shape. In fact, there is not even a USB standard conform plug that has 8-pins! The standard allows only 4, 5, 9, 11 and 24 pins


Well, I´m using marlin for my printers and normally the offset is negative, this difference is from the 0.0 Z value sensor and nozzle.

For example, I have an aluminum plate, so this material is less inductive and I'm getting a height of nozzle 1.2 mm; normally this value should be above 5mm, but my printers reads 1.2mm

So my offset is 1.2mm (this values is dangerous for me) because I can bend the plate if sensor stop working.

the safety z height on G28 is 4mm and also for auto probing G29, the speed testing for Z is lower than travel X and Y.

    #ifdef AUTO_BED_LEVELING_GRID

    // set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 8
    #define RIGHT_PROBE_BED_POSITION 156
    #define BACK_PROBE_BED_POSITION 156
    #define FRONT_PROBE_BED_POSITION 8

     // set the number of grid points per dimension
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_LEVELING_GRID_POINTS 2

  #else  // not AUTO_BED_LEVELING_GRID
    // with no grid, just probe 3 arbitrary points.  A simple cross-product
    // is used to esimate the plane of the print bed

      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 156
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 156
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID

  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  // X and Y offsets must be integers
  #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.2 //-12.35

  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case

  #define XY_TRAVEL_SPEED 7000         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 4    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 4  //How much the extruder will be raised when traveling from between next probing points

I hope this help to understand your settings.

I have set the values to Zero instead 25 and 29 because I pre defined the testing points manually to 8 and 156; of course the center of the nozzle is moved 25 and 29 mm from the plate center, this avoids collision to X0 and Y0. And I just the level using 4 points once, if your bed is warped so is needed more internal points

  #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29


Basically you are fighting against oozing. So a retraction, or as you call it:

  the 3D pen I am using goes back a little bit to prevent dripping

needs to be undone. You can do this by extruding an amount to get the filament back at the tip. Command G1 Exx.xx where xx.xx is a number where the retraction is is added on top of the existing value. Furthermore, most slicing software have parameters available to influence the extrusion/retraction. E.g. "coasting" is an option to prematurely stop extruding and make use of the pressure buildup in the nozzle (this prevents blobs where perimeter end meets the perimeter begin), "extra length on restart" (replenish the nozzle chamber with extra filament) or "Retract on layer change". In principle all these actions are set and handled by the slicer you use for making a print file. There is no need for a "dwell time", in fact dwell is just a pauze. It seems a bit strange that you want to control the filament flow yourself, while all this is done for you by the slicer software.


The OP has solved the problem as read from a comment on a deleted answer. So far the OP has been reluctant to post the answer; therefore his comment is converted into a community answer.

It appears that the OP had incorrectly configured his firmware considering the comment:

"I figured out what was wrong. Turns out the no extrude command was uncommented and worked fine when changed the min temp on it."


How can I charge an Android phone while it's controlling my 3D printer?

See elsewhere on StackExchange:

Electronics:

Can an Android tablet serve as USB Host and be charged simultaneously through a single port?

Android Enthusiasts

Using an OTG cable while charging
USB charging in host mode [duplicate]

You certainly can charge whilst in host mode, but some re-wiring will be required.

From the SE.Electronics link

  Apparently it is possible to charge the Host-Device! -->
  http://en.wikipedia.org/wiki/USB_On-The-Go

  Under "OTG Micro Plugs" it says that a USB OTG cable with a 36.5 kΩ
  resistor between Pin 4 (I suppose its pin 4) and Pin 5 allows you to
  connect a B-Device (Slave) and (!) a Charger to the Smartphone/Tablet.
  The Phone and the B-Device can be supplied by the external power
  source.

  USB-Power Specifications:
  http://www.usb.org/developers/devclass_docs/batt_charging_1_1.zip

and

  I just sifted through the docs because I didn't trust Wikipedia's implicit data on which of the three resistances I should use. Here you can find the official Battery Charging v1.2 Spec and Adopters Agreement: usb.org/developers/docs/devclass_docs In this case you want 124kΩ, because you want the OTG device (=tablet) to be the A device (=host).

Here are the schematics:


Adding support when generating g-code from Cura Engine (command line)?

I found this in the fdrmprinter.def.json which you could might make a copy of and use instead for the -j option:

"support":
    {
        "label": "Support",
        "type": "category",
        "icon": "category_support",
        "description": "Support",
        "children":
        {
            "support_enable":
            {
                "label": "Enable Support",
                "description": "Enable support structures. These structures support$
                "type": "bool",
                "default_value": false,
                "settable_per_mesh": true,
                "settable_per_extruder": false
            }
        }
    }

Change the "default_value" under "support_enable" to true and that could work.


Yes, you can print most of the parts (electronics, linear guide rails, ball bearings and nuts and bolts, etc cannot be printed). Actually this was exactly the purpose of RepRap.org:

  RepRap is humanity's first general-purpose self-replicating
  manufacturing machine.

and:

  Since many parts of RepRap are made from plastic and RepRap prints
  those parts, RepRap self-replicates by making a kit of itself - a kit
  that anyone can assemble given time and materials.

There have been attempts in the past to even replicate the frames of printers (e.g. Dollo 3D or Snappy, but such designs are not very successful, printed frames are more flexible than metal frames.

I have built 2 custom printers myself using other printers to print parts and printed all printer parts for several others. It is possible to print your own linear bearings from POM, I prefer these over the noisy metal bearings.


Advice on power supply wiring for the UK

The fuse may be academic, because there might be an integrated fuseholder in the PSU itself. That said, adding another fuse in the form of a proper UK plug certainly won't hurt.

I'd certainly do this, too. Fuseless plugs have no place in my home/workplace

For the rest - yes, the 220V position for the switch is good. Grounding, again, certainly can't hurt, but the PSU is probably double-insulated, which doesn't require it.


Conversion of 3 mm ABS filament to 1.75 mm

In theory, making filament is easy.  You take a 3 mm hotend with a 1.75 mm hole, and extrude the 3 mm (sometimes actually 2.85 mm) filament, let it cool, and then reel it up.

In reality there are a lot of pitfalls to making filament - if the pressure isn't even, the hole not perfect, the temperature uneven, you can end up with oval filament, filament with bubbles, or worse.  If you are over temperature you may damage the filament and it could look good, but not melt correctly when used.  If you reel it too fast you may thin it out more than the intended diameter, or too slow and you may thicken it. A lot of hotends use steppers, which may result in ripples in the filament, so you may end up building a nearly custom filament machine.

Resolving all these problems is probably not worth simply selling or giving away the filament to someone that can use it, and buying the right size for your machine.

If you are still interested, though, you might as well go all the way and build a full filament extruder that accepts raw plastic feedstock (usually pellets) as well as your filament, and convert it that way, then continue using it to create your own filament.


Which capacitor to change on CR-10S S500 motherboard?

You are looking for a capacitor that must be connected to Pin 4 of the LM2596.

Maybe you could provide a better picture of that area so we could see the different tracks on the board.

The LM2596 is in the center of the right side of the board (it is also labeled  with LM2596D). The pins should be counted from top to bottom (in your picture)

My guess is, the Elko you are looking for is connected to C31, and you must look for the positive pin.

In this wiring diagram Cout is the capacitor you are looking for. The SMD Parts R1, R2 and CFF should be R31, R32 and C31 in your picture.

With the corresponging measurements I would say you do not need to replace the capacitors.

In comparison to the old board your board already has the "fix" implemented.


How do you send G-code from a USB port with Python?

The process is pretty straightforward, you open a serial connection and send the instructions over the serial connection. The printer reports "OK" when received (not when the command has been executed).
You can use pySerial to connect to a USB port with the correct speed, then send the command you want to execute (include the newline char).
You need to be aware that commands are buffered, if the buffer is full, the printer sends "OK" when there is a spot free in the buffer.
See this question on a sister SE.


The heated bed is a big PCB whose traces can act like a coil since heating the bed makes current flow through these traces.

By placing a metal object over it, you encounter a phenomenon called induction which will heat up the metal object (that can be the screwdriver tip) because the magnetic field generated by the "coil" of the heat bed.

Since these screwdrivers can be pretty sensitive the electrical current transferred from the heat bed to the metal bit may turn on the screwdriver LED

Also, stepper motors contain magnets and electromagnets which produce an alternating magnetic field when turned on which, by induction, can produce a little current in the spring inside the screwdriver which would act like a receiving coil thus turning on the led hooked up to it.

Try this with your printer on: put the tip of your screwdriver on your tongue (which will effectively ground it with your body) and put the handle over stepper motors or the heat bed and see if it lights brighter.


What material can I use to make my own cake molds?

I would say that FDM printing in general is out of the question for this task, ABS and PLA would both melt in the oven, and the grooves in the print from the FDM process would make it a nightmare to clean.

My initial thought was an SLA printer ( $1000+ ) which uses a Photopolymer Resin hardened by a UV light, and based on its medical uses, I would think that it is food safe - I do not know what its melting point is however.

Another idea, one that would not too easily be done in house, is porcelain.

Shapeways offers a service that you could use for this - they say just $9 per part, 125 x 125 x 200mm maximum dimms, both food and oven safe.


Ultimaker Original+: print has lumps and small gaps are being filled

What is wrong here? Is the printer over extruding? Is the temperature too high? Is the flow rate wrong? Am I missing something else?

It is always difficult to diagnose problems from a set of pictures only, and without the original model to compare it with, but yes, from the pictures it looks like your printer has a severe case of over extrusion, possibly in conjunction with a thermal problem.

The first picture in the set is particularly interesting for a number of reasons:

The chequered pattern of the top layer looks like being generated by the nozzle "digging" in the layers below and rising the plastic around it.  A well calibrater printer should have a top surface with a very subtle texture instead.

The teeth of the comb and the gap between them are inconsistent, as are the shape of the tip of the teeth.  This let me think your printer actually doesn't operate consistently, over-extruding in some places a lot more than in others.  A pinter should be able to accurately replicate its performance along the full length of the comb instead.

The plastic has a different finish and colour in different places.  Namely, it looks burnt and glossy where the worse print quality is, white and matte where the problems are not so bad.  Both the colour and the finish let me thing the plastic in the dark spots have been heated way over its operational range and/or for too long.

In essence what I think it is happening (mind it: this is just a theory) is that your printer is over-extruding and in addition your hot end may have issues with keeping its own temperature constant and within the designed limit.  Other factors that may also play a role could be:

Wrong settings in the slicer as for example a nozzle diameter set to 0.5 mm when it really is 0.4 mm instead, or the filament diameter being wrong.
Blobs of over-extruded material forming and sticking to the nozzle, where they take too much heat for too long and burn before "falling" in the print and damaging it.
Filament that is old/of bad quality and that has impurities in it, or has an inconsistent diameter along its length (thus causing over-extrusion in places, but not in other).
A nozzle that is not well fixed to the heating block, thus allowing molten plastic to seep out from the joint and run down on the outside of the nozzle and ultimately on the print itself.
A nozzle that got damaged and whose opening is not circular and/or not matching its nominal diameter.
The extruder hobbed gear not e"biting" in the filament and thus the filament slipping at times, thus being inconsistent in the quality of material being extruded.

So, here's the the trouble-shooting I would go through at this stage:

Check your printer setting in the slicer.  Doh! :)
Take a close look at how the print works while in operation.  Do you see blobs forming and sticking to the nozzle?  Plastic seeping out from places it shouldn't?  Is the nozzle round and true?  In case of doubts, just change the nozzle with a new one (it is a less-than-1€ part anyways), easily outspent by the cost of filament in a failed print.
Calibrate you extrusion (and thus your flow-rate) by performing accurate measurements over at least 3 length of filament.  Matterhackers has a nice how-to that you can follow for this.
Manually check the diameter of your filament (at least 5 measurements at at lest 200 mm distance between them) and adjust the corresponding "filament diameter" setting.
Calibrate your temperature by using a test tower.  This one has extensive instructions on how to use it in the thing description, plus is customizable directly from thingiverse.
Print again your model and see how/if your changes affected the print quality in any way.

If the above fails, you could also try to use another slicer, but it's unlikely the problem is with the software.

UPDATE

I'm not familiar with your printer model, but the updated pictures seems to show the leakage happening between the heat block and the heat break, rather than between nozzle and "whatever". ;)

This can actually be caused by two different problems (or the two of them compounding).

The two parts, which are normally just screwed together have come loose.
If your extruder is not "all metal" (which is normally not the case in most printer), the PTFE tube (the whitish plastic tube the filament slides into) may have dislodged upwards, so instead of being a tight fit in the heat block, it leaves room for the molten filament to seep upwards.

In both cases, a reassembly and thorough clean-up of the head is in order.  I would suggest trying to find specific documentation for your printer online, but the general process is:

warm up the head to printing temperature.  All subsequent steps will have to be done at this temperature (wearing protective gloves is highly  recommended)
remove the filament
remove the PTFE tube
remove the nozzle
remove the the heating block from the heat break
wipe as much the plastic as possible (bit drills work well for the hole in the heat block
increase the temp a further 20-30 degrees
reassemble everything
profit

Please note:

the heat break is relatively fragile: be gentle when unscrewing.  When removing/attaching the nozzle is worth keeping the heat block in place with a spanner to prevent twisting the heat break
if you can't remove the plastic when molted, you can try letting it cool and scrape it
it essential that the re-assembly be done while hot.  Metal expands with heat, so what feels firm while cold will eventually become loose at high temperature


First, you should make sure that printing surface is adjusted correctly: it must be perpendicular to all three delta columns, all other adjustable parts must be checked and adjusted if necessary (depending on actual printer design).

Assuming that upper end-stops can be adjusted as well.

Home effector with G28 command, then move it close to one column (some versions of Marlin have these commands hardcoded in the menu)
Move Z-axis slowly until the nozzle touches the bed
Record Z position
Repeat above steps for two remaining columns
Then adjust end stops: if you need to raise nozzle (it touches the bed too early), then you move endstop up. If nozzle is too high (it reaches Z0 and still toes not touch the bed), then move endstop down.
Move endstops very gently because sometimes it it can be a matter of a fraction of millimeter.
After endstops calibration is done, verify that nozzle is properly calibrated at the center of the bed. Or run G29 if you like.

This procedure should make your endstops properly adjusted relative to the printing bed.


What stepper motor to use in heated chamber

"Since it has a heating chamber I can't use normal stepper motor"  Sure you can, the interior doesn't get all that warm unless you really seal it up tight, and that's not really needed.  I have an enclosure around my 200x200x200 mm MIGBOT (early Prusa clone with direct drive extruder), printing PLA with 60 °C bed, the interior only gets a few degrees warmer.  The motors can take a lot more heat than you think they can.

I have a couple pictures in this thread.

The front & back panels are 18x24 inch polycarbonate from Home Depot, I 3D printed the corner brackets, and added a couple of pieces of wood for some stiffness. The entire front hinges up. The top is 24x24 inch, and the back 6" hinges up to access the SD card that is on the display/control panel.


It is preferred to get the distance correct by hardware changes (leveling screws). But it is possible to do it with software. You can not only change the Z offset in the slicer or in the configuration of Marlin, but also with G-code commands.

The "paper drag" method is perfect for determining the correct Z level. Once you leveled with the paper, you do not need to create an offset to account for the paper thickness, however, there are purists that do that. So basically, what we call Z=0 is in fact Z="paper thickness", unless you are a purist. But a slightly larger gap makes printing much easier. Too small heights cause e.g. rippling effects or too much pressure build-up in the nozzle. In order to change your offset after leveling, you could try one of the following methods. This is sometimes a useful method for creating a little extra offset for printing PETG, but personally I do not do that.

In Ultimaker Cura:
Open the plugin manager ("Toolbox"->"Browse packages...") and install "Z Offset Setting", a new parameter will be available in the "Build Plate Adhesion" settings menu called "Z Offset". (See also this older, not up-to-date answer)

In Marlin configuration file, modify the MANUAL_Z_HOME_POS constant:

//#define MANUAL_Z_HOME_POS 0

In G-code:

By adding the following lines to your start G-code (see e.g. this answer) using the G92 G-code command:

G0 Z0.2 ; Move the head to 0.2 mm (so now 0.3 on your machine)
G92 Z0  ; Call this Z = 0

or when you are able to connect to the printer over USB using a printer terminal (e.g. Pronterface, Repetier or OctoPrint) using the M206 G-code command:

M206 Z-0.2 ; Will raise the Z height by 0.2 mm
M500       ; Stores the offset in memory

Alternatively, when you cannot connect through a terminal, putting the last 2 lines in a text file and saving that as a .gcode file on an SD card and "printing" the file will also store the new offset (if M500 is enabled in the configuration file: #define EEPROM_SETTINGS // Enable for M500 and M501 commands)


Three likely culprit:

The file is compressed but your machine can't detect it.  So for example the 3MF model has been zipped, and what you are trying to do is opening the zip archive in the text editor, rather than the file that is in the zip archive.  Solution: try to see if common decompress utilities like zip, gzip, 7z can open the file.
The file is a 3MF model but the character encoding in the file being different than the one your editor is expecting (typically Unicode/UTF-8, these days).  Solution: read on the rest of this answer.
The file is a binary one that is totally unrelated to 3MF.  So in essence: an error, you are trying to open maybe an MP3 or a JPG file believing it to be a 3MF instead.

As for the "wrong encoding" option...  Oversimplifying a bit, the story goes like this:

computers write data to files in bytes,
a byte can only be set to one of its 256 possible values,
in the early days of computing, when computers were just glorified calculators, it was enough to have a 1:1 ratio between the byte possible values and the symbols one wanted to use, so ASCII was born (actually ASCII only "mapped" the first 127 values of the byte, but that is a detail).  So: value #49 would represent a 1, value #90 a Z and so on...
shortly afterwards, computers became powerful enough that people wanted to use them to process human languages, so the need for more characters (like accented ones åáä or the ones from non-latin alphabets like Cyrillic язы́к or arabic عَرَبِيّ, or...) came to be and engineers speaking different languages had the "brilliant" idea to each use the other 127 "free slots" in a byte for their favourite languages, thus a plethora of extended ASCII encodings was born, each using the same byte value, but each mapping to a different symbol.
later on, people began to realise the need to combine the use of say Gaelic, English, Japanese and Farsi with mathematical symbols, and thus they came up to way to map symbols to values expressed as the product of more bytes (so for example: 2 bytes encoding could map 256x256=65536 symbols).  Again: each system using the same values but different symbols.
finally after decades of frustrated users and expensive bugs, engineers around the world settled for a multi-byte standard that has 1,114,112 possible values that could contain all characters one can possibly need, and Unicode was born.

Back to your question: despite unicode having been around for a few decades now, legacy software and sloppy programming are a thing, and there are still systems that do not use unicode internally but some legacy "special purpose" encoding.

Unfortunately, it is impossible to say with certainty how a file was encoded, so occasionally you may find yourself opening a file and starting decoding it according to a "conversion table" that is not the one used by the author of the file itself.  This is what it looks like is happening to you.

Onward to what you can try to do to fix this...

First of all: as attentive readers may have already inferred, you will need the actual file for this.  In fact if you cut-and-paste its "content" from an editor what you are really doing is cutting-and-pasting the decoding your computer did of the byte values, and not the byte values themselves.

Then your best bets are:

Try one of the online detectors like this one, using "English" as a language.  These detectors work by trying all the decoders they know of until the decoded file will have English (or another language of your choice) words in it.  This may not work for you as a 3MF file is mostly numbers, not text, but it is worth a shot.
Guesstimate what encoder may have been used.  For example: if you got the file from an old windowsXP machine from Eastern Europe, chances are it may have been encoded with "windows-1251".  Use an online converter to see if you were right about it.
Use brute force.  For this you will require to write a simple programme or ask somebody to do it for you, but the key idea here is to have a script taking your original file and decoding it using all encoders in that programming language knows of.  Then it will be up to you to open each decoded file individually and verify if it worked or not.


Steppers don't work as expected while printing

I've looked into your configuration file of your firmware but cannot find anything that describes this odd behavior. You have used some conservative settings regarding printing acceleration. What cannot be assessed is the amount of steps required per millimeter movement of every axis, that is left for you to re-check.

Note that when the steppers are working as expected when the printer is at idle and you command the printer with an external printer software (e.g. Pronterface from the PrintRun software suite, Repetier-Host, OctoPrint, etc.), the problem could well be caused by the slicer and/or the options used for slicing the print part.


If your firmware doesn't store values you modified after flashing, for example using Repetier's option "Firmware EEPROM configuration", you probably didn't define EEPROM setting in Marlin.

To do this you have to uncomment the option in Marlin's Configuration.h:

// EEPROM
// The microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores parameters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
//define this to enable EEPROM support
  #define EEPROM_SETTINGS

#if ENABLED(EEPROM_SETTINGS)
// To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
#define EEPROM_CHITCHAT // Please keep turned on if you can.
#endif

Check that the lines #define EEPROM_SETTINGS and #define EEPROM_CHITCHAT are both uncommented (i.e. defined)


How to automatically add support and "base" to the model I am printing?

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


I have bad print quality, what should i do?

The images that you show are typical for heavy under extruded prints. The "comb like structure" is caused by extrusion of too little filament which balls up to a certain point in time that it sticks to something previously printed, then balls up again, etc...

Under extrusion can be caused by many things, but this much is usually caused by an incorrect filament diameter set in your slicer. But, it can also be caused by a mechanical (or electronic) defect like a slipping extruder caused by a loose gear or missing steps.

I'm operating 2.85 mm and 1.75 mm 3D printing machines (both have pros an cons) and occasionally I've experienced exactly the same results (you call it a "comb" like print). E.g. the slicer Cura (Ultimaker software product) is known/used to be known to reset the filament diameter to the default of 2.85 mm after an upgrade of the software, which is the filament diameter used by Ultimaker printers.

If you add more details to your question, we can tailor the answer to your specific issue, but it certainly is under extrusion.


Filament gets coiled inside the extruder

As long as there is no more information about the printer itself (I searched a bit and around half of buyers were severely unhappy with the result), I'd advise you to make a full check of all of the important parts that make up a 3D printer making ok prints:

Are motors moving as they should?
Is the extruder actually extrude filament when told so (do the check "2cm" = 2cm extruded)?
Is the Z calibration ok (<- VERY important, will make tons of weird problems if extruder is too close to the bed, believe me, don't skip out on this one. A blue tape or not a blue tape makes a world of difference).

Also of course check your filament (no variations too big of the diameter).

For the temperature, IMO go for the higher for starters (maybe no, see "heat creep" below), you won't be able to bridge / less good quality etc. but you'll get pieces done.

NOW, the image you posted shows a twisted (I don't know how to handle that) or a grinded filament.

When I say 'grinded' I mean that the filament got stuck somewhere (see below) and the (cogged) wheel pushing the filament is so strong that is grinds off plastic from it, forming waves on the filament. Eating away parts so it looks like your photo.

If that's the case, then you should check out "heat creep", it's basically the heat in the lowest part of the extruder (the thing you call a bowden extruder) will heat up the filament and make it melt Above the heat block, making a blob of half melt plastic stopping the forward movement of the filament.
This is usually mitigated by two things, that lacks more or less in cheap chinese knock offs:
* The fan and it's cooling efficiency (the fan must blow when the heat block is hot, even if there is no printing going on. Even if the heat block is no longer heating. I shut the fan off at around 60°C).
* The Heat break: if it's heavy it will conduct too much heat, if it's thin it might work but will break easily.

3D Printing is not obvious or easy, but spend some time and it'll start to work well!

Cheers


Ramps 1.4 1.8 stepper motor extrusion calculation

According to the description, the drive gear you have has a 10.8mm diameter. This means that (in the ideal case) one full rotation of the drive gear will advance a length of filament equal to its circumference, which is pi x 10.8mm or approximately 33.93mm.

Your motor rotates 1.8 degrees per step, so it takes 360 / 1.8 = 200 steps for a full rotation. Since you are using 16x microstepping, this is multiplied to 200 x 16 = 3200 steps.

You thus end up with a steps per mm value of 3200 / 33.93 = 94.31 steps/mm.

You might need to calibrate this further, for instance by extruding a set length of filament (e.g. 100mm) and measuring how much is actually extruded, and then compensating the steps/mm value to get you closer to the desired 100mm. A simple way to measure this is to put a mark on your filament at 150mm from the extruder, and then (after extruding 100mm) measure how close the mark is to the extruder (which should be 50mm) However, this theoretically computed value should be a good starting point. Note that the speed you do this test at should be close to your normal printing speed, since extruding at a much higher (resp. lower) speed will falsely lead you to believe you are underextruding (resp. overextruding).


MakerBot Replicator 1 Voltage Regulator Fix

What's the part number of the regulator you're putting in? The pin assignments vary from one part to another, but you can probably find them from the part number online. Some parts have the ground pin also connected to a metal part of their case. The green wire from the board should be ground (no promises!)

Assuming you've got a voltmeter, you can use it to find out which pins on the board are power and ground (easiest to do before the regulator is installed...). Then once installed, check that you're really getting 5V versus ground on the remaining (output) pin.

Since 2 of these burned out on you, I suggest taking steps to reduce the strain on the regulator. Voltage regulators turn the excess power into heat. Some things that can help:

Use heat sink grease to conduct heat from the regulator to the circuit board, the adjacent socket, etc. Hot melt glue, as the instructions you linked to mention, won't likely provide as much heat conduction.
Attach a heat sink to the regulator, or a bigger heat sink.
Get more air blowing across the regulator. You could do this by moving the regulator slightly, adding a fan, adding something to redirect some air onto the regulator, etc.
Swap in a bigger voltage regulator (that is, one rated for more current)
Turn down the voltage just a tiny bit on your power supply (if it has a control for that; many do).

Let us know how it turns out!

Steve


Are there any "best" or at least "common" practices to handle allowances in OpenSCAD code?

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

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

Two other terms

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

In your case you need to define the allowance in order to create the clearance you desire.

To design your 5 mm pin and 5 mm hole, you need to understand your machine's accuracy.  The printer could print the pin larger than 5 mm or smaller than 5 mm.  Or it could print the hole larger than 5 mm or smaller than 5 mm.  You'll need to print some pins and holes and measure the differences between what you defined and what you printed.  The difference between the largest and smallest measurements you take is your machine's accuracy.  And be sure to check the accuracy in your X, Y, and Z dimensions; your printer might have a difference between them that would impact the roundness of the parts.

Let's say that your printer's measured accuracy is ± 0.2 mm.

Then, we move to clearance.  What is the minimum gap between parts you are looking for, and what is the maximum you can accept?

Let's say you want a clearance of at least 0.2 mm between the pin and hole, but no more than 1.0 mm.  Since your accuracy is ± 0.2 mm, your pin will be 5.0 ± 0.2 mm, so the hole must therefore be 5.6 mm ± 0.2 mm.  The minimum tolerance condition would be an minimum sized hole (5.4 mm) and a maximum sized pin (5.2 mm); the maximum tolerance would be a maximum sized hole (5.8 mm) and a minimum sized pin (4.8 mm).

Note that a clearance of 1.0 mm might be too sloppy for your application.  You might think to tighten the tolerances to 0.05 mm in order to reduce the clearance.  But if your printer can't produce a part that meets your specified tolerances, you would need to find a different way to manufacture or finish the parts.


If it's on each corner, and not the layer change corner, it's a combination of overshoot and the short "pause" of the printer when it changes direction.

You can minimize it, but it won't go away 100% (due to overshoot from direction changes), usually models with a slight rounded corners work great.  If you, say, increase the jerk as an experiment and they get sharper (but you obviously have to deal with potential ringing artifacts) then it's due to that pause and acceleration after a direction change.

I would try lowering the temperature a bit to slow the flow/oozing of the nozzle and calibrate extrusion - just to keep the settings tight as possible to keep dimensional accuracy, but not under extrude obviously.

If it's where a layer change occurs, tweak and play with retraction settings - such as coasting and extra distance on restart (you can put negative values here). Once those are set, as an advanced tweak, try to max the z speed... Obviously this involves motor current, testing for skipped steps etc... but this would make the layer change a bit quicker, to further reduce oozing, due to the delay in layer changes if retraction settings don't fix it.

Usually, you can fix the corners with retraction settings but then it can mess up other parts of a model, since those settings are global... I wish slicers were more intelligent.


I discovered something which could be the answer to the problem, in Marlin compiling there is:
//#define Z_AFTER_PROBING           2 // Z position after probing is done
You have to uncomment it and change number 2 to how many millimeters you want it to be above the 3D printer bed.


Good methods to clean extruder gear (hobbed) from filament pieces?

If your gear skips at the same place each time I have found on my machine that the gear does not fit the motor shaft properly and has a larger gap between the gear and the idler roller.

Check to see if there is a thicker buildup on one side of the gear than the other.

On my machine what I had to do was to use a spare motor cable and watch the gear as it turned, and at one point on the gear it would slip and shave off a small amount of filament.

If that turns out to be your problem use a good caliper to measure your motor shaft, and the inner diameter of the gear.

Sometimes the minimum shaft diameter and the maximum bore diameter of the gear are just enough to allow that small variance in the outer rotation diameter of the gear.

Sometimes just replacing the gear will solve the problem, and sometimes it will require a new motor and/or gear.

As an alternative you can clean the gear using Acetone and a toothbrush, but that will be required often and you will have buildup in the chamber below the gear which can also cause feed problems, and you must make sure that all Acetone has dried before using the extruder again.

I suggest starting with changing gears since they are the cheapest and using the Caliper to find the closet fit possible.

You can get gears on e-bay at very reasonable prices. and I bought several to get the best fit possible.

Good luck and consider if you want to make a more permanent repair or temporary repair when making your choice. I chose the more permanent one because the slippage was affecting some of my prints.


Squential Printing: Some objects are too tall and cannot be printed without extruder collisions

The error message explains that you cannot print your objects sequentially as they are too tall for the gantry to go back to the bed level after the first object.
In other words, your clearance between bed and gantry is too small.


"Missing" rows on 64x128 LCD after flashing Marlin 1.1.9 onto Monoprice Maker Select v2

Possibly unrelated to the firmware?  This happened to me when I tightened the mount screws on the LCD,  after I backed them off a bit it was fine.


First I thought that the model was improperly modeled due inverted faces or any missing line to close that faces but, I rendered the same STL to be printed 0.4 nozzle with height 0.2mm and looks pretty well.

Then I suspected that you were trying to print with 0.4 nozzle at 0.6 layers, which this is totally wrong but, I decided to set the 3D simplify and do the test. The program just show a warning about first layer height adhesion, the click OK and the part is rendered correctly.

However the recommended settings for a 0.4 nozzle should be less than 80% diameter = 0.32mm as maximum to get a proper bonding.

So, I think that you need to download the part and render it again. The time to process this render under XP with an small PC last for 5 minutes. So on bigger PC's will be faster.

Here is the link where I downloaded the "belt Komplett 805"


What are the costs per meter of filament for PLA, ABS and PET?

This strongly depends on the cost of the spool in question. Prices are not consistent among materials at all; a spool of ABS can cost anywhere from \$15 to \$60 and the same price range applies to pretty much all other plastic.

For the purpose of this question I am going to assume that a 1 kilogram spool costs \$25 (regardless of material) but you can scale the figures to what is appropriate for your brand of filament.

ToyBuilder Labs lists the density of ABS at 1.04g/ml, whereas PLA is somewhat more dense at 1.25g/ml. As such, a 1kg spool of ABS would be 400 meters (1.75mm filament) or 156 meters (2.85mm filament). PLA would come out to 333 meters (125 meters for 2.85mm filament)

We thus have the following costs (cost per meter for 2.85mm filament in parenthesis):

ABS: 6.25 cents/meter (16)
PLA: 7.5 cents/meter (20)

The density of PETG is roughly the same as PLA, so they have the same cost per meter (for similarly priced spools).

In general, to compute the cost per meter, you would use the following formula:

$$[\text{\$/m}]=[\text{cost of 1 }kg] \times [\text{density in }g/mm^3] \times \frac{[\text{diameter in }mm]^2\ \times \pi }{4000}$$


I am still somewhat of a noob, but I have heard that your problem may be because the extruder is not getting the filament out fast enough. You are trying to extrude filament before it is sufficiently fluid. Try increasing your hotend temperature by 5 degrees.


Printing refusing to print, citing non-genuine cartridges?

A quick search on the internet showed that your experiences are shared by others.
Apparently, it has something to do with a faulty chip or the software.
From this thread:

I had the same thing, the cop on the underside of the cartridge wasn’t
programmed properly, if you have the latest firmware update and it
still doesn’t work contact the seller and they should send you a
replacement chip

I had this happen 2x. It ended up being that I had xyzware open.
Xyzware needs to restart in order to detect the new serial number of
the filament.

You could ask for support from your supplier or restart the XYZ software.
You could also hack the NFC chip that is inside the spool. (DISCLAIMER: Do it at your own risk!)


PLA seems to become brittle with age. Micro-fractures develop on the surface, and they will grow if filament is taken off the spool and held straight. This behaviour does not seem to be linked to moisture content. The best course of action is probably to use PLA quickly. Don't give it time to age.


Tips for printing and being able to get of base easily

The all3dp article you linked to is very comprehensive and shows what are the "approaches" to print removal, rather than just the tools.  For the sake of keeping all info accessible here, the article highlight these 6 approaches:

Brute force
Wedge the joint apart
Thermal difference
Chemical reaction
Mechanical cut
Bed warping

To that list I would add a final class of solutions that I would call "sacrificial surface": use some removable substrate like painter's tape and remove that from the bed rather than the print from it.  Once the print+surface is off the printer than is normally very easy to scrape or sand the material off the print.


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.


Is it possible in any 3D printing software to create a coiled tube?

I managed to do it in the end using AutoDesk 123D.

Did it by making two coils of differing radius, then subtracting the smaller from the larger. I made each coil using the instructions found here:

So there we go...

Printed it out just now without supports - in the orientation shown - and it came out fine. Used a brim, though (don't want it rolling away!)


You should check that the steps per mm for your Z-axis are set correctly. This depends on the pitch of the leadscrews/threaded rods driving the axis and parameters of your steppers (microstepping and raw steps/revolution). This Calculator.

Make sure that your layer height is a multiple of a full step of the Z-stepper. The Z-stepper may be disabled intermittently, and when re-enabled it may "snap" to the nearest full step position. If your layer height requires microstepping, you may notice it getting rounded down or up due to this.

For instance, if a full step were 0.08 mm, then 0.16 mm layers would require 2 full steps, printing fine. 0.12 mm layers would require 1 full step and a half microstep. Due to rounding, some layers might be reduced to 0.08 mm instead. This might account for the height discrepancy you're seeing (though 0.08 mm is quite a high, unrealistic amount for a full-step).


What is the purpose of asterix (*) in Gcode?

That is a checksum. It's added by the host software to the G-code, to allow some basic verification by the firmware that the G-code was transmitted unchanged. It doesn't change the meaning of the G-code, and what your sequence actually represents is just M106, G28, M107. The N0,N1,N2,... are line numbers, and the combination of line numbers and checksums is used to request a re-send of any lines that were corrupted during transmission.


This is going to depend on your particular wants and needs.
Initial buy price is a big factor, obviously, but there are some other things to bear in mind:
What are you going to use it for?
If you're going to use it for printing, say, RPG miniatures, you might want to focus on SLA/DLP (resin) printer because they can produce very good detail at small sizes. But entry level SLA/DLP printers tend to have very small print areas.
FDM (filament) printers tend to have larger print areas but they don't tend to be quite as accurate when it comes to reproducing small detail. They have more material choices available to them, though: PLA, ABS, and PETG are sort of the basic three materials that an entry level printer can probably handle.
How much of a "tinkerer" are you?
Some printers are "open source" which means you are able to modify their firmware and/or hardware. For example, you might be able to upgrade the firmware and hot end of an FDM printer to allow you to print more exotic materials like nylon and PEEK.
That ability to tinker and modify your printer is great if that's the kind of thing you value. But it also means you might have to rely less on the manufacturer and more on the community if something goes wrong or you're unsure how to go about doing something with the printer.
How much are you going to use it? / How much room do you have?
The cheapest printer in the world is still too expensive if you never use it. Plus, it takes up space. This is something you really have to keep in mind: printers need space. Even if the printer itself is small, you might need to buy an enclosure for it.
You probably need a workspace nearby to finish your printed parts. I think resin printers need a space to setup a UV curing lamp to fully cure the resin of the printed parts, for example. If you print more than one type of material with an FDM printer, you need a place to store those extra spools of material.

You should check out 3d printing sites like those below to read their reviews because they will offer insights into things that might not even cross your mind to consider:

All3DP
3dsourced
ZDnet
CNet
3Dnatives


What does the velocity profile of the motors look like when they change direction?

The answer depends on the kinematics model in use. In Marlin there are at least:
Classic jerk
The "jerk", in units of mm/s not the expected mm/s³, is actually a "maximum instantaneous change" in velocity. Without any jerk (set to 0), your analysis would be correct, and all changes in direction would require slowing down to 0 velocity. However, with jerk, it's only necessary to slow down enough to make the necessary instantaneous change in velocity components less than the jerk limit. For a very slight change in direction (e.g. going around a curve approximated by line segments) this amounts to no slowdown at all. However, in this naive model, arbitrarily many bounded instantaneous velocity changes can happen in an arbitrarily small amount of time, essentially requiring unbounded acceleration capability and leading to missed steps/layer shifts.
Junction deviation
At each junction between segments where direction changes, the acceleration profile is executed as if the motion were cutting the corner in an arc, deviating from the exact corner by a distance of the configured junction deviation parameter. The actual step path still follows the sharp corner.
Others
I'm not really familiar with S-curve acceleration, but as I understand it it's a more advanced model fitting smooth curves to the travel path so that velocity can vary continuously, with bounded acceleration, rather than having jump discontinuities.
Klipper firmware also has a model very close to junction deviation, which its documentation explains clearly.


Intermittent Y-shift print issue only with multiple items

I initially tightened the tensioner for the x-axis belt pulley, which seemed to help. Then I double-checked my installation, and realized the belt for the x-axis was on upside down (belt teeth go in, smooth side of belt out).
So I guess it’s actually more surprising it’s been working well until now...


How to prevent bend (or warping) with M3D printer?

You can to print a brim, a thin layer on the bottom connected to the model. This will help hold it in place. Since it is thin (one or two layers) it will not warp itself.

The brim is not the same thing as a raft. A raft is under the model. The brim is on the same layer as the models bottom layer but outside the model. It looks something like this:

I assume that you use a heated bed if you have one?

Also, it is imperative that you get a good first layer. Calibrate your machine carefully.


How to theoretically calculate the maximum acceleration?

You do not appear to have a correct understanding of how microstepping affects torque.

What is calculated in the article you refer to is incremental torque. The word "incremental" is very important.

A stepper motor consists of a permanent magnet rotor and an electromagnet stator. The electromagnets generate a magnetic field, to which the stator wants to align itself. Imagine the stepper motor being at rest. As we apply a torque to it, the rotor will start to deflect from its resting state in which it is aligned with the magnetic field. As you apply more torque, the stator will deflect more.

Eventually, if we keep increasing the torque, the motor will no longer be able to hold its position and snap over to the next step. The torque at which this is happens is the holding torque. Essentially, you can think of the holding torque as the torque required to cause a full step deflection of the rotor's position (compared to where it would be aligned with the magnetic field). The deflection in response to a given torque load is called the static load angle.

The article calculates incremental torque for microstepping. The incremental microstepping torque is the torque required to cause a microstep deflection. So, if we are using half stepping, the incremental torque is the torque required to cause a half step deflection. Naturally the torque required to cause a half step deflection is (much) lower than the torque required to cause a full step deflection.

This is actually irrespective of what level of microstepping the motor is configured for. Causing a half step deflection requires the same amount of torque, regardless of whether the motor is using full or half stepping. All lower incremental torque means is that we're specifying the torque for a smaller deflection. It does not mean torque is reduced overall.

  I would expect many lost microsteps with the predefined settings.

You cannot "lose" a microstep. The rotor of a stepper motor has physical increments, and losing a step is when it snaps to the next increment. The only thing you can lose is a full step.

The stator of a stepper motor creates a rotating magnetic field. The rotor tries to follow this magnetic field, but (if under load) always lags behind it a little because the coupling between the two magnets behaves like a spring. In full-step mode, the rotating magnetic field moves in discrete steps. All enabling microstepping does is make the field rotate more "smoothly". However, it doesn't change the magnitude of the field.

If you were to look at the graph of the acceleration of the rotor on a very small time scale, you would get a sawtooth wave. Each time the motor made a full step (i.e., the magnetic field jumps), the acceleration would be high (as the misalignment between the fields would be large) and then gradually drop as the rotor aligned itself again with the magnetic field.

If you would use 16x microstepping, you would again see a sawtooth wave, but with a 16x higher frequency and with a lower peak-to-peak amplitude. However, the average value would be the same as for full step mode. The reduction in peak-to-peak amplitude corresponds to the reduction in incremental torque (and, for smooth acceleration, this reduction is actually good).

The main reason to be interested in incremental torque is to determine the positioning error. If you imagine the printhead being at rest, a single microstep may not cause any motion because the incremental torque is too low to overcome static friction. So, using 16x microstepping will not allow 16x as precise positioning. However, maximum acceleration is not affected.

The second part of your question, where you get the unrealistically low value of 52mm/s2, is based on a simple calculation error. The correct value is 52m/s2 or 52000mm/s2.


What is the influence of a lower BAUDrate?

Baud rate is the rate at which information is transferred in a communication channel, given as a number of bits per second (bps). So a baud rate of 250000 is capable of transferring a maximum of 250000 bits per second (31250 bytes/s). When working with serial ports, both ends of the communication line will have to "talk" with the same speed - the same baud rate - to understand each other.
So when using a baud rate of 11520 you will theoretically be limited to transfer data with about half the speed of 25000. If you are transferring large amounts of data, this might be a limiting factor for your application, but if you are not pushing the limits of your serial port, it probably won't matter at all.


How to setup PrusaSlicer to support long bridges

Regardless of the choice of long bridge support or short bridge support, Prusa Slicer 2.3.0 has a feature which allows forced support or allows forced no support.

In Advanced or Expert mode, there is an icon in the left tool bar for "paint-on" supports. The left mouse button paints on supports, while the right mouse button creates support blockers. Shift-left mouse button erases errant paint splatters.
There are more details in the linked video. It's not a parameter, but it is a means to determine where you want (or don't want) the supports.
According to a thread in the Prusa support forum, in order to have the enforcer and blockers operate as expected, configuration settings should be for supports off. This may have changed as the thread is older and may have been modified in newer releases.


How to slice a model to ensure at least a certain amount of filament per layer?

I think you have a major XY problem. The amount of material per layer is not what determines the part strength. Unless additional material is placed in a manner that reinforces against the stress you're designing for, it's just wasted. Moreover, infill in particular is not terribly useful this way, as infill has to rest upon the support of existing infill below it. If you suddenly increase infill density at a particular layer, it will not provide any significant additional strength because the added lines will be unsupported and will not bond strongly to anything. Even the next layer above them, and the next after that for quite a few layers, will not bond well because the unsupported lines can just bend downward when the nozzle goes over them, rather than providing a surface for the newly deposited material to press firmly against and bond to.

Generally, infill is not your main source of part strength anyway. I would start out (especially if you can test; if this is a one-off thing, the material cost is not going to be an issue anyway and just go with overkill) by increasing the number of wall lines (wall thickness). Walls generally provide the most strength, and the amount of material used will be proportional to cross-sectional perimeter rather than area, which typically will vary "linearly" rather than "quadratically" (I use these terms loosely since I don't know right off how to make it rigorous - what the independent variable should be thought of as being). My usual default (and I believe Cura's) is 2 walls; I would expect 4-5 to be very strong, and as long as you keep at least 15-20% infill, probably stronger than what you'd get by any increase in infill percent.


Cement or another solid pore filler suitable for ABS?

Some quick research shows me that ABS can be slightly affected by the composition of polyester resin. Automotive body repair filler, commonly called Bondo (brand name) is mostly polyester resin. I've found in my reading that some consider the "slightly affected" aspect to mean that it adheres well, others believe that the material will weaken and damage the ABS.

You could, of course, purchase some body filler and perform tests. It sands well and would certainly remove the layer lines.

If you determine that such material is not a good solution or would rather not take the gamble or perform the tests, you have an option with another product called microballoons or microspheres. It is a product that has an accurate description. The material is hollow spheres of glass of such tiny dimensions that they will blow away if you breathe on them.

The primary purpose of this product is to fill gaps, create fillets and similar structures without adding appreciable weight. One would use them with thin epoxy resin and mix to desired consistency. Some descriptions include "mayonnaise or peanut butter" depending on the application.

With both of these products, easily sanded is also in the description, although your choice of epoxy will also contribute to that aspect. Because the microballoons are mostly air, they do sand quite cleanly when mixed to heavy or thick consistency.


Adhesion problem when printing calibration test

What can you say just looking at this picture?

->There are 2 obvious observations that can be drawn from your image.

First, the bed does not seem to be levelled correctly, the right side (especially the front right corner) is closer to the nozzle than the left and left-back side.

  Is it possible to tell from this calibration print which corners are
  not leveled?

-> Yes, the front right corner is higher. The filament is much thinner there, it is more transparent than the rest of the lines.

Second, you have glass mounted onto an adhesion sheet similar to BuildTak. Note that such adhesion sheets are rough (to create more surface area for the filament to grip on), placing a sheet of glass on top of such a sheet will create small air pockets (less contact surface area to the glass plate as that is perfectly flat by its production process) and thus an unsatisfactory heat transfer process. Glass directly onto the Aluminium will have a higher temperature than with an insulator (BuildTak sheet) in between it, it is far more difficult to determine the bed temperature that way. For printing on glass, you could also raise the temperature compared to direct printing onto the metal bed.

  Should I increase or lower the temp?

-> When using glass on top of the heated bed, you should raise the temperature a few degrees.

You should remove the BuildTak sheet and put the glass directly onto the Aluminium heat bed or remove the glass plate and print on the BuildTak sheet directly, level the bed better or consider installing an auto-level (touch) sensor if your printer electronics board supports that.

  What are some tips for printing on glass?

Furthermore, use some PVA based spray (e.g. certain hairspray brands or specific print adhesion spray) or Polyvinylpyrrolidone based glues (certain glue sticks, white wood glue, etc.) to create a sticky surface for the filament to adhere to. I have great experience with PVA based sprays like 3DLAC, but there are great alternatives found in common household hairspray cans as well, as long as it contains PVA.

  Or is this just a general lack of stickiness issue (e.g. i need glue)?

-> Yes, Polyvinylpyrrolidone/PVA based glue/spray will result in better adhesion.

A general remark is that you could listen at what others have tried, but you need to find out yourself what works best for you. In order to get the print to stick to the glass, you should use every trick there is to get good adhesion. If PVA based sprays or Polyvinylpyrrolidone based glues work for you, use it, if not, print on bare glass, use tape, BuilTak, elevate bed temperature, overextrude first layer, use brims/mouse ears, etc..


There's only two ways to make sure it is pure PLA without color and additives:

Make it yourself. Order PLA-pellets for manufacturing and put them into a filament extrusion machine
Contact your manufacturer and ask them to do the above for you.

Note though that the pure PLA might have undesirable attributes for pritability that are fought with fillers and additives.


Are there any services that offer 3D scanning?

The right Google (or other) search should do the trick. I've provided 3D Printing services via 3D Hubs and MakeXYZ and some people do provide 3D scanning services. If you can't find 3D Scanning, you could try talking to a local machine shop. They might have the tools to be able to reverse-engineer the object, or know another place that can.


Ultimaker original X-axis not moving - possible electronics problem

I'm not sure I know exactly what is wrong or what steps you've taken so far, but it seems like your extruder motor is broken and you've narrowed the problem down to electronics.

If so, replacing the Arduino, motor, and driver leaves only the Ultimaker PCB as the source of the problem. I would suggest ordering another - but not until you've contacted Ultimaker with the problem you're outlining here.


It looks like those clips are thin and need to bend pretty far to let the vial out. Try to make the clips thicker, but with a smaller clip to retain the vial so that it doesn't have to bend as much.

This is what I'm thinking, in beautiful MS-PAINT form:


White PLA prints frequently have rough sidewalls near top of the print

If you want to change settings on some area of your part check out modifier meshes in Slic3r.

It looks like to0 much heat is delivered when solid infill starts and some melting occurs. See 3D Printing Problems #22: Extrusion Temperature Too High.

You can try:

Lower extrusion temperature
Lower filament flow
Improve part cooling
Lower print speed


Monoprice Select Mini v2 - Some Prints Freeze

If you go to the Monoprice website you will find a dedicated page for Ultimaker Cura.

From the page you can read that:

  Cura now includes profiles for the MP Select Mini V1 and V2. Go to
  “Settings”, “Printer”, “Add Printer…”, “Other”. Select the radio
  button next to the printer, then “Add Printer”.

So you must be able to configure it correctly for your printer (this must include the G-code flavor for your printer). Do note that Monoprice does nothing with the Ultimaker Cura installers, they simply link directly to the source at Ultimaker. Also note all the problems related to specific versions and how to fix them.

You write that the:

  The control board continues to show the print progress bar continuing.

This I have experiences myself (on a different printer with Marlin 1.1.8), so a non-printing printer while the progressbar progresses. I solved this myself by flashing to a newer firmware version. It appears to be a bug in the firmware.

You might want to explore whether it is feasible for you to update, I read that there are issues with this printer concerning firmware updating (it appears that there are different hardware versions of this printer).

E.g. from this reference:

  If your MPSM V2 currently has Motion Controller v34 or higher
  installed then you can update with this firmware.
  If your MPSM V2 currently has Motion Controller v30 or lower, do NOT update with this firmware.
  If you have Motion Controller versions 31, 32, or 33 please
  ask before updating with this firmware.

Although the changelog does not mention your problems, you may benefit from a firmware update. Please do this at your own risk, take precautions and read in the matter if your printer is able to be updated. It is best to first look into your settings how the printer is configured in Ultimaker Cura. Preferably, delete the current printer configuration and add a new configuration as described here.


Thanks everyone for the tips. I posted this question on another board and it was suggested my extruder was clogged. After unclogging everything works great again.


Describing G-code by start and end point versus end only

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands in the function void gcode_get_destination():

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.

Some extra information from G0 & G1: Move describing the usage of the feed rate:

  Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m
G1 X50 Y25.3 E22.4 ;

  Move and extrude In the above example, we first set the feedrate to
  1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding
  22.4mm of filament between the two points.

  G1 F1500                 ; Feedrate 1500mm/m
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m However, in the above example, we set a
  feedrate of 1500 mm/m, then do the same move, but accelerating to 3000
  mm/m. Everything stays synchronized, so extrusion accelerates right
  along with X and Y movement.


Settings to change when upgrading from Smart Extruder to Smart Extruder+

There are no "sensitive" params here. You just need to set it up like the regular Smart Extruder.

Like the original design, the Smart Extruder+ is supposed to make Replicator printers simpler to use, more reliable, and more future-proof. It automatically detects when the printer's filament runs out and pauses the job, notifying users via a desktop or mobile app. It also can be quickly swapped out upon wearing out or becoming obsolete.

Additional improvements include faster print start up and refined build plate leveling, the process of calibrating a 3D printer. The smart sensors within the extruder have been enhanced for better performance and to streamline the printing process from start to completion.

Improved components include:

A better thermal management system
Extended PTFE tube to feed the filament into the nozzle
Faster print start up
Refined build plate leveling and calibration

The enhanced smart sensors are a big part of the story here though in that they allow for better speed, along with savings on the bottom line too, keeping users informed about print status from beginning to end, whether from the PC or mobile app.


Ender 3 has developed a tendancy to skip Y steps

While I first experienced layer shifts a couple times before upgrading, only while using extreme acceleration settings (3000 mm/s² is fairly extreme for moving the bed), their regular occurrance, which is near-constant with some files, seems to have started after I upgraded the firmware to Marlin 1.1.9. Reverting to the manufacturer's firmware, with no mechanical changes to the printer whatsoever, has the same file printing now with no layer shifts. So I think it's safe to say that this is a firmware problem - either a bug in Marlin, or a problem with the Ender 3 configuration headers for it. The bug tracker suggests this kind of thing is an ongoing issue; here are two among a large number of related bug tracker threads:

https://github.com/MarlinFirmware/Marlin/issues/9768
https://github.com/MarlinFirmware/Marlin/issues/10446

I'll try the latest 2.0.x, and/or turning features off one at a time in 1.1.9, and see if I can isolate the cause, then open a new question about bugs in Marlin causing layer shifts if needed.


Anet A8 - SkyNet3D freezes randomly at boot

The Anet A8 is a low end printer which works better after installing a better (read safer) than stock firmware (stock firmware does not have thermal runaway protection which is considered to be a hazard). It is good that you flashed another firmware that does have thermal runaway protection.

The electronics of the Anet A8 are also questionable, the stock connectors are not rated for their task and wires could have been of better quality and thickness.

Now that your older SkyNet3D firmware does not boot properly anymore, it would be time to check all the leads, possibly use new wires of proper gauge and flash a new version of a more recent firmware. SkyNet3D has been forked from Marlin Firmware and is no longer maintained as all functionality has been implemented for Anet printers in the Marlin sources.

If your printer still is giving you problems then when booting, a new set of electronics (e.g. board and steppers) would help out.


What would cause a SLA printer to print a solid block of resin?

Is the laser (or whatever light source it uses) visible? The cloudy film sounds like a good candidate for light diffusion and thus solidifying the entire resin, but if there are visible components to the light source it may help narrow it down.

If it uses a projector ("LCD") solutions, it may also be that the display that filters the light to certain regions of the resin to selectively solidify the print may be at fault, but that's rather unlikely.

The first thing that, in my opinion, you should do is to check that the object you are printing does not have a corrupt model file. Assuming that you have spare, fresh resin (if your resin is old, that's actually the most likely issue...) and it wasn't too hard to pry out that block, you could try printing something else that worked in the past.

While it's doing that, you may be able to see where/how it is printing. If the beam diffuses or lights up the whole area, you can tell if it's a printer issue (the film sounds like a good first thing to try replacing in that case). On the other hand, if the resin is old, it's probably just getting oversensitive and your printer is fine.

The resin is very touchy with these things, and has a shelf life of a few weeks to a few months, and less if it's ever opened.


Constriction
PTFE-Tubes usually have enough stiffness to not require additional support and constriction from anything but the two end fittings and the stiffness the filament in them provides. In fact, they make great guides for cable management to the heater block! You might want to add some constricting clamps on very long tubes. To do so, zip ties and cable guide clamps are common. Don't make them too tight as they shall not cut into the tube!
You also shouldn't constrict them too tight: A bend diameter of about 12 cm is where I would pull the line for 1.75 mm PLA: anything lower and you might get problems. For 2.85 or 3 mm filament, you should use a somewhat larger diameter - I have seen good flow with about 20 cm bends. A very simple test can be done: Fix one end, load filament, pull at the other end while holding the second fixture close to the planned position. If you have an easy way, you're good.
Length
Length is tricky: you should not be too long, as that could add too much friction, but on a direct drive or when you pull filament from a dry box, there's little to no length limit on the tube through which you pull, there's only a maximum length you can push through effectively.
Diameter
The diameter of a tube on the pushing end of the extruder motor should be somewhat snug: 1.9 and 2 mm inner diameter are common for 1.75 mm filament, and 2.85 mm does work well in a 3 mm tube. 3 mm filament needs about 3.25 mm inner diameter. As a rule of thumb: add 0.15 to 0.25 mm to the diameter of the filament and get the closest available diameter to that.
On the pulling end of the extruder, a larger size can be used. Though don't go too large, like 10 mm ID, as at some point, as you might experience backlash and rattling in the tube, resulting in noise, and for very hygroscopic filaments (PVA or Nylon), the extra air in such a large tube could reduce the effect of printing from a dry box:

3.25 mm works well for both 2.85 and 3 mm and might still work for 1.75 mm filament on the intake side (Thank you for the insight FarO!)
a 4 mm ID on the intake-side can still work for 1.75 mm and mitigate extrusion problems on a Bowden-extruder (thanks @0scar)

In either case, you have to keep in mind the bending radii - don't overconstrain! Also, remember that you need to have a fitting coupling on the delivering and the receiving end.


This is an example of a right handed extruder setup:

And this is an example of a left handed extruder setup:

I believe that you can can choose whatever one you favor. With the right handed setup, you will be pushing down the red part with your right hand when inserting filament. With the left handed setup, you will be doing the same thing but then with your left hand. Personally, I favor the right handed setup (my right hand is my dominant and stronger hand). But, you should be able to choose whatever one you like! Be sure to check it will work with your printer though (extruder holder & hotend).


Slicer that exports vectors or pics for every slice

Your approach is one of many and you may find that Slic3r will do as you require.

There's a direct reference to generating SVG files (vector) at this link:
http://manual.slic3r.org/advanced/svg-output

You may have to create a printer profile based on irrational figures when compared to conventional 3d printers. Your 2mm "layer height" should be matched in the printer settings to an appropriate nozzle diameter for the desired result.

You may find also that Simplify3d will create such files, but it's not a free program.

An alternative to 3d printer slicing software would be to use OpenSCAD to import your model (or create it directly in code) and use the Projection command to generate the individual layers. I've done this and found it works well, but the process to learning the necessary code was time consuming, as I'm not a programmer.

You would also want to incorporate some form of registration in your model, cylindrical holes or external tabs to enable you to properly align each cardboard layer.

If you have a makerspace nearby or know someone with a suitably sized laser cutter, you may also save some labor cutting each panel, as the laser will accept the vector files easily.


Using Repetier Host V2.1.2 and slicing with Slic3r (or with CuraEngine), there is an "edit Gcode" button under the Print Preview tab.  It is located at the top right of the screen.  With that button you can access, examine and change the Gcode of the project you are working on.


How do I set the flow rate on my Ender 3 Pro and have it stay at that percentage?

Changing the flow rate during a print can not be saved. There simply is no way. It is usually meant to be a fix with filament inconsistencies or to look for the right extrusion factor for a new filament batch.
Slicer
The only way to consistently increase the flow rate would be  to alter the flow rate in your slicer to what you have found to work best for each machine, probably using separate profiles. This will up the rate for every subsequently sliced print. Note though that this 108 % increased extrusion is converted extrusion factors that are simply numerical and 1.08 times the normal in the g-code. These numerical values will be taken as 100 % by the printer - and since it requires extra work to slice the gode for different profiles it is not the optimal solution.
As you elaborated though, this is not a doable thing, so let's look further.
Source hunt & Workaround
Since only one printer is showing underextrusion while the others do not, it is time to check the hard- and firmware:

underextrusion can be caused by a defective extruder assembly or a damaged or blocked nozzle.
if a machine has consistent underextrusion, its steps/mm in the firmware might be off. This could be altered and stored in the EEPROM. Since this could be a machine unique setting, here would be your point of attack to increase the extrusion of just one machine while using the identical G-code to all other machines.

Note that the standard firmware of the Ender-3 in 2019 did not contain Thermal Runaway Protection (What is Thermal Runaway Protection?) and should be upgraded because of this anyway. You have to flash a bootloader too, so in the process of doing the upgradeability and safety-upgrade to all the machines, you could store the altered steps/mm to each machine individually so they get consistent output.


That looks like horrible underextrusion. Either the extruder steps/mm are way off, but more likely is that your nozzle is clogged (because I wouldn't expect the steps/mm to be this far off). It's also possible that the temperature you're printing at is inappropriate for the filament you're using. Also, make sure that the fan that is cooling the heatsink of the extruder is always on. If not, filament may soften in places it's not supposed to and jam.

Try heating the extruder up and pushing the filament through by hand. You'll probably feel a lot of resistance and the filament won't come out smoothly. You could try doing a couple of cold pulls, that is, put a piece of filament in while the hotend is hot, then let it cool down and attempt to extract the filament at the lowest possible temperature. This may pull debris or particles blocking the nozzle out.

If this doesn't help, there are various other ways of clearing a clog from the nozzle. One popular technique is disassembling the entire hotend and burning out all the debris from the nozzle with a blowtorch. Another is using a special drill bit to clear out the nozzle but this has a high risk of damaging it.


Since nobody had any idea what cause the problem, I investigated for a full week.
The problem is related to Fade Height and .... a warp bed, since I have ABL (Auto Bed Levelling) and Fade Height enable. The compensation was way too big, something like -1.4 or bigger.
So, after I bought a new glass bed and set the fade height to 0 the problem is gone and the prints are looking normal, like -.2 mm or -.3mm in heights.


What solder specs are safe to use when soldering wires to an Mk2a heat bed?

Old-style lead/tin solder has a melting range of about 180 to 250 degrees (the transition solid to liquid is spread out). This ought to be fine for the bed (even at the hottest hotspot) but wouldn't be good in the hotend.

Modern electronics lead-free solder varies since there are several different compositions, but is typically a bit higher in melting point (by some 10s of degrees).

Special high melting point solder transitions around 300C, but you would only need to use this in very specific scenarios.


A single angle, single phone model windshield mount -- a job for a 3D printer?

You'd need to print in a heat resistant material - ASA for example - and design the part for your needs, but this project is certainly feasible and doable with 3D printing. If that isn't enough for you, you could drill a hole to the internal cavity (it's best to have an infill pattern that does not split the internal cavity into several ones. Gyroid is one of these) and fill it with resin to make it even more sturdy.

With the right design, you could also go for SLA/DLP aks resin printing, but I am not well versed in the properties of printed resins but that they have some of the best inter-layer bonds.

If you don't want to get a 3D printer yourself, order the part printed, which usually comes cheaper than an entry-level printer with better quality for a one-off project as you won't have to learn the ins and outs of your printer and how to ensure the quality in the material you choose. Some print services also provide really exotic materials.


What's a good way to secure bushings in a 3D printed part?

If the outside of the bushing will bond well to the epoxy, your method is simple and likely to be effective.

You could use the same method used for threaded inserts by roughing the exterior of the bushing, heating it and forcing it into a correctly sized hole printed in the model.

The threaded inserts are knurled or otherwise textured to provide stronger bond with the melted plastic. Knurling your bushing is more complex than a good epoxy bond.

I've discovered a product called "castable bushings" which would appear to meet the above requirements for heated inserts:

The product listing indicates that these are used for drilling jigs.

It might be less messy but more expensive to purchase and use these as opposed to epoxy and a bit of sanding.