text:
G29 Auto Grid Leveling Doesn't Do Anything
I have an Ender 3 Pro, recently added a BLTouch v3, flashed a bootloader, and I'm now attempting to configure TH3D U1.R2.15 firmware.
I have only modified configuration.h, haven't touched any other file, and configured it using the inline comments as a guide.
Everything seems to work ok, apart from it doesn't do a grid/mesh level before the print. G29 has been added just after G28 in Cura in the Start gcode box.
When I print something, this happens:

Bed + hotend heats up.
X/Y get homed.
Nozzle moves to the center.
BLTouch slowly comes down to probe the bed twice to set the level based on that one single center point.
Primes the filament and begins the print...

I'm not sure what the correct sequence is but I would have thought it should probe 9 points in a grid as I have set #define EZABL_POINTS 3.
Have I missed something in the config?
configuration.h (have omitted all other printer sections to allow stackexchange to accept the rest of the file)
/**
* ************** How to use this firmware - READ THIS, yes actually read this. *********************************
*
* Uncomment means removing the 2 // in front of #define.
*
* FLASHING NOTES:
* ALL slicers (Simplify3D, Cura, Slic3r, etc) or anything else that connects to the COM port must be CLOSED for the firmware to be flash.
* If anything is connected to the COM port when flashing it will fail, typically "access denied" is listed in the error section of the Arduino IDE.
* You MUST use the Included Arduino IDE to flash the firmware if on Windows and if you are on a Mac or Linux follow the guide in our knowledgebase to setup your IDE to work with the firmware.
*
* EZABL SETUP NOTES:
* If you have EZABL uncomment the mount you are using with the printer.
* If you have a custom/unsupported mount uncomment #define CUSTOM_MOUNT and enter your offsets
* below in the CUSTOM MOUNT section. Refer to the EZABL guide to get your offsets.
*
* STEP 1:
* Select the correct board from the tools menu for the printer you are flashing.
* Read the printer title for the model you are flashing, it will show what board to select.
*
* STEP 2:
* Uncomment the printer you want to flash. The printers are sorted A-Z by brand name.
* If you are using the Creality Dual board with the Ender 3/Ender 5/CR-20 then read the specific section below in that printer section on how to do this.
*
* STEP 3:
* Select the COM port your printer is on from the Tools menu. If you do not see the COM port try
* downloading the latest drivers from the manufacturer or TH3D site on our knowledgebase.
*
* STEP 4:
* Verify you have the correct board selected, printer model uncommented, and if you are using EZOUT and/or EZABL
* the lines you need to use them are also uncommented.
*
* STEP 5:
* Once you have your settings verified click the arrow in the upper left to upload to the board.
*
* STEP 6:
* Reset your eeprom. You can send M502 then M500 to reset the EEPROM OR on the printer LCD go to
* Control > Reset EEPROM to clear out the EEPROM to defaults.
*
* BOOTLOADER FLASHING NOTES:
* For flashing your bootloader with an Uno make sure to select Arduino as ISP for the programmer
*
* There are other features in the TH3D Extras section so look there for V6 Hotend,
* Bootscreen settings, Titan Extruder and more. You only need to edit this file.
*
* ERROR NOTES:
* If you get errors flashing READ the message it gives you and double check that you selected
* the correct board from the Tools menu in Arduino. Turn off any AV systems and reboot the computer.
*
* COMMUNITY REQUESTED FEATURES NOTE:
* All features in the community requested features section are provided as-is with no support from TH3D.
*/

#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#define CONFIGURATION_H_VERSION 010109

//===========================================================================
//============================ TH3D Configuration ===========================
//===========================================================================

// ONLY UNCOMMENT THINGS IN ONE PRINTER SECTION!!! IF YOU HAVE MULTIPLE MACHINES FLASH THEM ONE AT A TIME.

//===========================================================================
// Creality Ender 3 Options - Select 'Sanguino 1284p' from Tools > Board
//===========================================================================
#define ENDER3

// If you are using our EZOut V1/V2 (connected to LCD header) filament sensor kit please follow the install guide
// and then uncomment the #define EZOUT_ENABLE line below.
// Do NOT ever connect our filament sensor without the supplied adapter board.
//#define EZOUT_ENABLE

// EZABL Probe Mounts (Ender 3 uses the same mounts as CR-10)
//#define CR10_OEM
//#define CR10_VOLCANO
//#define CR10_V6HEAVYDUTY
//#define TM3DAERO
//#define TM3DAERO_EXTENDED
//#define PETSFANG  //This is the RIGHT mounted version - if using the left mount please use the CUSTOM_PROBE option.
#define CUSTOM_PROBE

// TMC2208 Creality Board Setting - uncomment this to set the driver type if you are using the TMC Creality board
//#define TMC_CREALITY_BOARD

//=================================================================================================
// README - THE BELOW SETTINGS ARE ONLY FOR USING THE CR-10S DUAL BOARD WITH THE ENDER 3
// DO NOT UNCOMMENT THE ABOVE #define ENDER3 LINE IF USING THE DUAL BOARD
// Select 'Arduino Mega 2560' from Tools > Board - NOT Sanguino
//
// To use the Ender 3 LCD with the CR-10S dual board board connect the LCD cable to EXP1 on the
// CR-10S board but rotate it 180 degrees. The LCD end of the cable goes to EXP3 on the Ender 3 LCD.
// You will have to force it into the EXP1 but it will fit and work.
//
// EZABL and EZOut support are still supported just use the lines above this comment section.
//=================================================================================================
//#define ENDER3_DUALBOARD

// Dual Extruder Board Options - The below options are for use with the TH3D CR-10S Board with dual extruder support.

// If you are using a single hotend with the 2 into 1 adapter OR mixing nozzle uncomment the below line
//#define DUAL_EXTRUDER_SINGLE_HOTEND

// If you are using a dual hotend with dual nozzles uncomment the below line
//#define DUAL_HOTEND_DUAL_NOZZLES

// If you are using a 2nd EZOut V2 (connects to Y+ connector) filament sensor kit please follow the install guide
// and then uncomment the #define EZOUTV2_DUAL_ENABLE line below. Do NOT ever connect our filament sensor without the supplied adapter board.
//#define EZOUTV2_DUAL_ENABLE

// Use Ender Bootscreeen instead of TH3D
//#define ENDER_BOOT

//===========================================================================
// *************************  END PRINTER SECTION   *************************
//===========================================================================

//===========================================================================
// EZABL Advanced Settings
//===========================================================================

// If you want more or less EZABL probe points change the number below (only used if EZABL enabled)
// Default is 3 which gives you 3x3 grid for a total of 9 points. STICK WITH ODD NUMBERS
#define EZABL_POINTS 3

// If you want to probe in on the bed more than 15mm change this below.
// Do not use 30mm for the Standard CR-10/s or the S4 as you will be on the bed screws.
// Try 50mm to avoid the binder clips if you use them. Do NOT go under 15mm here.
// You can do down to 10mm on the Wanhao i3 since it cannot print on the entire bed.
// You can do down to 5mm on the Wanhao i3 Mini since it cannot print on the entire bed.
// (only used if EZABL enabled)
#define EZABL_PROBE_EDGE 15

// If you have issues with your machine running the faster probe setting disable the #define EZABL_FASTPROBE below.
// DO NOTE: Most machines will work with the fast probe enabled. Use M48 to verify accuracy.
#define EZABL_FASTPROBE

// This will disable the XYE motors during probing. Can be useful if you have stepper motors causing interference issues with the EZABL sensor.
//#define PROBING_MOTORS_OFF

// Heaters will stay on during probing - only use if directed to by support. Do not use on AC beds.
#define HEATERS_ON_DURING_PROBING

// Letting the bed heat recover between probes can increase accuracy due to the bed warping during cooling/heating
// Enabling the below option will let the bed get back to temperature during probing but will increase probing times.
//#define WAIT_FOR_BED_HEATER

// If you want a more granular control over the babystepping uncomment the below line.
// This will make the adjustment finer than the standard setting.
//#define FINE_BABYSTEPPING

// This will extrapolate the implied tilt of the bed outside of the probe area. Do not comment out unless directed by support.
#define EZABL_OUTSIDE_GRID_COMPENSATION

// Does your machine make weird noises/vibrations when it is probing the mesh? Enable this to slow down the speed between probe points.
//#define SLOWER_PROBE_MOVES

//================================================================================
// IF YOU HAVE A CUSTOM PROBE MOUNT OR ONE THAT IS NOT PRE-SUPPORTED UNCOMMENT THE
// CUSTOM_PROBE OPTION IN YOUR PRINTER SECTION AND ENTER YOUR PROBE LOCATION BELOW
//================================================================================
#if ENABLED(CUSTOM_PROBE)
  /**
  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0).
  *   X and Y offsets must be whole numbers.
  *
  *   In the following example the X and Y offsets are both positive:
  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10
  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
  *
  *      +-- BACK ---+
  *      |           |
  *    L |    (+) P  | R <-- probe (10,10)
  *    E |           | I
  *    F | (-) N (+) | G <-- nozzle (0,0)
  *    T |           | H
  *      |    (-)    | T
  *      |           |
  *      O-- FRONT --+
  *    (0,0)
  */
  #define X_PROBE_OFFSET_FROM_EXTRUDER -44  // X offset: -left  +right  [of the nozzle]
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -7  // Y offset: -front +behind [the nozzle]
#endif

//===========================================================================
//******************** EXTRA FEATURES AND TWEAKS ****************************
//===========================================================================

// TH3D RGB LED STRIP ------------------------------
// If you are using the TH3D RGB strip connect to the Z+ endstop connection, power supply connection, and uncomment the below line
//#define TH3D_RGB_STRIP
// If you cut the strip shorter please count the LEDs that are left, uncomment the line below, and change the number below to how many LEDs you have.
#define TH3D_RGB_STRIP_LED_COUNT 20

// EXTRUDER SETTINGS -------------------------------

// If you want to change the Esteps for your printer you can uncomment the below line and set CUSTOM_ESTEPS_VALUE to what you want - USE WHOLE NUMBERS ONLY
#define CUSTOM_ESTEPS
#define CUSTOM_ESTEPS_VALUE 138

// If you are using an TH3D Tough Extruder, Bondtech BMG (set steps below to 415), or E3D Titan Extruder
// uncomment the below line to setup the firmware to the correct steps and direction. Also applicable to Titan/Tough Aero setups.
//#define TITAN_EXTRUDER
#define TITAN_EXTRUDER_STEPS 463

// DUAL HOTEND SETTINGS ----------------------------

// This is the distance between each nozzle tip when using a dual hotend like the TH3D Tough Dual Hotend or the E3D Chimera or Dual hotends.
// This setting only applies to printers using a dual extruder board.
#define DUAL_HOTEND_X_DISTANCE 18.0

// THERMISTOR SETTINGS -----------------------------

// If you are using an E3D V6 Hotend with their cartridge thermistor (not glass version) uncomment the below line.
//#define V6_HOTEND

// If you are using a Tough Hotend from TH3D or any thermistors TH3D sells for your hotend uncomment the below line.
//#define TH3D_HOTEND_THERMISTOR

// If you are using a thermistor TH3D sells for your bed uncomment the below line.
//#define TH3D_BED_THERMISTOR

// If you are using a Keenovo with SSR and the Keenovo temperature sensor uncomment the below line.
//#define KEENOVO_TEMPSENSOR

// If you are using a known hotend thermistor value uncomment the below 2 lines and enter the thermistor number replacing the X after the #define KNOWN_HOTEND_THERMISTOR_VALUE
//#define KNOWN_HOTEND_THERMISTOR
//#define KNOWN_HOTEND_THERMISTOR_VALUE X

// If you are using a known bed thermistor value uncomment the below 2 lines and enter the thermistor number replacing the X after the #define KNOWN_BED_THERMISTOR_VALUE
//#define KNOWN_BED_THERMISTOR
//#define KNOWN_BED_THERMISTOR_VALUE X

// If you want to make thermal protection periods less or more adjust below. The number is in seconds.
// If you are getting false thermal runaway then increase the protection time. Do not make it over 300 for either setting.
#define HOTEND_THERMAL_PROTECTION_TIME 60
#define BED_THERMAL_PROTECTION_TIME 180

// BED SETTINGS ------------------------------------

// If you want PID tuning on your bed you can enable the below line. But PID on a bed is not typically needed. By default BED PID is disabled.
// This will be disabled when using automatic or manual mesh leveling with a 1284p board due to memory limitations.
//#define PIDBED_ENABLE

// If you are using an AC bed with a standalone controller (Keenovo) uncomment the below line to disable the heated bed in the firmware
//#define AC_BED

// Stock bed max is 120C for this firmware. Enable this to allow temps up to 150C. Your bed must support this temp for it to achieve the higher temperatures.
//#define BED_HIGHTEMP

// MISC --------------------------------------------

// If you have a 5015 fan that whines when under 100% speed uncomment the below line.
//#define FAN_FIX

// Use your own printer name
//#define USER_PRINTER_NAME "Ender 3"

// If your printer is homing to the endstops hard uncomment this to change the homing speed/divisor to make it less aggressive.
//#define SLOWER_HOMING

// BOOT SCREEN OPTIONS -----------------------------

// Use TinyMachines Bootscreen instead of TH3D
//#define TM3D_BOOT

// Disable Bootscreen completely
#define DISABLE_BOOT

//===========================================================================
//****************** COMMUNITY REQUESTED FEATURES ***************************
//===========================================================================

// HOME OFFSET ADJUSTMENT --------------------------
// If you need to adjust your XY home offsets from defaults then you can uncomment the HOME_ADJUST_LOCATION line below and enter your
// custom XY offsets. This is provided for convenience and is unsupported with included product support.
// How to use - measure (home XY then jog using the LCD 1mm at a time) the X and Y distance the nozzle is off
// the build plate and then put those as NEGATIVE values below, positive values will NOT work (move your endstops to fix a positve offset).
//#define HOME_ADJUST
#define X_HOME_ADJUST_LOCATION -10
#define Y_HOME_ADJUST_LOCATION -10

// LINEAR ADVANCE ----------------------------------
// See here on how to use Linear Advance: http://marlinfw.org/docs/features/lin_advance.html
//
//#define LINEAR_ADVANCE
// Change the K Value here or use M900 KX.XX in your starting code (recommended).
#define LINEAR_ADVANCE_K 0
// NOTE: If using linear advance along with EZABL on a printer with 1284p some Control > Motion menus will not be displayed due to space restrictions.
// You can still change these via GCode commands.

// BL TOUCH ----------------------------------------
// If you want to use the BL-Touch install your EZOut Board, uncomment the 2 lines below, uncomment the CUSTOM_PROBE option in your printer section,
// and then enter your probe offsets in the CUSTOM_PROBE section above. The Pin 27 boards on eBay are clones of our original EZOut. If you want to
// support the people that originally came up with the board you can get our EZOut breakout board here: http://EZOut.TH3DStudio.com
// Sales from our shop allow us to allocate time for community firmware development at no charge to you. <3
// If you have a V3 BL Touch also uncomment the BLTOUCH_V3 line to fix issues with the new V3 probe.
//
#define BLTOUCH
#define BLTOUCH_V3
// Here is where you set your servo pin. EZOut Servo Pin Numbers: Ender3/5/CR-10 - 27, Ender 2 - 29. For 2560 boards look for the pin you connected the servo wire to and enter below.
#define SERVO0_PIN 27
//
// NOTE: On 1284p boards due to space limitations and the large amount of code the BLTouch requires for the LCD Menus
// the Bootscreen and some Control > Motion menus will not be displayed due to space restrictions

// MANUAL MESH LEVELING ----------------------------
// If you want to use manual mesh leveling you can enable the below option. This is for generating a MANUAL mesh WITHOUT a probe.
// Mesh Bed Leveling Documentation: http://marlinfw.org/docs/gcode/G029-mbl.html If used with a 1284P board the bootscreen will be disabled to save space.
// NOTE: If you want to automate the leveling process our EZABL kits do this for you. Check them out here: http://EZABL.TH3DStudio.com
//#define MANUAL_MESH_LEVELING

// POWER LOSS RECOVERY -----------------------------
// Continue after Power-Loss feature will store the current state to the SD Card at the start of each layer
// during SD printing. If this is found at bootup it will ask you if you want to resume the print.
//
// NOTE: This feature causes excessive wear on your SD card. This will disable junction jerk,  SCurve Acceleration, and Linear Advance due to RAM limitations.
//#define POWER_LOSS_RECOVERY

// MOTION SETTINGS ---------------------------------
// There are 2 new acceleration/jerk controls available in this firmware that can result is better print quality and
// smoother movement. To try each out just enable them below.
// Due to Anet board restrictions this is always disabled on those machines.
//#define JUNCTION_DEVIATION_ON
//#define S_CURVE_ACCELERATION_ON

//================================================================================================
// Language - This is provided for convenience and is unsupported with included product support.
// We only test compile with English language. If you run into space issues disable some features.
//================================================================================================

/**
 * LCD LANGUAGE
 *
 * Select the language to display on the LCD. These languages are available:
 *
 *    en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, eu, fi, fr, fr_utf8, gl,
 *    hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8,
 *    tr, uk, zh_CN, zh_TW, test
 */

#define LCD_LANGUAGE en

#include "Configuration_beta.h"
#include "Configuration_backend.h"

#define UNIFIED_VERSION "TH3D U1.R2.15"

#endif // CONFIGURATION_H

Cura Start GCode
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate
M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate

G28 G29 ;Home

G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up

G-code is read line-by-line, see e.g. Is G-code read line by line?. If the posted start G-code is the actual used G-code, G29 is not executed because it is on the same line as G28. This means that in:
G28 G29 ;Home

G29 simply is ignored (it is not recognised by the interpreter as parameters for G28). This should be changed into:
G28 ;Home
G29 ;Perform bed leveling

Ahh!! yes of course! I even knew that so I should have spotted that myself. I think I just blindly copied the G28 G29 on one line from somewhere... I think it was the creality BL Touch instruction sheet that came in the box with the BL Touch! I'll give this a try later today... thank you!


text:
Understanding water soluble support structures
I've just done my first print on an Ultimaker 3 Extended and I'm slightly disappointed with the results, so I'm trying to understand how I can do better next time.
My first print
Preparing for printing I naively just dropped the two stl files into Cura, set the recommended layer height and infill, selected support (defaulting to Extruder 1), deselected adhesion, ran the slice, saved the g-code and started the print running. Luckily the head 1 did have the same PLA AA 0.4 filament that Cura assumed.
When the print finished, I stripped out the support structures, cleaning out the hollow, and cleaning off lots of stringy loose filaments between the lower support and the bottom edge of the print.
Even after cleaning up though, the overhanging structure above the support structure turned out to be very rough with many individual filaments visible and in irregular positions, rather than the nice concentric lines in the slice.
My first attempt to optimise the print
Looking at the completed print I realised that there would have been only a fraction of the support structure, and probably clean edges, if the part had been oriented as a d rather than as a p (the rough surface being the bottom of the p overhang).
I re-ran the slice in d orientation and that saved 10 minutes of print time, and a 100 mm of filament, so I know I'll definitely need to look out for that in the future. I can also see how that would fix the problem with the external overhang separating out into loose threads, since that face would no longer be an overhang.
Trying to add water soluble supports
After the first fix, I wondered what I could do with the second extruder and realised that it was filled with water soluble PVA filament. This made me wonder if this would have helped with the internal overhang.
I Configured Extruder 2 as PVA BB 0.4 and selected Extruder 2 for the support structures and re-ran the slice.
I was surprised that the it was now taking 40 minutes longer and using almost 470 mm more filament!
Looking at the slices, Cura had created a huge PVA scaffolding on the outside of the print, leaving the inside, where the previous PLA support had been, completely empty:
vs.
This was not what I was expecting.
Questions

Why didn't the slicing algorithm place PVA support structures inside the overhang, in the same way as it placed the PLA support structures?
What is the reason for the external scaffolding, and how does it help support the internal overhang, which now has no internal support at all?
Is the behaviour I expected possible, advisable or configurable in Cura? If so, what options should I be looking at, if not is there other software that does support this?

Owning the Ultimaker 3 Extended and having printed kilometers of filament on this printer I can tell you that printing with PVA, apart from the slicing problems you mention, is not easy as it looks. PVA clogs up very fast and is very hygroscopic. Moist PVA will make popping sounds on extrusion and is prone to failing. PVA is not my preferred solution. An alternative solution is to use break-away filament, my colleagues have some reasonable good experience with that.

Why didn't the slicing algorithm place PVA support structures inside the overhang, in the same way as it placed the PLA support structures?

The difference you report could be caused by the slicer settings. I get exactly the same results if you set the slicing parameter Support Placement to Touching Buildplate (first image), or Everywhere (second image).
vs.

What is the reason for the external scaffolding, and how does it help support the internal overhang, which now has no internal support at all?

To answer the scaffolding part of your question, that can only be explained by being the decision of the developers. There must be very good reasons for doing it like this as a similar support structure is generated in other slicers, e.g. Slic3r (actually this is caused by a slicer setting, see this answer explaining why the scaffolding is caused). Some slicers do have options to change the support type, e.g. Slic3r has the option pillars, which creates pillars without external scaffolding:
vs.

Is the behaviour I expected possible, advisable or configurable in Cura? If so, what options should I be looking at, if not is there other software that does support this?

Playing with the settings to reduce the amount of PVA as suggested in the comments by enabling the type of extruder for specific parts of the extruder I was able to create a solution without scaffolding. This solution only uses PVA for the bottom and top layer of the support structure.

The shown settings1) produce a support structure with PVA top and bottom layers:
or
Where the latter image is in material color; black PLA and natural colored PVA

1) It might be worth mentioning that by default, the Support section doesn't show the Support interface extruder options and you have to go into Preferences and check the Setting Visibility option for those to appear.

Ah, you're right, I was playing with the Touching Buildplate earlier and must have left it enabled for the screen grab, which explains the missing fill in, but not the reason for the external scaffolding in the first place. Thanks for the PVA advice though. This is not my machine, just one I have access to, and I'm not comfortable with changing it's setup yet.

@MarkBooth I would - if I had access to a 2-head-printer with PVA, print the later from the drybox, and because of the pricetag on PVA filament, use the mode that only prints the top layers of a support structure in PVA, so that the price is reduced to a minimum.

@Trish Guess what I bought! :) The PVA is sitting for 2 months in the drybox, will test it again soon.

@MarkBooth Dry the filament before printing for good measure - it can't hurt. A good method can be a food dehydator.

Thanks @Trish, It sounds like it might be worth adding an answer with this extra info. Is that mode available in Cura, or would I need to look into other software? FYI, the printer is in an air conditioned lab inside an air conditioned building. The humidity is pretty low anyway. I'll take that into consideration when I get my printer at home working though. *8')

@Trish I've updated the answer to your and Marks comments

Very interesting, thanks for the update. I wonder if it's down to the strength of the PVA material, possibly it needs the extra structures to support itself, which is why the 'boundry only' PVA solution doesn't need that extra scaffolding.

It might be worth mentioning that by default, the Support section doesn't show the Support interface extruder options and you have to go into Preferences and check the Setting Visibility option for those to appear.

@MarkBooth Very good suggestion! This is so normal for me that I frequently forget to mention this. I have bluntly copied your comment into the answer. :)

What is the reason for the external scaffolding...?

Reading through the Ultimaker support page, I discovered that there is a Support horizontal expansion option in the Support section of the Custom Profile.
This appears to default to 0 mm for PLA, but defaults to 3 mm for PVA, which explains the difference in slicing behaviour.
If I set Support horizontal expansion to 0 mm, then I get the support I originally expected:

Ultimately though, the solution proposed by Trish and detailed in Oscar's answer using PVA just at the interfaces would be a much better solution, given the cost of PVA.

This was new to me, learned something! Thanks for this answer, much appreciated!

source: Stack Exchange

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

sort: votes


text:
Can I use a 12 V single channel optocoupler module in a 24 V machine?
I have a Tevo Tornado Gold 24 V. I want to use this LJ12 A3-4-Z/BX Inductive NPN NO 4 mm with 6-36 V operation current as a Z probe. I do not want to fry my machine by putting in 24 V into the sensor input.
What do I have is a 12 V, single channel optocoupler isolation module.
I want to know if this 12 V optocoupler module can be used with a 24 V power supply, or do I need another module in order to prevent me frying my sensor.
If I do need another what would I need?

Welcome to 3dPrinting.SE! I'm really not sure what you're asking here ... could you please edit your question and clarify exactly what you are trying to do?

I have a tevo tornado gold 24 V . So I want to put this LJ12 A3-4-Z/BX Inductive NPN NO 4 mm with 6-36 V operation current.
I do not want to fry my machine by putting in 24 V into the sensor input: What do I have is a :
12V 1 Channel Optocoupler Isolation Module Isolated Board No Din Rail Holder PLC Processors 80KHz PC817 EL817
i want to know if this optocoupler is ok to set up or do i need another in order to prevent me frying my sensor.

Please EDIT this information into your question. You can click the edit link which is just below the tag, which is below the body of the question.

If you gave us a link to the actual Optocoupler Isolation Module you refer to, we could advise. It might be that you only need to add a resistor to limit the current to the optocoupler's LED or it might be that it would need extensive modification.

You will never fry the sensor, as this can take 6 V to 36 V. You can fry the module as it is rated for 12 V and not 24 V.

You can safely use the module with 24V.
The input side shows a red LED, optocoupler and 1k resistor in series. The LED and optocoupler probably have a voltage drop in the neighbourhood of 3.1-3.5 V put together, so for a 12 V input you will get a current of approximately 9 mA-.
For a 24 V input voltage the increased current will cause a slightly higher voltage drop, but even if the voltage drop remains as low as 3.1 V the current will still only be 21 mA. This is well within the rating of the optocoupler (similar optocouplers are often rated for 60 mA) and slightly pushing the rating of the LED (similar LEDs are usually rated for 20 mA) but it will probably be fine.
For extra peace of mind you could connect an additional resistor in series with the input. The "ideal" value (that is, to keep the current identical to that at 12 V) would be 1.3 kΩ, though any small value resistor (above 100 Ω) would be fine.

Not using a 12 V rated module "on its own".
Using a 12 V/5 V optocoupler to try to connect 24 V to the 5 V circuit is running the optocoupler outside of its rating, meaning you will destroy it, either immediately or after a short time.
A properly rated one
To shield the 5 V against the maximal 24 V from the probe without extra parts, you will need to use a 24 V/5 V optocoupler.
Trickery with voltage dividers
With a 50 % voltage divider made from two properly rated resistors, you could limit the voltage to the optocoupler, which in turn would turn the 24 V signal into a 12 V signal, which would protect our optocoupler and the board beyond.

so in short use 2 resistors

As a voltage divider before the input, yes.

or just double the resistance of the OC's LED to keep the current (about) the same at the double voltage; the input side of an opto is literally just an LED, which cares about current, not voltage. a voltage divider approach would have to be somewhat carefully chosen and balanced to not get too hot, waste power, or starve the OC's LED of intensity that would keep the output saturated.

@dandavis only if you know what type of LED is used and what kind of resistor is already mounted before... one of which you can't know: the LED.

The advice to use a voltage divider is bad. The module requires a certain amount of input current, which will cause additional drop in the voltage divider, making a "50%" voltage divider give a voltage lower than 12V. To get the "right" voltage divider you need to measure the existing LED and resistor. The advice to use a voltage divider is still bad. It's much better to use a single current limiting resistor. The second resistor in the voltage divider does nothing except waste power in this case.

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


text:
How can I become a certified Fusion 360 user?
I heard about the certification program from autodesk website.
How can I prepare and write this certification exam as a student? I already started using fusion 360 about a month.

Hi and welcome to 3DPrinting.SE! Although questions on tools to design 3D printing parts is on topic, asking for a certification program may be considered off topic. Please take the [tour] and read the [help] pages for more information.

Start with registering at their website and go from there.  There is a PDF of a list of things you have to have mastery in:

SKETCHING

Sketch Creation
Create Dimensions
Constraint selection and creation
Edit a sketch
Project Edges
Edit a Sketch

DRAWING

Creating a Drawing View, Base, Projected, Section, Detail
Add Annotations
Editing a Created View
Edit Border and Titleblock

SCULPT

Create a Form
Edit a Form
Thicken a Form

DIRECT MODELING

Feature Deletion
Press & Pull Tool

ASSEMBLY MODELING

Create and Manage Top Level Assembly and Subassemblies
Create a Component From a Body
Align and Assembly Joints
Interference
Rigid Groups
Motion Studies

ADVANCED MODELING

Sweep and Loft
Boundary Fill
Split and Combine bodies

PART MODELING

Create extrude features
Apply Fillets and Chamfers
Create complex hole features
Create revolve features
Create a pattern of features
Create a shell feature
Create Construction Planes and Axes
Inspect command; measure, and section analysis

While the links you posted may provide the information, you should bring the information here and use the link as a reference. Links can become stale. If your answer becomes outdated in the future, it can be updated. Link only answers can be removed as an answer.


text:
Wanhao Duplicator i3 Mini - Not reaching temperature -> screen freezes
I have been having some issues with my Cocoon Create Model Maker/Wanhao Duplicator i3 Mini. The hotend doesn't get up to temperature.
I will go to any of the heating functions (start print, preheat, add filament, etc.) and it will begin to reheat the nozzle. The temperature rises until eventually, it stops at any number that is not the desired print temp and the screen freezes. Sometimes it will stop at 150 °C sometimes 180 °C. It all seems quite random but the screen is frozen when this happens.
If anyone had any thoughts it would be much appreciated. My last printer was abandoned due to a similar issue and it's incredibly frustrating.

The solution was posted in a comment, as the asker hasn't posted an answer yet, it is answered in this community wiki answer:

Ended up replacing the thermistor which solved the problem.

Maybe, the thermistor is not fully seated and does not measure temperature effectively.
Try inserting the thermistor into the hole by filling the gaps with metal wire or conductive paste.


text:
Printer head too low when printing
Problem
My CR-10 printer seems to be trying to print the model 4 or 5 layers too low. This means that for the first few layers, the printing nozzle is forced against the bed, preventing extrusion until the print reaches higher layers.
Outcome
This results in the bottom part of the print having the internal structure visible and the printing head deteriorating. I had to remove the old nozzle because it was clogged up with what I believe to be some residue that was picked up during preceding prints.

note: On this print, the top part is almost-well printed. It cannot be seen in pictures, but I say "almost" because the well-printed part is still much thinner than expected. This is the result of my purposeful mis-leveling the bed so that the part where the printer "homes" is higher than the lower part. I did this to see if there was any obvious bending of the printing bed. Doesn't look like there is.
Fix attempts

I have tried to re-level the bed multiple times, but it doesn't matter as the "too low" effect is independent from the location on the bed.
I have tried using the printer's built-in Z-offset but to no avail. This might be due to the fact that I control the print through Ultimaker Cura 4, so I tried looking for the Z-offset property in Ultimaker Cura and even though internet says it exists, I failed to find it.

History
The printer used to work perfectly well and I do not remember having changed anything before the problem arose. I recently changed the nozzle and made sure to tighten it as high as possible but the Z-offset problem still persists.

what is the thickness of the first layer? I use 0.2 mm for it to ensure I don't 'squish' it too much

For my on-going print 0.16 mm
I've tried several layer thicknesses, it doesn't seem to affect the offset problem :-/

Have you checked that everything is still assembled correctly? For example, the z-axis screw connector might be a bit loose, or the bed might wobble, or the z-axis stop microswitch asembly could be loose.

Thank you all for your time, I fixed it. See my answer below for a good laugh at my lack of understand how a CR-10 works -_-

TLDR; Make sure the bed isn't too high, the z-axis should reach the end-of-rail indicator without forcing against the bed

So it appears I simply misunderstood (or mis-assumed) the way my printer works.
For some reason I believed that it was the printing head, while auto-homeing, that was defining the "point zero" for the z axis. Didn't realize, even after disassembled the whole head block, that there was no such mechanism built in.
While zeroing it before starting my on-going print I noticed the "click" of the end-of-rail switch for the z-axis while the head was forcing against the bed, desperately trying to reach that damn switch. Then it all clicked together ...
What happened:
For some reason a few weeks ago I decided to level the bed by raising the z-axis by spinning the its driving wheel by hand, taking it very far from the end-of-rail stopper. Ever since then I've been leveling the bed this way, not realizing I was preventing the head from reaching end-of-rail without having to force against the bed.
So yeah, just took the bed as far down as possible, made the printer auto-home and leveled the bed from there, as it should be done, and my print is now going very well.

One thing to watch out for is, if the z-axis limit switch ("end-of-rail indicator") assembly is fastened to the vertical member in the same way as it is on the Ender 3, it can be tricksy in how the lock nuts seem to be locked when you tighten the screws but aren't when you need them to be.

Did you verify the Cura z-offset actually changed the corresponding G-Codes?
I had the opposite problem on my RF1000. To fix the problem I added the following 2 lines to my start G-Codes:
M3001 ; Activate Z-Compensation
M206 Z-0.3 ; Set z offset 0.3mm closer to the nozzle

The first line was default in some example prints and is (as far as I know) only used by Renkforce printers. The second line moves the nozzle closer to the bed. In your case you'd have to move it further away and would need a positive Z value.

Was in the process of trying to send these GCodes to cura, so to decide what value to give it decided to watch the printer while it did a "auto-home" to guess the needed distance. Then when I realized what the problem was and wrote my answer below.
To thank you, your answer led me to fixing this non-problem :-)


text:
Raised shell edges on ocarina print. RF1000 sliced with Cura Engine
I am trying to print a 12 hole Ocarina I found on thingiverse. When printing I have to stop it around 25-30 layers because the edge of the shell is higher then the infill.

G-Code of first 30 layers
I tried changing the infill, wall size, speed and retraction settings to no avail. The settings of the example print were:

100% infill
0.2mm layer height
40mm printing speed (average)
1mm shell thickness (results in 2 layers)
Automatic infill patern
Printed at 210C with 3mm PLA (like this one)
Printed on a RF1000
Sliced with CuraEngine in Repetier-host V2.1.6.

Does anyone know what might cause this and how I can prevent it from happening?
Any help is greatly appreciated! :)

What kind of temps are you running this at? Everything is melted, which would imply you've got this thing running hot. Also, what type of filament? I don't see you mention either in your question, which is VERY important in giving a diagnosis.

My bad forgot to mention. I use PLA and print at 210C.

What size of nozzle are you using? What's your bed temp (if using a heated bed)?

And are you sure you've got the printer set to print at 3mm and not 1.75mm for filament thickness? You are extruding a lot of material.

PLA should be perfectly happy at 190-195.  That will help with the melt and sag.

Thanks for the help!
I got this printer second-hand and I believe the nozzle was replaced. The original one was 0.5mm however I'm not sure how to make sure the current one is aswell. I did check the settings and the filament thickness is 3mm.
The bed temp is 60C. I tried lowering the print temperature to 190, this does help with the sagging but didn't solve the problem of this print. The odd thing is that with other prints I haven't had any of these problems. At first I thought the infill percentage caused this (I'd never printed anything at 100%) but lowering the percentage doesn't help.

According to the manual:
Printing layer thickness: 0.05 - 0.3 mm.
Nozzle diameter: 0.5 mm

210 is a perfectly good temperature for PLA. Lower is harder to get right.

Can you put the gcode on a better pastebin site? This one has a broken raw/download link making it virtually impossible to analyze the code.

Do a proper 3D printer calibration: https://gist.github.com/dewi-ny-je/39934df3ec76f3dc683e6d128a97b424

I think the solution in your self-answer is just a partial mitigation for an underlying problem, and your expectations for output quality are way too low.
From the pictures in the question, there's serious overextrusion and stringing going on. The stringing could be caused by a secondary problem (bad/insufficient retraction settings), but heavy overextrusion will cause there to be extreme residual pressure left between the extruder gear and the nozzle (especially in a bowden setup, though it's not clear what printer you're using or if it has a bowden tube) that retraction will be unlikely to sufficiently relieve, so it's also a characteristic consequence of overextrusion.
As Pᴀᴜʟsᴛᴇʀ2 noted in a comment, having the filament diameter set to 1.75 mm while your printer actually uses 3 mm filament could cause this. Cura (especially CuraEngine invoked via command line rather than the GUI) is particularly bad about getting this wrong if you don't pass the options in exactly the right way.
Note that lowering the infill percentage as you did would help get somewhat decent results with serious overextrusion, since the excess material has somewhere to go (into the unfilled part of the infill region). But you'll still be getting really bad (what I would call unacceptably bad) prints compared to what you could/should get.

Managed to solve it by lowering the temperature to 190C. I also lowered the infill down to 25%. Thanks for the advice!
I posted the make with results and settings on thingiverse.

There's serious overextrusion and stringing going on here. You may have filament size wrong and retraction settings badly wrong. If so, it's possible that lowering the temp and infill (esp lower infill will partly compensate for overextrusion) made it print okay-ish, but I think your expectations are just really low.

190°C is quite low for PLA. It won't be a strong part.


text:
How do PLA, PETG, TPU, ABS and/or nylon work together in a single print?
I have a dual-extruder printer with a separate heating element for each head, thus able to combine materials in a single print job even if they don't share a single temperature range.
Now the question: When (outside of using expensive dedicated support material or doing multicolor prints for aesthetic reasons) is this actually useful?
Of common printable filaments (PLA, PETG, TPU, ABS, nylon):

Do some of these materials work well (which is to say, substantially better than just doing a single-material print with same-material supports) as breakaway supports for others?
Can some of these materials be dissolved in household solvents that don't harm others?
Do some of these materials adhere to each other strongly enough (and have sufficiently similar profiles in how they shrink on cooling) to reliably generate finished pieces comprising of both? (Especially relevant for anything+TPU, where one might want to generate a design with some soft or rubbery components).

Of course you can only have one bed temperature.  Switch materials during the print will probably be like starting a new first layer.

@Perry  I would hope the OP isn't going to switch materials in the middle of the first layer!   So long as he doesn't, the bed temp can remain constant.

To be fair, in the breakaway-support case, I could very well end up wanting to switch materials in the middle of the first layer, so bed temperature compatibility is an important consideration! Moreover, as I read the second half of @Perry's comment, it's advising that some of the concerns involved in getting a good first layer could be equally involved on getting a solid immediate-post-switch layer, making similar workarounds/adjustments (such as short-term overextrusion, temperature increase, or fan reduction) necessary; that's solid advice, and something I hadn't thought about before.

The answers are

yes
yes
probably

Which is to say, if you only want to use MaterialNumberTwo for disposable supports, then you should be fine. Presumably the slicer software is material-aware and adjusts the feed so the layer heights are the same for both materials. BUTbe careful that the support material isn't higher-temp than the object material, or supports which start from the object rather than the bed may cause local melting or distortion when the first layer is deposited on the cooler-melt material.
But if you want to try to intertwine two materials for the final product, then certainly bonding will be a major risk, as will shrinkage during cooling (not to mention the risk of melting the lower-temp material while depositing the higher-temp material on top of it!).  If at all possible I'd recommend printing such parts separately and fitting them together post-print.

For bonding it's probably best for the materials to have close to the same thermal coefficient of expansion.  For supports it would be better for them to be as different as possible so that maybe the supports will release after cooling down the bed.

I suppose this is what I deserve for asking if any members of a class exist, rather than for specific examples of same :) -- I appreciate the advice given; that said, I might end up doing some experiments looking for specific combinations that work in practice, and adding my own answer should that yield useful results.

@CharlesDuffy I'd imagine PETG + TPU should work well. Similar nozzle temperatures, similar bed temperatures. Only the thermal expansion coefficients seem to differ, and, for TPU, highly depend on hardness.

I have printed ABS on top of PLA and it has bonded well.  It was simple, then "campaign"-style buttons with Prusament Galaxy Black on the bottom and HatchBox white ABS on top.  There was no tendency to warp, as I would expect if the ABS were shrinking more than the PLA.
I expected this to not work, but I needed white on black and these were the filaments I had.


text:
Arduino Mega and RAMPS 1.4 not responding
I was working on upgrading my Anet A8 to a RAMPS 1.4 running on Marlin. I had everything ready to go and had plugged it in to see if it worked. It seemed to be working so I tried to home it and my y end stop was not on. The printer ground for a second and before I could stop it the whole thing shut off. Now it won’t seem to turn back on. I had originally though it was an issue with the power supply, as I plugged it into my computer and it worked fine. But now when I plug it into my computer the backlight comes on and it shuts off. On the Arduino Mega the only lights that come on are two red ones. Does anyone have any idea what may have caused this?

Does the Arduino Mega still work? Remove the RAMPS entirely then try uploading something like the blink script and see whether the onboard LED will blink or not. Try with USB power first, then connect the RAMPS and try with power from the power supply. It could be a burnt power regulator. The onboard regulator can only handle the power draw of the RAMPS itself and all the sensors, but it cannot handle the additional power draw of the LCD. You should add a switching (aka buck) converter to your setup if you want to use the LCD.

Ok I’ll try that. If that is the case and the power regulator is fried is there a way to replace it or is the board shot?

You can try to desolder the old one and solder on a new one, but it is going to be hard since it's an SMD package. If it is broken that only means you can't power the Arduino with anything other than 5v. The component you want to look for is "AMs1117-5.0" The better solution is to use a buck converter as I told you, because if you replace the regulator and continue using it in your current setup then it will eventually break again. Meanwhile you can power the Arduino via USB and everything else via the power supply and the printer should work that way.

The board is just shot. Ill have to buy a new one. Thanks for the help though! I really appreciate it. I'm newer to the arduino side of it. If you know of a tutorial on how to make all of it work is id really appreciate it if you could share it with me.

It's going to be much better to just buy a new board. Soldering SMD components isn't rocket science, but it requires a bit of experience and helps to have reasonable tools (like a hot air rework station).

That’s my plan. I’m just having trouble finding a good source for the actual upgrade. Do you have any you recommend?

authors: Боян Папазов


text:
OpenSCAD weirdness with imported STL
I've tried to remix this model: https://www.thingiverse.com/thing:90933 (Bauhaus chess set) by scaling it down and inserting little magnet holes into the pieces' underside. My SCAD file looks as follows:
difference() {

    scale([0.5,0.5,0.5]) import("Bauhaus2Set.stl");

    translate([ 6, 11  ,0]) cylinder(h=20.5,r=2.5,center=true,$fn=20); // WTH?

    // King/Queen
    translate([ 6, 11  ,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);
    translate([-6, 11  ,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);

    // Rooks
    translate([ 6,-11.5,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);
    translate([-6,-11.5,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);

[...]

Note the third line with "WTH?" - I've done quite some trial-and-error, and if I remove that line, then I don't get any subtracted holes anymore when I render the whole thing (F6). In preview (F5), the holes are always present, but in the final render, I need to include the larger subtracted cylinder or it won't work.
The STL file seems to be fine in itself, what's going on here?

What are the z extents of the original model?

OK, I confirmed that the original model doesn't extend below z=0, so I think this is either a bug in openscad or (probably more likely) an error in the mesh.

It is interesting that the WTH line and the next line both should remove a cylinder of the same diameter from the same location.  Only the height is different.
It could be interesting to remove the first King/Queen line and see if there is a change.
Have you checked the STL file with another tool, other than OpenSCAD?  There may be a kink in the STL that confuses the geometry engine in OpenSCAD.  The first difference could be catching the kink, and the second one carving out the magnet body in the bottom.

Also maybe try intersection instead of difference to see what happens.

Excellent explanation, thanks. The "WTH" cylinder is centered on the queen piece, and that has a sphere with lots of faces on top. So it looks like the "kink" is inside the queen where the sphere and the base cube overlap, and by accident, my trial-and-error removing of cylinders also removed just the right spot.

I see you've accepted cmm's answer, but I'd still like to take a stab at the mechanism of the failure based on your comment on it:

Excellent explanation, thanks. The "WTH" cylinder is centered on the queen piece, and that has a sphere with lots of faces on top. So it looks like the "kink" is inside the queen where the sphere and the base cube overlap, and by accident, my trial-and-error removing of cylinders also removed just the right spot.

My guess is that if you look at the triangle set of the STL file, you'll find the interior of the queen contains the parts of the cube that are inside the sphere and the parts of the sphere that are inside the cube; they may not even be clipped to meet each other properly where they cross each other's surfaces. Sadly there are lots of tools producing invalid STL files like this. The longer cylinder is probaly sufficient to overlap with where the cube and sphere cross, forcing OpenSCAD to break down the model in that region and recompute the mesh where the components overlap. Without that recomputation, the differences likely end up interacting with just the "sphere part" of the STL mesh.
This explanation also seems to be consistent with the description of the thing on thingiverse:

I much preferred the style of Bauhaus set that TeamTeaUSA's designed, but there was a lot of fiddling with the queen and the knight wouldn't print without supports. So I nestled the queen's sphere further into the body so it would print standing up, added supports for the knight and plated the whole thing.

where it looks like the creator took someone else's STL files and moved parts around to create an overlap, likely without proper tooling that could regenerate a valid mesh.


text:
Why are delta bots so finicky?
I've had my anycubic kossel for a good while now, and whenever I print something, it seems like it falls out of calibration very quickly. The biggest example is that the prints tend to scale up as the print progresses, or maybe the print starts to drift, and comes out slanted. This seems to never happen in any similarly priced XYZ printers. Why is this? Do XYZ printers just have an inherent advantage over deltas? Perhaps Deltas have some precision loss?

user77232's points are valid but I have done several things to mitigate these issues on my Anycubic Deltas.
First, both of my deltas have linear slide bearings. If your's has the bearing trucks that run in the extrusion slots this will lead to less precise operation and also is a source of wear over time.
Second, be sure that the end stop micro switches are positioned precisely and that their fasteners are tight. You may also want to use a mild strength Loctite on their fasteners. When operated at high extrusion rates all components are subject to significant vibration.
Third, I found that the universal joints are also a significant source of play. I remedied this to some degree by placing rubber bands across the arms at both ends so that the play was minimized. The rubber bands should be wrapped fairly tightly to perform this function.
Forth, I try to tune the belt tension so that all of the belts have the same note when plucked. There are smart phone apps that will help do this. I believe that one that I use is from Gates, a premium manufacturer of drive belts. Also, over time belts stretch so you will need to retension them periodically.
Fifth, run through the firmware calibration process regularly for both positional accuracy and for filament extrusion and retraction variables.
I don't use my deltas much any more since purchasing a popular XYZ type printer but it cost me three times what they did and it still has issues from time to time.

I have the rails that look like this

That is the type, linear guides or slides, that mine have. These are the best kind to have. But as with all things quality varies. If they slide smoothly, are tight i.e. they have minimum off axis movement and are solidly affixed to the frame then these are not a source of your error.

(The XYZ Printers are called Cartesian Printers)
Delta printers are harder to get right, because they require precision parts. The arms have to be EXACTLY the same length, the frame must be square, the universal joints must have no slop. You should check to see if any of the universal joints need replacing, and that the length of the arms are equal.
Deltas however are some of the fastest robotic platforms due to the low mass of the end effector.


text:
Make holes in PLA print
I have  a print I need to make holes in.
I have read some other threads where the answers was in short, "don't, print the holes", and "make sure to make the hole from the top or bottom".
The problem is I need the hole in the side of a print with about 1 mm walls.
The holes I need is to run a USB cable in and a few to hold 3 mm LEDs.
One of the holes needs to be 10 mm.
What is my best option?
I read that there is a risk it cracks, so I was thinking maybe I can use a soldering iron for the smaller holes?
That will melt the plastic and create nice smooth walls, right? Less risk of cracks?
The piece will not be loaded in any way, it's just holdin it's own weight.
I never anticipated that it would be an issue to drill holes in prints. If I had known it I might have tried more to change the print before ordering it.
(I don't have a printer to make a new one with.)
Note: The part has already been printed. This is a question about post-printing processing, not modelling for a new print.

You're going to have to drill those holes. The plastic will melt if you drill too quickly. If at all possible, use a slow speed drill, a hand drill, or wrap a cloth around a drill bit and twist it with your hand. If you go too fast, the part will melt. If you press to hard the part will break.
Once the hole has been drilled you will need to reinforce it with a metal/plastic tube of the required diameter. Press the tube into the hole. I don't know what your wall thickness is, but try to ensure the tube is the same length.
If at all possible you should get flanged tubes like these from mc master car:

The parts with the 1/2 inch inner diameter and 5/8 outer diameter should fit your 10 mm requirement. The rest is up to you. Go to mcmaster.com/inserts scroll down to "Other Inserts" then "Tube and tube fittings".

Thank you for the pointers, I will go slow and steady!

3D-printed parts should not be so fragile that they crack from drilling holes. However, the material will melt if you drill fast, so go very slow. Also, they're usually not printed with solid infill. If you drill a hole in a thin wall (typically around 1.6 mm or less) then the sides of the hole should be solid just from the printed wall thickness, but if you drill a hole through something thicker, you'll create an opening into the sparse infill space in the object's interior. This might affect the strength of the part and will allow air/water/etc. to enter the interior, which probably doesn't matter for your usage case, but it's something to be aware of too.
A soldering iron set to around 200°C is a perfectly good way to make holes too. It's harder to control the precise location and size of the hole, but if anything it will strengthen the part.
For future reference, it's a much better idea to just include holes in your design to be printed. As long as they're either round (as opposed to flattened ovals/square/etc.) or small, pringing holes horizontally should not be a problem. Vertically oriented is better if they'll be under load, but for passing wires or mounting things not under serious load either should be fine.

Thank you! It's just a model house and any air coming in will make no difference.

Drilling in thin walls might be very tricky, you can easily get holes bigger than anticipated, especially when there is infill in between walls (less than 100 %, as the drill may shift position of the internal infill structure). Note also that printed material can split very easy.  You can also solder holes into the walls. There are special tools available on the market, e.g. this one can create fine or big holes, I've used it for quite some time:

I believe it was printed with 20% infill. Is that good or bad? Since the holes are supposed to be on the backside or inside then I have to mess up bad for it to be noticed even if I do it badly, special tools are hopefully not needed

Drilling Works in PLA
Drilling is not difficult.  As others have said, a slow drill wins the race.  For some holes, I hold the drill by hand (or in a hand-help chuck) and use it as the rotary knife it really is.
It will be better if you put some support under the hole.  It also may help to put a layer of masking tape over the front, marked with the location.  As with any critical drilling, start with an undersized drill and expand with another drill.
A Melting or Hybrid Approach May Be Better
Since this is printed plastic, thin walled, and nicely meltable, I would drill a hole undersided by a mm or two and then expand it by melting the plastic with a hot soldering iron.  If you gush up the edges enough, you will accomplish a solid wall, which will be stronger than a separated front and back surface.  Since the gushed up hole will probably not be circular, and may have lobes that are too small an opening, I would do another pass with the proper sized drill.  If the plastic is still a little soft, you can use the back of the drill as a forming tool to expand the opening to be the right size.
What I Would Try First
PROTIP or HACK, you decide:  For making small changes in PLA parts, I have placed them in water heated to 160-170 degrees F.  This softens everything a little, and you can make small changes.  You might be able to punch a hole with an ice pick and finish it with the back of a drill.  If the ice pick doesn't make a hole, heat it with a hot-air gun (or hair dryer).

I discovered a trick to drilling holes in plastics and its works well with PLA, too.
First print your part with a somewhat undersized hole and, with your selected drill bit, run the bit backwards while seated in the printed hole.  You can often use increased speed to create more heat from friction, but be careful when applying a little pressure on the bit and always remain aware that the bit could push through at any instant.
If you run the bit in its usual direction, it will more likely, and suddenly, bite into the plastic and make an ugly hole or split your print.

As a follow up on this I wanted to post some pictures of the result with only the soldering iron.
I was soldering some cables and when it was still hot I figured I could give it a go.
The hole is on the underside and in a closed compartment so it's not visible.
Anyways, about 3 mm hole at this point and quite pleased with the result.


text:
Replacing RAMPS 1.4 for 1.6
During the assembly of my printer, I accidentally shorted the RAMPS 1.4 board, looking for a replacement I found the RAMPS 1.6 which would eliminate the need for a MOSFET power module.
My question is, could I simply replace the RAMPS 1.4 for the 1.6 or should I make any other modification?
My printer is a Prusa i3 Graber Clone running Marlin

RAMPS 1.6 is very similar to RAMPS 1.4. Most, if not all, of the changes are hardware improvements, without making the core functionality different. Looking at the incremental changes between versions:
To quote from RepRapWiki: RAMPS 1.5

The RAMPS 1.5 is a variation of the popular RAMPS boards that, like
all other RAMPS boards, is plugged into an Arduino Mega for operation.
The layout of the RAMPS 1.5 is virtually identical to that of the
RAMPS 1.4. The only real difference between the two are the MOSFETs
and the fuses.

To quote from RepRapWiki: RAMPS 1.6

The RAMPS 1.6 is the second RAMPS iteration released by
BIQU/BIGTREETECH. It replaces the original green power connector with
a pair of screw terminals, adds a larger heatsink over the MOSFETS,
and has a larger bed MOSFET. It maintains the surface-mounted fuses
and flush MOSFETS of the RAMPS 1.5.
Also, the positions of the D1 and D2 diodes have been swapped from the
positions in RAMPS 1.4, the D1 diode is now the diode closest to fuse
F2. The same is true for RAMPS 1.5, also manufactured by
BIQU/BIGTREETECH.

So, in short, yes, the RAMPS 1.6 should be a direct plug in replacement for the RAMPS 1.4.
That said, you may be able to salvage your RAMPS 1.4, if you can locate the part that has given up the "magic smoke". It could just be a blown capacitor, or diode. There have been a number of questions relating to that, so it might be worth searching for answers here, on SE.3DP1.
It is probably also worth reading RAMPS 1.4, 1.5 or 1.6?

Additional links
An interesting video, where a variety of RAMPS 1.4 boards are compared, is the first of a series, RAMPS series 1 of 5 - Intro and board comparisons - although beware the loud music...
There is also a RAMPS 1.6 Plus, and a RAMPS 1.4.2 which might be worth considering. I wrote up about these, briefly, (disclosure) in my personal blog, a couple of years ago: 3D Printer control boards.

Footnote
1 Such as How drastic is reversing the polarity of the power supply to a RAMPS board?, which might be relevant in your case.

Great! Thanks for the answer, I did thought about  repairing the board, but decided to stick to a plug and play solution this time.

You should also consider just buying a proper board instead of another outdated RAMPS. The price difference is almost negligible these days.


text:
Too long time to wait for M109 to stabilize when changing extruders
I would like to kindly ask for some advice.
I've got 2 extruders and 2 nozzles, they are working fine. I'm printing from Ultimaker Cura 4.1 generated files. I have problems with temperature stabilization when changing extruders.
What happens is this:
Prints from one of the extruders (E0 first). Then it goes to switching to E1, so it heats E1 and cools down E0 (to 175 °C, configurable in Ultimaker Cura). Very quickly temperatures are established, but Marlin seems to have problem seeing it (Possibly they are always +/- 1 degree above or under desired temp. I decreased Time Hysteresis, and increased temperature gaps but still facing the same problem. Sometimes changing from one nozzle to the other one takes 40 minutes!. After the temperature is finally stabilized it prints correctly. But another change from E1 to E0 will cause another next 20-40 minutes of waiting.
Does someone knows how to properly set or what should I set - since changing Hysteresis seems to not change anything (even if changed from 10 to 2) Maybe some different parameter is for me to use?
I've decreased residency time and still nothing. I've got 4 seconds now in the configuration.
I've tried PID tuning with M303, but no changes with this.
Configuration looks like this:
#define TEMP_RESIDENCY_TIME 4
#define TEMP_WINDOW 5
#define TEMP_HYSTERESIS 6

But still this waits for too long for M109 to stabilize.
Ultimaker Cura changing code looks like this:
G92 E0
T1
G92 E0
M105
M109 S190
M104 T0 S180
G1 F1200 E9.5
G1 F600 Z4.3
G0 F7200 X161.114 Y156.121
G0 X159.678 Y157.201
M104 S200

Probably changing all the M109 to M104 would correct this but this is nasty workaround.
Printer is modified Tevo Tarantula.

Why do you need to stabilize the temperatures on each nozzle change?

i dont need it. Cura just do this by default. If someone know how to disable this in cura - it would also solve my issue.

How are you measuring the nozzle temperatures to know that the temperatures have stabilized?  If not through the thermistors, then there are several avenues to explore.

Yes, through normal reading on the display, so it's through thermistors.

This is a delayed follow up.   Sorry.   The display shows both head temperatures?  I've mostly run multi- head through Repetier Host with a printer that lacks a display.   RH only displays the selected head temperature,  although all heads are available in the log file.

Yes, I see both temps on screen.


text:
Ultimaker Cura is adding redundant top/bottom layers
I'm trying to print a supporting base which will house the spindle for an electrostatic rotor. It's basically just a truncated cone with a hole down it's center to house the spindle.
For reasons that I cannot fathom, Ultimaker Cura keeps on adding an unrequested top/bottom layer (color-coded yellow in the screenshots) inside this hole, so instead of a single hollow cylinder of 10 mm depth, the result is a hole only a few millimeters deep with another hollow cylinder behind it.
Here is the intended model, note the open space for the hole at the top.

Here is the inner view of the hole being printed as expected:

Finally, here is a layer view of the print a few millimeters from the final top layer with the unrequested top/bottom layer that covers the spindle hole:

The STL file is on Github (with a built-in viewer).
Can anyone help me understand why this is happening?

Did you try to heal the stl in a program like MeshLab and slice the healed model?

No, I created a VTK file using Pygmsh and then converted it to STL using ParaView

It would appear that your model does not conform properly to STL standards. I base this conclusion on a couple of factors. When I loaded the model into Simplify3D slicer, it displayed fine, but when sliced, displayed nothing. Using the onboard repair feature, it presented the entire model as being composed of non-manifold surfaces.
Meshmixer's Analysis/Inspector feature also highlighted the entire model as flawed.
Another observation is that there is an extraordinary amount of facets/triangles/faces to this model. Nearly three-quarters of a million triangles for something that should be much simpler.
The most recent version of Prusa Slicer 2.0 presents an error message indicating that no layers were detected. This is peculiar indeed.
All of the above points to a problem with the source file or the software used to create it.
Please consider to add to your post the program you used or the source of the model.

I created the mesh using Pygmsh which saved it as a VTK file. I then converted it to STL using ParaView. I can provide the source later this evening after work but it does seem that my STL file is indeed abnormal and that I should probably use a canonical CAD program.

From my brief bit of research, I see that Pygmsh is a facilitator for gmsh, which appears to be founded strongly in coding. To that end, consider to check out http://www.openscad.org for a scripting type 3d modeling program. Your cone might be three modules, maybe four at the most. Two cylinders (base and cone) and another cylinder subtracted from the union.

OpenSCAD is perfect, so much easier than my previous approach!

I'm happy to hear that you like it. It's my first attack program, unless the part/model is severely organic in shape.

I had the same issue exporting from Sketchup to STL. I imported my STL to Tinkercad and then exported it again and it resolved my issue.
Tinkercad is a free and online tool.


text:
Does acid dissolve PETG 3D prints?
I want to print a lemon squeezer and I would prefer to use PET-G. I don't know if it is safe to use, because lemons contain lots of citric acid. Does it dissolve PETG? I haven't found an answer anywhere on the Internet. There are generally few things that dissolve PETG. These are aromatic compounds like toluene, phenol etc.
I know my model will be food safe, as PETG is food safe, I'm using one without a dye and my nozzle is made out of steel, not brass. I think bacteria growth inside little gaps/between layers is impossible, because the citric acid is quite strong and will kill nearly all of the germs.

According to kmac-plastics, PETG is stable at temperatures below 50°C specifically for citric acid (also acetic acid) and others on the linked list. It is also safe with diesel oil and many alcohols. The list is illuminating with respect to the variation of tested compounds.

The PETG is food safe (plastic water bottles are made of them), however the colour additives may not be a) stable, or b) food safe. If you are going to make a lemon squeezer then I would suggest that you use a virgin material that is just pet-g with no additives.
However, you could only ever use it one. Any food particles that get stuck in between the fine layers of the printed part, will cause bacterial growth. If the walls are porous then the juice can get inside of the part and create a breathing ground.

Yes, I know that the dye might not be safe with food, the filament I'm using for this project doesn't have any dye/additive. But yes, that's a good point. As for the bacteria, I've heard that the citric acid in lemons makes it significantly harder for germs. I think that's true, because I once kept lemons cut in half in a fridge and  they were still perfect after two weeks.

Hmm... using citric acid to sterilize 3d printed objects. I wonder.


text:
Help with my G-Code to change filament change mid-print
I'm using Ultimaker Cura, and I want to change the filament for a print that I'm attempting at layer 15. The problem I'm having is that I also need to use G-code to load and unload the filament with my BMG extruder. This is the script that Ultimaker Cura created for the post-process to pause at layer 15.
;current layer: 15
M83
G1 F3000 E-25
G1 F300 Z4
G1 F9000 X100 Y100
G1 F300 Z15
M104 S25; standby temperature
M0;Do the actual pause
M109 S215; resume temperature
G1 F3000 E25
G1 F3000 E-25
G1 F300 Z4
G1 F9000 X101.7 Y137.3
G1 F3000 E25
G1 F9000
M82
G92 E763.80547
G4 P1

This is what I usually use to unload my filament:
G21 ;Metric Values
G90 ;Absolute Positioning
M109 S205.000 ;205 Unload
G92 E0 ;Reset Extruder Positioning
G1 E10 F100 ;Extrude 10mm filament
G92 E0 ;Reset Extruder Positioning
G1 E-600 F1500 ;Retract Filament completely
G92 E0 ;Reset Extruder
M400 ;Wait Command
M117 REMOVE FILAMENT NOW ;LCD Message
M400 ; Wait Command

And to load:
G21 ;Metric Values
G90 ;Set absolute positioning
M109 S205.000 ;Preheat PLA
M300 S440 P200 ; Tone
M300 S660 P250 ; Tone
M300 S880 P300 ; Tone
G4 S5 ; Wait 5 seconds
G92 E0 ;Reset Extruder Position
G1 E380 F1500; Fast Feed of 380mm filament
G92 E0 ;Reset Extruder Position
G1 E100 F200 ;Feed 100mm filament slowly
G92 E0 ;Reset Extruder Position
M400; Finish Move

So this is what I came up with, will it work?
;current layer: 15
M83
G1 F3000 E-25
G1 F300 Z4
G1 F9000 X100 Y100
G1 F300 Z15
G92 E0; Reset extruder position
G92 E-600 F1500; Retract Filament Completely
M104 S25; standby temperature
M0;Do the actual pause
G92 E0; Reset Extruder Position
M109 S215 ;Preheat PLA+
G1 E380 F1500; Fast Feed of 380mm filament
G92 E0; Reset Extruder Position
G1 E100 F200; Slowly Feed 100mm
M104 S25; Standby Temperature
M0; Do the actual Pause
M109 S215; resume temperature
G1 F3000 E25
G1 F3000 E-25
G1 F300 Z4
G1 F9000 X101.7 Y137.3
G1 F3000 E25
G1 F9000
M82
G92 E763.80547
G4 P1

Welcome to 3dPrinting.SE!

Try it and tell us if it works!

First things first imho: M0 to stop the stamp. I dunno which firmware are you using but it should wait you to press a button on the LCD (Marlin does it).  After that it run the gcode to unload and load the filament, resume temperature (M109 S215) and go ahead with the stamp.
This is my final version:
    M83
    G1 F3000 E-25
    G1 F300 Z4
    G1 F9000 X100 Y100
    G1 F300 Z15
    M0 ;Do the actual pause
    G21 ;Metric Values
    G90 ;Absolute Positioning
    M109 S205.000 ;205 Unload
    G92 E0 ;Reset Extruder Positioning
    G1 E10 F100 ;Extrude 10mm filament
    G92 E0 ;Reset Extruder Positioning
    G1 E-600 F1500 ;Retract Filament completely
    G92 E0 ;Reset Extruder
    M400 ;Wait Command
    M117 REMOVE FILAMENT NOW ;LCD Message
    M400 ; Wait Command
    G21 ;Metric Values
    G90 ;Set absolute positioning
    M109 S205.000 ;Preheat PLA
    M300 S440 P200 ; Tone
    M300 S660 P250 ; Tone
    M300 S880 P300 ; Tone
    G4 S5 ; Wait 5 seconds
    G92 E0 ;Reset Extruder Position
    G1 E380 F1500; Fast Feed of 380mm filament
    G92 E0 ;Reset Extruder Position
    G1 E100 F200 ;Feed 100mm filament slowly
    G92 E0 ;Reset Extruder Position
    M400; Finish Move
    M109 S215; resume temperature
    G1 F3000 E25
    G1 F3000 E-25
    G1 F300 Z4
    G1 F9000 X101.7 Y137.3
    G1 F3000 E25
    G1 F9000
    M82
    G92 E763.80547
    G4 P1


text:
Show Build date and time in Marlin 2.0
Is there a command to show the compile date and time of the Marlin 2.0 firmware? Also, is there a way to show this info at boot up?

You can show the compile date and time during bootup by changing the constant STRING_SPLASH_LINE2 in Configuration.h:
#define STRING_SPLASH_LINE2 __DATE__ " " __TIME__

From Sanity Check: STRING_SPLASH_LINE[12] are now obsolete. Please remove them from Configuration.h.

Apparantly, the possibility to change the text was removed (Invariant Marlin bootscreen, #15057), so this only works for versions prior to August 28.

So I guess I'll have to write the functionality myself and hope that Marlin adopts it.

Seeing as they deliberately removed this functionality, I don't thinks that's going to happen.
If I'm reading the source code correctly, there should be a STRING_SPLASH_LINE3 that is printed at boot time. Haven't tried it though.

Yes, I saw something like that to. But I also saw the comment about it being deprecated. Ah well, at least its the "correct" answer.

apparently the data and build are printed durning the board startup sequence.  that said, i added the below line to my Configuration.h #define CUSTOM_MACHINE_NAME "ipatchs cr10s pro, marlin build "  __DATE__ " " __TIME__


text:
Is this articulated Turtle print failing because of over extrusion on a Taz Workhorse?
I've been working on calibrating my Taz Workhorse, and was dealing with some under-extrusion issues, despite checking the e-steps on the extruder and relatively modest retraction settings (2.5 mm at 25 mm/second).
Lulzbot tech support suggested I boost my flow to 105 % to account for this, and the little Lulzbot gear that resulted was decent (note this picture is after some minor string removal).

I tried moving on to a articulated Turtle, and there's a consistent failure at 17 %, where you can hear the nozzle collide with a part and knock it off the print bed, followed by the usual mayhem.

From looking at the parts, it looks like all the small joints in the piece have a lot of excess material in them, causing an upward arc, and eventually getting high enough that they're well over the height of the next layer. That's where the collision occurs, presumably.

What's the likely cause of this? The increased flow? Some other issue?
Other settings are mostly the Ultimaker Cura defaults, but I've also turned combing and Z-hop on (combing, especially, to combat stringing).
Print Settings:

Lulzbot Taz Workhorse using Cura
Polylite PLA 2.85 mm
Print temperature: 215 °C (roughly the middle of the range, and where previous calibrations put me)
Bed temperature: 60 °C
Retraction: 2.5 mm at 25 mm/sec
Combing "on"
Z-Hop When Retracted "on" @ 1 mm
Fan Speed: I've tried 60 % (default) and 100 %
Print Speed: 40 mm/s
Flow: 105 %

It looks to me like you have corner curling on overhangs, which can be contributed to by a mix of:

overextrusion (poor dimensional accuracy of filament or wrong filament diameter setting)
uneven extrusion (due to changes in the print head motion faster than the flow response to changes in the extruder)
uneven cooling (especially due to proximity of one side to heated bed)
too little cooling

and possibly other factors. I would first try lowering the bed temperature. Technically you can print PLA on an unheated bed, but adhesion may be too poor. Dropping to 45°C (my preference now) should not hurt adhesion much and might help; it partly solved my corner-curling problems.
Both uneven extrusion and insufficient cooling can be solved solved by printing slower, but that's no fun. It works for uneven extrusion because, even under constraints on acceleration/jerk, print head can change direction almost instantaneously at low speeds, yielding near-uniform absolute velocity.
Uneven extrusion can also be solved by cranking up the limits on acceleration and jerk. This is a tradeoff because it might get you more vibration/ringing, and beyond the physical limits of your printer it may even start skipping steps and shifting layers (failed prints), but up to that point I think it's a worthwhile tradeoff. Effects from uneven extrusion are some of the worst, in my opinion, print quality/print failure issues, and worth other minor blemishes to fix them if needed.

No, the print does not fail on over-extrusion, it fails by curled up parts of the print as of a filament heating/print part cooling issue.
If the curled up part has to be completely attached to the print bed (which is not the case after release of more information, but could be informative for others), your problem could be bed adhesion. If the original part does not (as has become clear in this case), so it is in fact an "overhang" you are printing, this could be a print cooling issue. Furthermore, in general your printing temperature appears to be too high, you could try lowering print temperature to 200 °C (which should work fine for 2.85 mm for not too high printing speeds), and lowering print speed and or increase print part cooling percentage (or print a more effective print cooling duct).
Furthermore, the picture of the articulated turtle appears to show that the left side is lower, as in the bed is not properly levelled or dented (but with glass the latter is virtually impossible as glass is flat as of the nature of the production process).

It's an overhang - it doesn't have to be flat on the bed. What settings impact cooling in Cura besides the fan rate? I've tried to push the temperature lower (things run a little hot for 3mm filament) but without much success in not introducing other issues.

@Fomite  Try setting the "support" to "from print bed" ;  the support towers may help restrain the curling in the overhang areas.


text:
Can I order a 3D print of a 1 ml transparent container?
I'm trying to make a water insulated 1 cm3 (1 ml) transparent container and I bought some plexiglass, I cut and glued some pieces together but it looks really crappy and barely holds the water in. I was wondering, is there a transparent material (similar to plexiglass) that can order to 3D print the container out of it? Also, if 3D printing is not the best option, where can I order around a 100 pieces of 1 cm3 transparent water insulating containers with caps?

If you search for "1ml vial" on, say, ebay, you will find many options.

That's a pretty interesting idea! I think I'll make them on my own.

Nevermind, I just found a place where they sell exactly the containers I need.

1cm³ containers are pretty common in labs - tiny test tubes for DNA machines. They are cent-products.

Yes. You'll probably want to use SLA or Polyjet printers with transparent resin. For example, here's Shapeways' page on transparent SLA and their page on Polyjet (which says you need to phone them for transparent Polyjet parts as their online order system can't handle it).
FDM printing with transparent materials doesn't usually result in parts that look like transparent injection-moulded parts, because the lines of material laid down by the printer are visible. There are some techniques to make this better, but a printing bureau is less likely to offer this kind of special handling.
In any case, you should discuss your requirements in more detail with suppliers, and they'll be able to advise whether they offer any manufacturing processes that meet your needs. In particular, if you need your containers to be food-safe, you should mention that at the start, as it'll rule out a lot of possible suppliers, machines, and materials.

You may have wanted to mention that injection molding would be a far cheaper/easier way to have these made if it is needed to be done in quantity, especially if the container itself needs to be transparent.

For 100 units of such a small part, I think it's more likely that printing would be cheaper. It would probably be a single tray on the kind of industrial printers a bureau uses, whereas in injection moulding the tooling costs would dominate - and of course the longer lead time may be a problem. Which is cheaper could come down to just what suppliers are around and how their order books are looking this month. Anyway, I didn't want to go into more details on this, because 1) the answer is specific to details the OP didn't tell us, and 2) this is 3dprinting.se, not manufacturing.se.

Nevermind, I just found a place where they sell exactly the containers I need.

3D printing services can do this, but you'll likely have better results at lower cost through an injection molding service. You probably won't even need to go through the internet; businesses doing this are common enough you can probably put a search in Google for "Injection Molding" along with your city or community and have a number or local choices, where you can go visit them in person to talk face to face about what you need.

Thanks, but I doubt any company in Bulgaria will want to do this, specially that I'm 17 years old. I'm not sure if they'll even have a machine for 1 cm^3 transparent container with a cap.

Nevermind, I just found a place where they sell exactly the containers I need.

The setup cost to inject a single container would be expensive.  However I don't know if 3D printing can compete with the optical clarity of injection molding.

You could order an sla or dlp printed part(which would probably be more expensive, but also quite durable and a little more transparent). Or you could order an fdm printed T-glase print, which  would come out pretty clear and not be quite as strong as sla, but still pretty good for holding water.


text:
Baud rate for Ender 3 on Repetier Host (Debian)
Trying to set up Repetier host for Ender 3 on Debian.
The /dev/ttyUSBx is found via dmesg, this value goes in config -> printer settings -> port.
Printer connects fine, but commands do not send. Status reads
xx commands waiting.

I have tried all the various baud rate settings <= 250k to no avail.
Is there something else I should be trying, or what is the correct baud rate to set?
dmesg:
[2828465.418249] usb 1-13: USB disconnect, device number 77
[2828465.418480] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[2828465.418492] ftdi_sio 1-13:1.0: device disconnected
[2828469.171168] usb 1-13: new full-speed USB device number 82 using xhci_hcd
[2828469.329014] usb 1-13: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[2828469.329017] usb 1-13: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[2828469.329018] usb 1-13: Product: FT232R USB UART
[2828469.329020] usb 1-13: Manufacturer: FTDI
[2828469.329021] usb 1-13: SerialNumber: A107MDUQ
[2828469.332455] ftdi_sio 1-13:1.0: FTDI USB Serial Device converter detected
[2828469.332485] usb 1-13: Detected FT232RL
[2828469.332756] usb 1-13: FTDI USB Serial Device converter now attached to ttyUSB0

lsusb:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 081: ID 18d1:4ee1 Google Inc. Nexus Device (MTP)
Bus 001 Device 002: ID 1b1c:1b45 Corsair
Bus 001 Device 046: ID 1b1c:1b50 Corsair
Bus 001 Device 049: ID 14cd:1212 Super Top microSD card reader (SY-T18)
Bus 001 Device 082: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 060: ID 1908:0226 GEMBIRD
Bus 001 Device 059: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 058: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

usb-devices:
T:  Bus=01 Lev=01 Prnt=01 Port=12 Cnt=02 Dev#= 82 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=6001 Rev=06.00
S:  Manufacturer=FTDI
S:  Product=FT232R USB UART
S:  SerialNumber=A107MDUQ
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=90mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio

Presumably lsusb shows the printer (as it would be the same as dmesg)? Maybe try usb-devices, I think it gives you the speed. See command to determine ports of a device (like /dev/ttyUSB0). If this works, I can turn the comment into an answer

I think this is the entry
Bus 001 Device 077: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

Can you edit your question (not in comments) and post the full output for dmesg, lsusb and usb-devices? I'm most interested in the output of usb-devices. Maybe usbview?

Hmmm, so it is FTDI and not a troublesome CH340(G). Interesting. I guess that you've double checked that this the board, by disconnecting the printer, running the commands, and then connecting the printer and runningthe commands again, to compare the difference. Also, it seems that the speed isn't given after all... I was hoping that Spd was speed, but yours shows 12. It isn't clear what Spd signifies.

Your firmware configuration may vary (probably worth checking what you have set), but from The Ender 3 configuration is set to 115200 baud rate #12174, the standard baud rate seems to be 115200.

I think the default Ender 3 configuration is aligned to the Ender3 official confg, which has 115200 so...

Ah, but this is Marlin, and you're using Repetier. Hmmm, maybe ignore that then.
According to Recommended baud rate?:

Normally 115200 or 250000 baud should work find and usb->serial latency is the bottleneck.

Apart from that I don't know. Sorry. I might delete this answer, if it doesn't help.

I still dont have repetier running, but i took the plunge and bought simplify3d and it's working on 115200.  So, i think that's the right baud rate and this is the right answer.

Excellent..! :-)

authors: Ленка Литвин


text:
first layer tearing
I have an Anet A8 and have a problem with my first layer. I printed nice prints but starting today the first layer is tearing in the middle:

Any idea how to fix this?

Welcome to 3dPrinting.SE! You don't state what filament you're using or any of your settings. This looks to be a heat problem ... as in too much of it.

Hi,  I'm using pla and the bed is 60 and the head 210. Strange thing is I didnt change anything of the settings and suddenly it started doing this

210° is a bit hot for PLA ... you should try and turn it down some, like into the 190° arena. The bed at 60° should be okay, I'd think.

210 is very reasonable for PLA. 190 will heavily limit the speed you can print. I suspect it's a bed height problem.

Strange, It was indeed a bed problem, could have sworn I checked it. A well thnx anyway :)

@Zeepblok: Glad that helped! I'll write it up as an answer.

The great pics really help with the answerability of this question. From how catastrophic the failure is, and how it's clearly independent of any specialty needs for the particular print such as tiny bed-adhesion contacts, sharp overhangs, bridges, etc. this is definitely not a problem with temperature. Different people recommend different temperatures for PLA, but I find that 210°C works well for me, and if you go much lower you'll hit problems getting the needed extrusion rate for anything but slow print speeds.
I've seen nearly this exact phenomenon before, so I knew it was probably a matter of the bed being too high, blocking extrusion of the first layer and forcing what little material can escape out to the sides of the nozzle, then tearing into it when the next adjacent line is laid out.
If I didn't know that, though, I'd still start looking for a source of the problem that's related to extrusion rate. Something was clearly wrong with getting the right amount of material in the right space, which indicates to me that there's either too much material (overextrusion/wrong filament diameter selected) or too little space (bed to high).

I found the solution to be the exact opposite. My bed was too low (as in too far from the hotend). All the above mentioned aside, I did also drop the flow rate on the brim and initial layer by roughly 2-3 %. Now it prints perfectly again. (your mileage may vary)


text:
Top surface scarring even with Z hop
When the print is finished, it looks like the extruder is digging into the top layer as it returns to home?
I tried adding Z hop at 5 mm but it's not really helping.
Sorry for the picture, white on white is hard to show.
I tried a range of speeds from 40-90 mm/s and over extrusion of 100-105 %, but the scar remains.
Any suggestions?
Here is the end code:
;TIME_ELAPSED:333.340017
G1 F1500 E417.35346
M140 S0
M141 S0
M107
M104 S0
M140 S0
;Retract the filament
G92 E1
G1 E-1 F300
G28 X0 Y0
M84
M82 ;absolute extrusion mode
M104 S0

The gouge you have in the photo would indicate that the nozzle is dropping or the table is raising. Have you observed such movement on completion? Can you make available or otherwise examine the last lines of your G-code for such movement?

The bed has not lowered at the end of print and the nozzle moves too fast at the end to notice it moved down a tiny bit.  I have added the end of the G-code to the question.

There are no Z-movements in that portion of the code. Take a look at the lines prior to the termination section to see if you are getting Z-movement in the wrong direction.

Can you show some more of the gcode leading up to the end G-code you showed? What's the last extruder motion before G1 F1500 E417.35346? I wonder if it's making a big glob where the print head ends up then tearing through it afterwards.

Z-Hops only occur when the slicer is retracting Filament automatically (i.e. when Cura detects a move between parts/around outer walls where stringing would be a problem).
In your end G-Code, you do retract your filament, but manually. This means that Cura does not add the Z-Hop code.
Solution:
Add this before your G28 X0 Y0 command:
G91   ;Change Positioning to relative
G1 Z5 ;Move head up by 5mm (or bed down, depending on your machine)

The G91 command is needed because otherwise you wold need to provide an absolute Z position which is guaranteed to be above your last layer (so you would either need to set the height to the top of your build volume (takes ages to move the head there) or to adjust the height for each printed part (annoying)).
Documentation for the G91 command: http://marlinfw.org/docs/gcode/G091.html
Manual for Z-Hop and other travel moves in Cura: https://ultimaker.com/en/resources/52507-travel
Edit:
Note that this is only a good idea if MAX_SOFTWARE_ENDSTOPS are enabled in your Marlin configuration.h. Otherwise, the head could move ABOVE the maximum Z height (zMax) if the print height h >= zMax -5mm.
Thanks to @0scar for mentioning this!

Note that manual additional Z+ movement should be limited on models that are larger than the maximum Z height minus the additional step/manual Z hop to prevent damage to the printer.

Good call! And if software endstops are enabled, trying to raise Z above the limit should not be a problem anyways.

It is best you edit this into your answer though! We can then delete all comments. :-)