What is the thermal conductivity of various 3D printing filaments? Thermal conductivity is how well a plastic conducts heat. Most plastics don't conduct heat very well at all, which is what allows them to be 3D printed. That being said, there are a lot of potential use cases for highly thermally conductive filament, assuming you could print them. A commonly discussed one is computer heatsinks. Similar heatsinks could also be used for stepper motors and extruders in 3d printing.

To get a good picture which plastics are useful in such an application (like mentioned in question: "Water-cooling stepper motor with aluminum block"), I need to know what is the thermal conductivity of the commonly used thermoplastics.

All values are in W/(m*K).

PLA: 0.13
HIPS: 0.20
ABS: 0.25
PETG: 0.29
PEEK: 0.25
PLA with copper: 0.25 (see discussion)
PETG with 40% graphite: 1.70 (ansiotropic)
TCPoly: 15
Steel (not a 3dprintable plastic): 10 - 50


I am using a stereo 3D pen. What surface should I use? Using a 3D pen I printed a small box. However, I was doing it on plain paper and of course the paper didn't come off the plastic very well. It didn't matter for that specific case, but if I want to print something else, which non-sticky surface would you recommend? Is there any way to use transparent surface (so that I can put a paper with picture as a guide under it)?

You could use a piece of glass, that's what most people using 3D printers have as a build surface.  An easy source of glass for pen use would be a picture frame but the edges are likely sharp so be careful.  Acrylic would also work and is easily obtained in small pieces from places like Lowes/Home Depot, I used Acrylic for some time on my Kossel.  The plastic can stick to Acrylic very well but I had no issues using it with my printer, just test it out and see what process works if you go that route.


Hot end considerations for 300+ °C and greater than 1 mm nozzle size for polycarbonate I need help with finding what properties or designs I need to look for. I know that I will need these characteristics to work with the material of my choice:

Can reach 300 °C or up
Can handle nozzle size larger than 1 mm
Can be used with polycarbonate filament

I plan to use it in a custom RAMPS 1.4 3D printer running the Marlin firmware, in case this changes something.

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

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

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

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

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


1st layer problems with .1 layer height I re-read my question and realized I made a confusing one, so I am rewording a LOT.

So the software I use is Craftware. When it comes to the first layer I have it set to .25mm, with the following layers being whatever I specify otherwise. And because of this there shouldn't be a difference with the first layer even though I choose different layer heights based on the project. But for some reason it is not the case.

When printing .2mm layer height everything works great. The print adheres amazing, the nozzle is at a really good height. Everything simply works.

When printing .1mm the first layer does not stick. A lot less plastic is coming out the nozzle. And it is a disaster. Have tried increasing the amount of flow a bit, but didn't help (I might need to raise it a lot more)

So I don't understand what is going wrong. The first layer is supposed to be set at .25mm no matter what the layer height is otherwise. What do I need to do or look at?

You likely need to re-calibrate the Z-height of your nozzle. The reason that a lot less plastic is coming out of the nozzle at 0.1mm is that the actual gap is likely smaller than 0.1mm. This makes the print bed act essentially like a partial "lid" on the nozzle which occludes the outflow of molten plastic.

Simplify3D has information on their website regarding the issue which can be found here: https://www.simplify3d.com/support/print-quality-troubleshooting/#not-extruding-at-start-of-print. Hope this helps!


Is it possible to print a resonator for a musical instrument? I play a berimbau for Capoeira. One of the most fragile (and most expensive) bits is the cabaça, a hollow gourd used as a resonator.

I'm not very familiar with the qualities of the resin used for 3d printing. If I were to take this to our local Maker Lab and have them scan and print a copy, how likely is it that it would work? My fear is that the plastic would be too sound deadening.

If you want a less exotic parallel, imagine the body of a guitar. That's a resonating chamber.

I can't answer this from a technical 3D printing angle.  But, from a musical angle:

Where the body of an instrument has the primary function of enclosing a vibrating air column, the material has often been demonstrated to perhaps make a difference, but only a subtle one.  As an example, a recent range of plastic trombones, although not first-class instruments, have proved extremely playable (and have the great advantage of being virtually indestructable).

I suggest you try this.  Play your instrument, dampening vibration of the cabaça with your hand or with a piece of cloth.  Just damp the shell externally.  Don't obstruct the hole or put anything inside.  Now, fill the cabaça with cotton wool or similar.  If the first makes little difference, you're probably good to go with a plastic cabaça.  Of course, if the second makes little difference either, we might have to suspect that the cabaça is mainly decorative!

You could also experiment with alternative resonators of a similar size and capacity, available 'off the shelf', not worrying too much about a cosmetic match.  They might sound even better!


How to start cycle by using push button Can any one help me out that how to start a cycle by just using a push button.

Note: Using Marlin firmware, Arduino Mega, Ramps 1.4

I haven't tried altering the Marlin code (as I am new to coding), I was just thinking of adopting this feature as it will be very easy for CNC DIY maker using Marlin code to run a cycle in a loop.

Unless you know the structure of the Marlin firmware pretty well, are good at coding (in C/C++), and are familiar with programming microcontrollers, then I wouldn't attempt to do this, IMHO. Adding new features can cause a number of issues elsewhere in the code and need rigourous planning and testing as well as discussion with the Marlin community.

You could however make a request (i.e. raise an issue) to the Marlin community on Github, however, I would seriously suggest posting to the Marlin forum, on RepRap, first, as random suggestions and issues raised on Github aren't really appreciated, without checking on the forum first...

If you really want to get into coding, then I would suggest buying an Arduino Uno and some components and messing about with those first, as well as visiting our excellent Arduino Q&A site on StackExchange as well as the Arduino forums.


Laser LA03-5000 wiring to RAMPS 1.4 I'm totally lost. I have been searching about two days how to correctly wire Blue Laser LA03-5000 to RAMPS 1.4 board.

This laser has 12 V input and separates PWM/TTL wires. I have found out how to control laser with no PWM (just hook it to D9 same as a fan), but how do I correctly wire this type of laser? I really want to wire it correctly for safety reasons.

Please look into this question, this is a very similar question and also involves PWM and a RAMPS 1.4 shield.

In your case you connect the top red wire on the right bottom connector to the D4 pin and adjust the firmware accordingly as described in this answer.

The bottom 2 wires of the lower right connector should be connected to ground and 12 V (resp. black and red).


How to generate a STL from a rotational solid of two equations? I have a solid of revolution defined by two equations, and I want to generate a STL file for printing from the difference of the two equations, revolved around x=0. I can get a good visualization when I query this on Wolfram Alpha, but I cannot figure out how to download an STL of this. I know there is a way to do this via Wolfram's Development Program but I'm not sure how or if that is the best way to do this. Solutions do not have to involve WA.

The Wolfram Alpha "Data Download" feature supports STL format, but is only enabled with a Pro Account.

When I click your link to Wolfram, I see the visualization of your equations at the bottom of the page; when I hover over the image, several buttons show below it. One of them is "Data", with a download icon. This gives a number of download options. The File Format drop down includes "STL".


Bed wobbling on Ender 3 I have an Ender 3 3d printer. It has a bed that wobbles because it came with only 1 bed support beam.

Every model I print, I must print vertically, because the closer it gets to the edges of the build plate, the less adhesion it has.
Is there anything I can to to fix this problem?

If the V roller wheels aren't tight on the Y axis beam, it means the eccentric nuts are not adjusted correctly. Two of the rollers are mounted centered on the holes in the carriage frame, but the other two are on eccentric nuts which displace them from center slightly depending on the orientation the nut is turned to, to allow tightening and loosening of the grip on the beam. Since the Y axis ones are hard to see under the bed, look at the X or Z ones to get an idea what to expect.
Note that the bolt through the whole roller assembly can loosen when adjusting the eccentric nut. You can probably avoid this by figuring out the right direction to turn it and only going that direction (continuing around just under 360 degrees if you go too far). If you do loosen the bolt then the eccentric nut will move on its own under vibration, so you need to re-tighten it. For the Y axis this might require taking off the bed or taking the carriage off the beam (by removing the belt and tensioner).


Ender 3 nozzle homes off the bed in the Y axis I just received my new Creality Ender 3. I was going through and checking/adjusting everything for alignment, and I noticed that when you "auto home" the print head, the nozzle stops off the front of the print bed by 5-10 mm.
Is that normal?
Is it perhaps by design to allow purging the nozzle without dumping on the bed?
It doesn't appear that there is any way to adjust the Y stop switch without making modifications to it. It also didn't look like there was any easy way to move the bed either.

Yes, this is the "intended" behavior, as the home in relation to the physical limit position is not placed correctly about 7.5 mm into the bed in both X and Y.
to correct this, please look at the Recalibrating Home-position for the Ender3


Prusa i3 Z axis not moving up I just got a Hictop Prusa i3 printer and I have it fully assembled. When I tested out the motors to check them the Z-axis motors were not moving and it was making a grinding sound. I have lifted the screw rods out of the coupling to see if the motor would move the coupling would move and it did. I can move the screw rods manually and it works. How can I make the Z-axis work?

Thank you in Advance!

Edit

Here is the vidoe of the problem https://www.dropbox.com/s/93g0pg0qfhq965d/IMG_0369.MOV?dl=0

Welcome to the group! A video would help. Or at least some photos.

Are both the motors connected? If you remove them from the coupling do they move? Likely it is binding (too much friction, not level etc) or you need to adjust your voltage controller. I am going to say 80% confident you need to play with the voltage.

Chances are it's just the voltage. I do not know what electronics you have but if they are RAMPS 1.4 then you are looking for these

Also here is the wiki on the 1.4. Just turn the screw gently. One direction will give it more power. The other less. When it has too much power your motors will start making a thud noise.

EDIT post adding the video

Oh yeah that is binding. If you wouldn't mind putting the video on youtube to that the video can help people for years to come? Dropbox is a bit volitle.

I would also in addition to my advice in your other question take a bubble leveler to all the rods. It could be a distortion on your camera but it looks like the rod is a bit bent. Also in my Prusa (original) I used to have to make the motor mounts lose, as it did not fit all that well and had binding issues. Try making the screws loose enough so that they float and can move around a lot. The lead screws are less important to the overall stability.


Why am I not seeing an effect from an M42 command on Marlin? I'm trying to use one of the RAMPS GPIOs to control an external device that requires a 5V low-current logic level signal from Marlin. In order to do this programmatically, my host software (Octoprint) is sending an M42 command. I am using the following syntax:

M42 P4 S255

according to the pinout in the following image:

However, the pin appears to not be driven to a logic HIGH level. Is there firmware-level configuration I need to do as well, or is my syntax/pin number incorrect?

I looked at the current Marlin code and the P24 command should work as you expect it unless the pin you are trying to use in listed as the "SENSITIVE_PINS" list:

#define SENSITIVE_PINS { 0, 1, \
X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, \
Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, \
Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, Z_MIN_PROBE_PIN, \
PS_ON_PIN, HEATER_BED_PIN, FAN_PIN, FAN1_PIN, FAN2_PIN, CONTROLLER_FAN_PIN, \
_E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS BED_PINS \
_H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS \
_X2_PINS _Y2_PINS _Z2_PINS \
X_MS1_PIN, X_MS2_PIN, Y_MS1_PIN, Y_MS2_PIN, Z_MS1_PIN, Z_MS2_PIN \
}

These pins are printer specific; so, without access to your Marlin build, I can't see if pin 4 corresponds to one of these.  If this is the problem, the command should be returning an error.  If there is no error, I would look closely at the hardware.


Poor adhesion on new layer - Monoprice mini select On my Monoprice Mini Select v2 there is poor adhesion when the print head goes to put down a new layer on the bed as seen in the photo. Does anyone have a fix for this?

You could try a higher bed temp, but also check to make sure bed is levelled all round as this can sometimes cause this to happen


Configuring of MKS_GEN_L V1.0 I've bought a new "MKS GEN_L V1.0" and I'm trying to configure it with Marlin 1.1.X. I changed motherboard in configuration.h from previous:

#define BOARD_RAMPS_13_EFB   33 //RAMPS 1.3 (Power outputs:Hotend,Fan,Bed)

to

#define BOARD_MKS_GEN_L  53 //MKS GEN L.

I'm getting this error:

pins.h:268: error: #error "**Unknown MOTHERBOARD value set in Configuration.h**"
       #error "Unknown MOTHERBOARD value set in Configuration.h"
        ^
    In file included from sketch\MarlinConfig.h:42:0,
                     from sketch\G26_Mesh_Validation_Tool.cpp:27:

SanityCheck.h:58: error: #error "MOTHERBOARD is required. Please update your configuration."
       #error "MOTHERBOARD is required. Please update your configuration."
        ^
    SanityCheck.h:786: error: #error "**Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires the Z_MIN_PIN to be defined.**"
           #error "Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires the Z_MIN_PIN to be defined."

        ^
    SanityCheck.h:942: error: #error "**LCD_BED_LEVELING requires an LCD controller.**"
         #error "LCD_BED_LEVELING requires an LCD controller."
          ^

SanityCheck.h:1084: error: #error "**HEATER_0_PIN not defined for this board.**"
       #error "HEATER_0_PIN not defined for this board."
        ^
    exit status 1
#error "Unknown MOTHERBOARD value set in Configuration.h"

The motherboard definition in configuration.h should be written like:

#define MOTHERBOARD BOARD_MKS_GEN_L

actually the word MOTHERBOARD was missing and there is no need to write  53 //MKS GEN L at the end.

The number definition is declared in boards.h - you just confused the two files, indeed you should not forget to define the motherboard constant itself. Do note that this is basically a RAMPS board, see pins_MKS_GEN_L.h.


How to fix bulging first layers of print? The bottom 1-6 layers of my prints always bulge, like an enlarged elephant foot effect. I've tried all the fixes for elephants foot to no avail. I'm using:
XYZPrinting DaVinci Jr 1.0 Pro with their own brand filament (1.75 mm), nozzle: 0.4 mm, tried various layer heights 0.1-0.3 mm, with temperatures 190-205 °C. It has a non-heated bed, using tape as an adhesive.

Problem can be seen here:

You specify that 1 to 6 layers are expanded.

Does that match with the number of bottom perimeters you ask for?  If so, then I would suspect over-extrusion.

If not, it could be a combination of two problems:

The head is too close to the bed, and
The head has too much vertical compliance or springiness.

In this scenario, the head being too close puts additional upward pressure on the head.  The springiness allows the head to displace upward, but it is still too close.  Being too close, the extruded bead is spread out too far.  With each additional layer, the head is relatively less close, and the effect reduces until eventually the head is not displaced by the extruded bead, and the object prints normally.


How to solve ABS deformation at the bottom? I am printing small mechanical pieces in ABS:

100 ºC bed temperature
70 ºC Room temperature
250 ºC nozzle temperature
0.4 mm nozzle, at 0.15 mm per layer.
100.8 % scale to compensate ABS dimensional innacuracy.

The first layer is printed correctly, but later, corners warp and first 10 mm get deformed (See images).

How do I solve this? Unfortunately, I cannot increase room temperature over 70 ºC
Here is a picture while printing, we can see that the edges get warped even far over the first layer. (Sorry, the picture quality is not so good):

The up-curling of overhangs is frequently seen when printing PLA or PETG when the just deposited layer hasn't been cooled enough. The residual heat will allow the curling as the plastic has not been fully set (above the so called glass temperature) because of insufficient part cooling.
Knowing that ABS doesn't need much cooling (to improve the inter-layer bonding), you most probably will not require full power of the fan (depending on the cooling power of the fan). You do need a little cooling though, but not for the first (few) layer(s), so keep the fan off at the first layer. Be sure it is up to speed at the layer you require the cooling as the first few percentage of the fan is generally not enough to rotate the fan. E.g. my fans start spinning at about 20-25 %.


G-code wait for extrude command to finish I have following G-code to prime the nozzle before start of the print.
G28 ; home all axes
G0 Z5 F5000 ; lift nozzle
G0 X30; move to X30
G28 Y; home Y
M420 S1; turn on bed leveling
M109 S220; wait for hotend temperature
G1 E20 F1800; extrude filament 20mm

The idea is to extrude a strand of filament outside of the bed and then start the print. The strand catches on the bed a tears off. So the ooze does not mess up the first layer.
The problem is that the G1 E20 F1800 does not wait for the move to finish and the controller goes to next move immediately. This means the nozzle is going to start the first layer, while spewing filament along the way.
Is there a way to wait for the move to finish?
I have tried M400 which seems not to help. I'm using Marlin Firmware.

Are you sure the move didn't finish? That would be very unusual, not the way 3D printer firmware normally operates. A new G0/G1 move command does not execute until the previous one finishes, whether it's extrude-only, travel-only, or a print move (mix of extrusion and travel).
What's probably happening for you is that the amount of material you're trying to extrude cannot melt and pass through the extruder at the speed you requested. At 1800 mm/min, assuming 1.75 mm diameter filament, you're requesting over 72 mm³ of material (nearly a whole cubic centimeter!) of material to be extruded per second. According to some back-of-the-envelope calculations I just did, It would take more than 300 Watts to continuously raise PLA from room temperature to extrusion temperature at that rate, which is not happening without an extreme hotend and power supply.
So, what you're getting is pressure building up between the extruder gear and the hotend (until it starts slipping), causing the material to continue to ooze for some time after the E-axis move finishes, until all the pressure subsides. If your goal is to prime the nozzle for printing, this is not how to do it. It will just end up oozing material all over the start of your print.
You can somewhat fix this by just reducing the feedrate in your command, but that's still not necessarily going to give you great results. The right way to prime is to extrude at nearly the maximum rate your hotend can handle, then retract and wipe before traveling to where the print will begin.


How to design a worm-gear in FreeCAD? I want to print worm gears for my robot arm. I would like to design it in FreeCAD. Normally, I would use involute gear for regular gears. However, this tool cannot be used for worm gears. I can't find any add-ons for this.

Is it possible to produce a worm gear automatically? If not, how can I make it manually?

As far as I know there is not a workbench capable of producing the design you want with a single click "new worm gear".  But it is a rather simple affair to create the part you want from scratch.

What you want to do is to sweep a sketch along a helix.  It is a very similar process to the one you would follow to create a thread documented in the official tutorial (it's the "method #3" on that page).  This is how it should look like:

Since helices are subject to a few limitation in FreeCAD, I recommend to read the section called "tricks to success" and the following tips, as it is very likely you will incur in problems otherwise.


Which 3D design softwares make multi-material amf or other design files that slic3r will slice? I'm looking for suggestions for 3D design software which support designing multi-material parts.

I will be printing on a multi-extruder machine based on RepRap firmware.  The printer will handle the files when given a proper g-code file.  Slic3r will produce a proper g-code file given the right input.  STL seems to be single-material, so I am looking for something like AMF files, or any alternative.

My question is, what is available for 3D design software which will produce a geometry file which slic3r (or some other slicing software) will properly process?  I'm not asking for opinions on which software is best.

I believe this is my first question in any StackExchange forum, so if I have trespassed on community standards, it was not my intention.

A Scriptable Process for Generating Multi-Material STL Files:

I am now using interactive CAD software to define the more complex features of the object I am printing (in the current case, clock faces), and then using OpenSCAD to do the boolean volume operations.

To print the composite object, I need three STL files, one for each material I am using.  The three parts are the clock body, the translucent optics to conduct the LED lights, and the clock numbers.

I need:

one STL for the body minus the LED optics and minus the numbers.
one STL for the numbers minus the LED optics, and
one STL for the LED optics.

The CAD package supports the operations, but every time I change anything, I have to jump through several hoops to combine the three parts, manually and recreate the three objects.

I had used OpenSCAD to make the optics and the numbers, and they were never in the same coordinate system as the clock body from the interactive CAD package.

So, I scripted it and used OpenSCAD to read the clock body STL and being it into OpenScad.  I transformed it into the common coordinate system.  I then did, one by one, based on a command-line parameter, the boolean operations, rendered the result, and exported the resulting STL file.

When I read the three files into PrusaSlicer, the lined up perfectly and everything worked simply, without and precision hand-eye coordination, and with no drama.

Scripts and command lines work for repeatability far better than squint, drag, and guess.


How to implement wall thickness Analysis for my .net project I have .stl for the 3d printing. And I want to analysis wall thickness of this model before printing. I have no idea about any tools. Can I create any console or wpf app for calculating wall thickness and cost of the printing.
Please help me.

If your talking about a hollow object, such as a cube with a hollow center. The wall thickness is determined by the model.

If your talking about a solid object, the wall thickness is determined by your nozzle diameter multiplied by your # of walls. This is all adjusted by your splicing software. If you have a nozzle of 0.5mm and you print at 3 perimeters, your wall should be 1.5mm. If you want the wall to be 2mm, then you will adjust your perimeters to 4. Everything within those walls will be whatever you choose for infill.

I work with ASP.NET, Windows Forms, and Console Apps myself. I'm sure you can find libraries capable of taking 3D models but I don't think it would matter because the printed thickness is determined by your splicing settings.

Also for cost of printing, I recommend just using Cura which you just have to plug in some cost information about the filament and it will tell you estimated cost, mm of filament usage, and time.


My 3D model is printing with missing parts when sliced in Ultimaker Cura I have been working hard the last year on the model below. I am new to everything 3D that is modeling and especially 3D printing. I have however successfully concluded quite a good number of 3D prints which I created in blender with my Creality Ender 3 Pro so I have a bit of experience.

All this new experience for me started with the desire to do this project I have been working on for all this year. A complex 3D model of a knight's tomb which I would like to print.

As you can see Cura is clearly indicating that there is a need for supports in these red areas. The model will be printed in a 15 cm size. I have also managed to resize the model from a 22 million face mesh full of holes to a 900k manifold model.

However, when I slice it I get this.

As you can see supports are only generated for the outer column part. None are generated for the arches which are totally absent when the model is sliced.

I have tried to alter the model's orientation but with no result. I will try to separate this mesh in parts but it would mean restarting all from scratch since I found no good software to slice it precisely.

I am quite sure that the main problem lies in the fact the Ender 3 pro is an FDM printer an that the vertical lines of the arches are too thin.   Since I tried to upload my model on 3D printing services to see if it could be printed in other materials and could be printed in finely detailed resin.

I would like at least to know if I am right in my problem spotting or if there could be any solution to the present problem so that not to go wrong if I will redesign this part.

There's a setting in Cura to Print Thin Walls. It's turned off by default, and IIRC correctly there's a good reason it's off by default. But for this item, you should turn it on.

Update

Looking again, I see this is vertical, so I'm not sure how well this setting will help. Even if it does create the gcode to include the walls, this would be a tough print. If possible, you may want to rotate this 90° for printing, though I also see the gap on the right that would become a long bridge.


How can I extend silicon hotbed wires safely? I'm in the middle of building a D-Bot printer, and have run into a bit of an issue when it comes to the heat bed wires.  The heated bed is an aluminum plate with a silicon heater attached to it, and the heater wires are not long enough to make it through the drag chain when the Z-axis is fully extended.

The silicon pad is 120 V AC / 750 W and will be turned on/off by a Fotek SSR.  The heater wires are cloth-covered and are probably 22-24 AWG. (Gauge is not labelled)

I suspect I'll need to extend the wires by putting in some sort of coupler at the top of the drag chain, but I'm not certain if there are specific requirements for the wires for an AC powered heat bed.

To this end, I was wondering:

Is there a specific wire gauge that I should use for the heater wires, and should it have a specific cladding?
What type of connector would be best for connecting the wires together securely in this case?

Thanks in advance!

750 W at 120 V is 6.3 A. 22-24 AWG is on the thin side for this. I would recommend 18 AWG or thicker. You don't need a specific style of insulation for this (other than something that is rated for the voltage and temperature the wire will need to withstand, but most commonly found wire should be good).

A good way of connecting the wires would be to solder them. If you do not want to solder, there are many products on the market for connecting wires. A butt connector that you crimp could be a good option, or you could use a WAGO clamp. Whatever option you end up using, be sure to provide adequate strain relief as the connection point (be it soldered or with a connector) is more likely to fail from fatigue.


Is this fuse a good choice for my Prusa i3's power supply and RAMPS 1.4? Wondering if this fuse is safe to use in this switch/plug to turn on /off a 12V DC 30A Power Supply 360W Power Supply that will power a RAMPS 1.4 board for a Prusa i3 with an external led display that contains an SD Card Reader.

I found the suggestion to use it here.

No, do not use this fuse. The current rating is too high to be reasonable for your printer. It will "work" in the sense that your printer will get power, but it won't provide anywhere near as much protection as a lower-rated fuse.

10A is a lot of current for mains voltage. Depending on what else you have plugged in, there is a fair chance your home's 15A breaker will trip before this fuse does, which kind of defeats the point of having it.

Even for "fast" fuses, it takes a significant amount of time for them to blow when conducting their rated current. The internal fusible link has to heat up and melt before the fuse stops conducting. The less the overload current exceeds the rating, the longer that takes. A 10A fuse conducting a 10.5A short might take 30 seconds to trip. In the meantime, your printer is melting. Lower-rated fuses will trip faster for the same short and thus provide better protection.

You need to size fuses as small as possible for the required current draw if you want to have any hope of rapidly cutting off an excessive-current event.

I would recommend a 4A fuse in the USA for this 350w power supply. (Note: the listing title says 360 but the photos show 350.) I use 4A fuses in several printers with 120v / 350w PSUs and they do not trip. But you can do the math for yourself:

350 watts / 120 volts / 80% efficiency = 3.64A

The smallest fuse you can find that is larger than this value is what you should use.

Now, we can argue over whether 80% is the right efficiency value... it could be lower. The PSU label says 6.5A input is required, but that amount of current draw implies either a <50% efficiency (which is quite poor for this kind of PSU) or would only occur for abuse/surge scenarios like starting very large motors. Such short-lived inrush events generally won't trip a fuse unless you do something dumb like lock the rotor. And none of that applies to the small microstepping-driver stepper motor systems we're working with here. This PSU should not draw more than 4A in normal 3D printer use.

Looking at this on the other end -- how much damage will 10A do versus 4A? Lots. If the short is in the 12v system, and the PSU's short protection doesn't trip in (because it's a cheap knock-off) you would roughly multiply the AC fuse current times 10 to get the DC current. And 40A is a downright scary amount of current! Depending on wire gauge, putting 40A through heatbed wiring may make it smell and smoke. Whereas putting 100A through heatbed wiring will almost certainly start a fire.

You're much safer with a 4A or even 6A fuse for this PSU than a 10A fuse.


What is needed to create dwg from drawing? Does anyone know of an accurate method for building a dwg file from a scan of a scaled drawing or plan. The dwg files will also be referenced for or made into 3d models so pulling the information straight into a modelling software would work too if possible.

It's not an easy task and according to my knowledge there is no way to do it fully automatic (I might be wrong of course).

You have options as follows:
Read scans and

recreate it manually in CAD application
recreate it using digitizer (in the old days they had puck - kinda magnifier with crosslines to digitize from printouts/blueprints)
create 3D object omitting 2D drawings
convert bitmap to vectors in 2D app
use scannig service like this (would be expensive)

Depending on complexity of your schemas, the easiest way, would be option 1 or 3. Option 4 is very doubtful (even if it's the most automatic way, it won't create useful data)

The most of CAD apps have option to import bitmap and then work on such "background". For example in AutoCAD use command Imageattach


What stepper motor to use in heated chamber I want to build a 3D printer with a heating chamber of around 90 °C with build area 200x200x200 mm. I have never build a CoreXY system, so my design is currently an XY system with moving X motor (mounted on Y). Since it has a heating chamber I can't use normal stepper motor (there's a way, but I have to provide forced air cooling like NASA did, or water cooling). Extruder is Bowden type. I have already sourced almost all components, but I'm stuck at choosing the motor.

I could find high temperature stepper motor in India (that's where I'm from), but it cost too much. I found one at the Visionminer website, they're the dealers for Intamsys printers, which has a chamber of 90 °C and they are providing replacement stepper motors as well.

Comparing the cost, the motor I found in India costs three times as above. Even with shipping I will save a lot. But one issue is they're not providing any details about torque and current rating. There's one image in the website and it says,

MOONS STEPPING MOTOR
TYPE 17HDB001-11N
60904162 18/04/12

I thought it might be a MOONS motor, so I contacted them, no reply so far. I tried to find the motor by part number, but failed. I tried mailing Visionminer as well.

Anyone have any idea which motor is this? or know any high temperature motors?

Also they use Gates belts, which is rated for 85 °C. How reliable will it be in 90 °C chamber?

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

I have a couple pictures in this thread.

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


Extruder doesn't retract on inner wall lines thereby causing stringing I am trying to stop the stringing that occurs on one of my prints, I have set it so that it retracts the filament which does stop it during the extrusion of the outer wall layer, however when it comes to print the inner lines of the section it does not retract at all (the extruder gear does not move back).

I am using Cura as my slicer and I cannot find any setting that would change this. My current retraction settings are as follows:

Enable Retraction - On
Retract At Layer Change - On
Retraction Distance - 7
Retraction Retract Speed - 40 mm/s
Retraction Prime Speed - 30 mm/s
Retraction Extra Prime Amount - 1 mm3
Retract Before Outer Wall - On

I am not sure how to stop this from happening, any suggestions that you can make will be greatly appreciated.

Cura has a setting called Combing that is enabled by default. This stops the printer from retracting if the travel is contained within the walls. It does this to speed up the print but you get oozing during the travel since the plastic is still in the melt zone. You can change this setting to no skin which will stop it from combing on the skin layers or turn it of completely.


What exactly is the relationship between Flow/Feed Rate and (Print) Speed? Newbie alert...
On my Ender-5, when I go into the "Tune" menu during a print and adjust the "Speed" value, that value will later be shown in the display next to a label saying "FR". I can also adjust that value by simply turning the knob during printing (and thus started to think of it as the "speed dial" ;) ).

As far as I was able to tell so far, the "FR" percentage value is being applied to all four stepper motor movements and thus allows me to slow down or speed up printing on-the-fly, e.g. to make up for sub-optimal speed settings chosen during slicing (after all, I'm still learning).

I only recently learned that FR is actually short for "Flow Rate" (or is it "Feed Rate"?) and that seems to imply that this is probably about more than just motor speed... Also, there seems to be no equivalent to the Speed setting in Octoprint: All I have on the Control tab are two distinct sliders for "Feedrate" and "Flowrate". Would I always have to move both to achieve the same effect?

Can anyone clarify? What implications of changing FR/Speed might I be missing?

By turning the knob in the main screen, you're adjusting "feed rate".
This is essentially a factor that all g-code speed settings are multiplied with - "speed dial" seems an appropriate name for it.

"Flow rate" is something different altogether - this is multiplied with the extrusion commands. It has the same effect as changing your extruders steps-per-mm.
You can adjust under- / overextrusion with this on the fly.


Still getting "no layers detected" after repairing model in PrusaSlicer console I tried to slice an stl file using the PrusaSlicer console and I got the No layers were detected. You might want to repair your STL file(s) or check their size or thickness and retry. message. I tried repairing the model with 3 different services and I still get the same error. When I load the fixed stl file into the PrusaSlicer gui, it doesn't say that the model is broken. How can the console and gui give 2 different results and how can I fix this?
Here's an image of the model being loaded into the gui version. It states that the model is broken but was automatically fixed.

Then I manually fixed the model using Netfabb and the model is no longer broken according to the gui version.

Yet when I try to slice the repaired model using the console, it fails again.

PrusaSlicer version is 2.3.0 on Windows 10.
You can find the stl and repaired stl here.

Still don't have an actual answer as to why repairing the stl file didn't seem to work, but since my stl file was a combination of different stl files I tried repairing the individual stl files before combining them, which resolved the problem.


Which material "creeps" (plastic deformation) the least (or nothing at all) under pressure after being printed? I would like to build a standing shelf where the supports which hold each successive plank are 3D printed (to obtain special shapes).

However, I read that PLA flows under constant stress/pressure. Still, this doesn't stop the author of the article from using PLA for a hanging shelf, which obviously is subjected to constant negative pressure.

Which material suffers the least from plasticity/non elastic deformation under stress?

Answers with data for multiple materials are welcome.

I found that the phenomenon is called "creep" and is related to ISO 899, but I couldn't find any data for the common filament plastics and I don't know the theory behind it, so I'm not sure whether it's unavoidable or it appears after a threshold stress is reached.

Information: it's a living room shelf which will hold books and other stuff and is supposed to last a decade. I will of course add a safety factor and I could even fix the planks to the wall (in hidden places), but ideally the 3D printed material should have NO creep.

Your question can not be answered theoretically -- only empirically.

You need to print some trial brackets with materials of interest and measure them.  The question is: under what conditions should you test them?

The problem is that creep involves both compression and tension, and the behavior may be different.  It is also impossible to fully translate material specifications into component behavior without a really good model that includes the details of the infill, adhesion to peripheries, and all the microscopic detail of a real 3D-printed part.

The problem with typical PLA may be the low temperature.  Raising the temperature of a normal PLA printed object to 160°F (70°C) softens it to the point of nearly being limp.  I have used this for force-fitting PLA parts by warming a pot of water and placing parts in it for a few moments.  That temperature is hotter than your room, but a hot summer day in the sunshine could soften the part to the point of failure.

For anything load bearing, I would want a material with a higher plastic temperature.

There are PLA formulations which are annealed after printing.  This is claimed to allow the PLA to slowly recrystalize and become both stronger and usable at higher temperatures.  I don't have experience with this.

Depending on your printer, you can also consider using a higher temperature filament, such as ABS or PC (polycarbonate).  PET-G is a little better than PLA, but it softens at a lower temperature than ABS.

As important as the material itself is the anisotrophy of the printer parts.  Be sure to print the parts so that the major stresses are along the strongest axes, typically X and Y, and not along the weaker Z asis.  Choose your infill to contribute to the strength, and use plenty of it, or design the part so that the infill is not intended to contribute to the strength.


G04 dwell period control parameters I have a 3D printer that I built and I'm having trouble with some g code. I have to stop and start the extrude motor when the z axis moves up to the next layer. When I do this the 3D pen I am using goes back a little bit to prevent dripping. When the motor starts again the filament is not at the tip yet and I am trying to add a dwell time before it starts moving again to give the filament time to come out. When I enter G04 P100 after each M3 command (the code I have to use to start my motor) it dwells way longer than 100ms and P10 seems to take around 10 seconds. On Wikipedia it states the control parameters for ms is P and the one for seconds is X however the reprap wiki states the proper control parameter for seconds is S. So my question is what is the correct parameter and how precise can I be with seconds i.e. .0000 how many zeros can I have after the decimal. I am trying to calibrate and get accurate prints so any help would be greatly appreciated. I am using grbl version .8 with and arduino uno. The software I am using is Grbl Controller 3.6.1

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

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

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


Installed bed leveling probe, now Z homing moves to center I installed a BLTouch bed leveling probe on my printer which uses Marlin 2.0.5.3.

Now the printer seems to be of two minds when it comes to finding the origin. Homing XY moves to the lower left as it always has, but homing Z moves not only to Z=0, but also to the center of the build plate. The printer knows this is (100,100,0) and is not mistakenly thinking it is (0,0,0).

This causes some issues such as now the nozzle wipe at the beginning of a print happens right in the center of where the print is supposed to be.

Is this expected behavior?

This is a consequence of enabling Z_SAFE_HOMING:

Z Safe Homing prevents Z from homing when the probe (or nozzle) is outside bed area by moving to a defined XY point (by default, the middle of the bed) before Z Homing when homing all axes with G28. As a side-effect, X and Y homing are required before Z homing. If stepper drivers time out, X and Y homing will be required again.
Enable this option if a probe (not an endstop) is being used for Z homing. Z Safe Homing isn’t needed if a Z endstop is used for homing, but it may also be enabled just to have XY always move to some custom position after homing.

My default Cura start G-code contained this sequence:
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops

I changed this to
G28 ;safe homing
G90 ;absolute positioning
G0 X0 Y0 ; move to bottom-left corner for nozzle wipe

However any oozing will still happen at the center of the build plate, which is a problem.


Mushy small top layers? I just added a fan to my printer because very small layers seem to come out very badly. For example, the 5mm PLA cube that's the top level of the test shape shown below. Watching closely, I can see that the newly-extruded fiber is pushing the previous layer(s?) around pretty freely. And when the object is finished, the little top cube is bulging, rounded, and still soft to the touch.

The 2nd-to-top level of the object is also quite small and quick, but often comes out nicely (if anything, it was better before I added the fan).

The fan is a squirrel-cage with about a 2.5cm square outlet, pointing at the nozzle from about 5cm away, running full speed. The extruder is a Mk9 from http://www.makergeeks.com/duexretopr.html.

I also tried telling pronterface to wait if a level was too brief, but that setting seems not to do anything.

What else can I try? It seems like this is a not-enough-cooling problem, but perhaps something else too?

Layer Times

See my answer to this question and pay particular attention to my suggestion about a minimum layer print time. I'm not sure if all slicing engines provide this option, but I know MakerWare/MakerBot Desktop and (possibly) Slic3r allow this setting.

Basically, when you're extruding smaller features like this, the previous layer(s) are still very hot and possibly very pliable. So, as your nozzle moves around above the previous layer, the nozzle may (and probably will) push some of this molten plastic around. Chances are you can see it to a certain degree while it's printing. You can definitely see this in a most drastic state if you print a tall and small diameter cylinder. You'll notice that the part will become almost exponentially unstable the higher it goes.

By increasing the time your printer takes to print a single layer, you are allowing the previous layer(s) to cool closer to the ambient temperature of the build space, and hopefully not as molten.

Please refer to this calculator or a similar one for material cooling times. For a standard shell setting of about 2-3 (0.4mm nozzle) will yield about 130sec to cool down to room temperature. I would recommend (for ABS/PLA at least) about a 15second minimum for each layer, possibly longer depending on the size and spread out of the features.

Also note that this can be cheated by simply printing multiple items in the same build plate with the same heights (ie. multiples of the same part). Naturally, it will take longer for the machine to print the rest of the parts and therefore allow each layer to cool slightly before being printed over.

Active Cooling

Again, some slicing engines have an Active Cooling setting. I don't personally have this option setup on my machine, but I believe it regulates the flow of air directed at your nozzle (usually by use of a mounted fan). This can help cool the layers a bit faster. With ABS, this might result in some pretty bad warping mid-print.

Feedrates

Try bringing down your feedrates to provide the printed portions of the current layer more time to cool if the above options aren't available. Note that you might also bring down your hotend temp to shorten the time it takes to cool the plastic.

All else fails

My only other suggestion is stated above, try printing duplicates on the same plate. My diagnosis is that the previous layers aren't cooling down enough before the next layer begins.


How to switch motor outputs and use E1 as X, in Marlin firmware? I broke up my electronics and now the output for X is not working. The stepper is OK.

There is any simple solution to remap the output pins? I want the E1 output to act as the X output.

When using Marlin firmware you could easily change the pin layout of the extra extruder (E1) with the broken X stepper pins by changing the pins_RAMPS.h file.

Download the firmware and open the firmware project in Arduino IDE. Navigate to the "Steppers" section of the pins_RAMPS.h file and replace:

#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38
#define X_CS_PIN           53

for:

#define X_STEP_PIN         36
#define X_DIR_PIN          34
#define X_ENABLE_PIN       30
#define X_CS_PIN           44

and also change:

#define E1_STEP_PIN        36
#define E1_DIR_PIN         34
#define E1_ENABLE_PIN      30
#define E1_CS_PIN          44

to:

#define E1_STEP_PIN        54
#define E1_DIR_PIN         55
#define E1_ENABLE_PIN      38
#define E1_CS_PIN          53

When the file is changed an saved, build and upload code to your board and plug the connector of the X stepper into the E1 header.


For a larger build volume, what lengths of 2020 aluminium do I need? TL;DR
How do I upscale a Wilson II? What lengths of aluminium1 do I need in order to achieve a particular (increased/reduced) build volume?

The design of the Wilson II is scalable (source: RepRapWiki - Category:Wilson):

...the design has a parametric build area, meaning it is relatively easy to scale the X, Y, and Z axis within reason.

What does parametric mean exactly, in this scenario? How does one scale up from 200x300x2001? Also, how would that affect the Repetier/Marlin firmware?
Is it simply a matter of maintaining the ratios of the lengths of the X, Y and Z axes constant, or can the ratios be ignored? Is there a formula, or set of formulae, for this?
Has anyone gone beyond the 200x300x200 build volume? I have seen the Scalar M and XL series printers (with the XL having a print volume of 400x300x300) which, while they are not based on the Wilson, also boast of scalability:

Scalar Family 3D printers are "scalable" printers.
Reviewing the idea of a reprap printer, a printer that can auto replicate and scale, we wanted to propose a 3D printer with plastic parts for you to print, and with a way to "scale" easily.

Can one (within reason) arbitrarily section various (supersized) length for the three axes and then modify the firmware accordingly, or is there a set of rules which govern the relationship between the lengths of the three axes?

A simplistic view
As an example, the lengths (in mm) of the 2020 aluminium corresponding to the build volume of 200x300x200 are 330, 500, 400 for the X, Y, and Z axes, respectively.
Obviously, there are some constants to consider for the stepper housings, and idlers, for example. So, assuming that for X, Y and Z axes respectively, the constants are:

330 - 200 = 130 mm
500 - 300 = 200 mm
400 - 200 = 200 mm

If I wanted a build volume of, let's say, 400x500x300 (XYZ), would the new XYZ lengths of 2020 aluminium simply become (by adding the respective constants):

400 + 130 = 530 mm
500 + 200 = 700 mm
300 + 200 = 500 mm

or is there more to it than that?

1 I appreciate that 3030, en lieu of 2020, extruded aluminium may be required to maintain rigidity for larger print volumes

Long story short: ratios can be ignored. You only need to let your firmware know actual size, if it needs so. However, using golden ratio seems quite reasonable.

When talking about rigidity, keeping it will become a real issue at some point and may not be always effectively resolved by merely changing 2020 to 3030. Using 4020 or double 2020 could be better solution to compensate the most common forces during printing.


Prints are mirrored in X-axis and inverted in Y-axis direction My custom 3D printer prints everything inverted. I guess this is a homing problem as the motor moves in correct direction.
In Pronterface,

if I press -Y — bed moves forward (towards the Y endstop)
if I press +Y — bed moves backward (away from Y endstop)
if I press -X — hotend moves left (towards the X endstop)
if I press +X — hotend moves right (away from the X endstop)

on RAMPS 1.4:

X endstop is connected on the 1st pin
Y endstop is connected on the 3rd pin
Z endstop is connected on the 5th pin

(Pin 2, 4 & 6 are not used (are these for MAX_ENDSTOP ?))
Below is my Marlin config
#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

I have attached 3 photographs.

Shows the Home position of hotend. Y Motor on back and Y endstop at front.

Shows inverted print.

Pronterface screenshot (shows actual G-code file)

I tried flipping the motor cables, but that inverts the motor direction
I also tried INVERT_Y_DIR true, but no luck.
Please help me. What am I doing wrong?

For most Cartesian printers, the homing position is at the front-left corner of the build plate. End-stop switches can be at either end of each axis (and even both), but the firmware must be configured accordingly.
A common arrangement is to have end-stop switches at X-min, Y-min and Z-min positions. You will see this on pretty much all budget printers, but things may be different on high-end machines. For the Y-axis on a cartesian machine, this mean placing the end-stop switch at the rear of the printer. A CoreXY machine on the other hand has the Y-min sensor on the front left corner.
So, unless your intentions were otherwise, you have simply got the Y-axis end-stop switch in the wrong position. For your design, it should be at the back of the printer, triggered by the bed in it's most backwards position. You will also need to reverse the direction of the Y-axis stepper motor, do that +Y moves the bed towards the operator (like you have it now).
If you want to have the end-stop switch at the front of the printer for some reason, you will need to re-configure the firmware accordingly - it is an Y-max sensor in that position!


When to use Wave Bonding vs Raft on a 3D print? I use a Micro3D printer, running on OctoPi (yay!) (although this question should be relevant to any 3D printer that offers these features) and have options for raft and wave bonding.

Are there best case scenarios for when it is appropriate to use (or not use) either?  Can/should they ever both be used at the same time?

After additional research, it seems that using both at the same time is ill-advised (more like pointless).

Wave bonding is best suited for larger prints, primarily to prevent warping of the initial layer.

Rafts appear to be recommended regardless, other than for advanced users.


Issues with my print I am currently making an ironman helmet but running into a couple problems.
Whenever I start my print it starts off fine, but then after it builds the bottom support and starts on the build itself things get really wonky. It seems that the build gradually builds away from the support and starts to float in the air.
I also see an issue where the model starts to curve and the filament isn't sticking to the support instead it makes a straight line through the curve.
Lastly the support column on the bottom left starts to clump up.
I am using an Ender 3 printer and Cura.

You are experiencing layer shifting, please check the tension of the X-axis belt, driver current.

A more elaborated answer is found here.


Using a MakerBot Replicator 1 dual (or clone like FlashForge Creator) with Cura I have a Monoprice architect which is a barebones clone of the FlashForge Creator Pro, or Replicator 1 Dual. I have upgraded the power supply and added a heated bed and, after getting fed up with MakerBot software, I've started using Cura to slice then post process with GPX.

I did a lot of searching and finally found someone who posted their start and end G-code for this particular printer. The only catch is that his code only works on version 15.04.

Don't get me wrong, 15.04 is a huge upgrade compared to MakerWare. But, I would really like to start using a newer version like 2.5 or anything relatively new.

Here is the start code I found. I have tried it in 2.5 with error in post processing. Any help is appreciated!!

; -- START GCODE --
M136 ; start build
M73 P0
G90 ; absolute coordinates
;
; set temperatures and assert Vref
M140 S{print_bed_temperature}
M104 S{print_temperature} T0
G130 X118 Y118 A118 B118 ; set stepper motor Vref to defaults
; let the Z stepper vref stay at eeprom level (probably 40)
;
; home and recall eeprom home position
T0 ; home on the right nozzle
G28 X Y Z ; home all axes at homing speed
G92 X0 Y0 Z0 A0 B0 ; set all coords to 0 for now
G1 Z5 F500 ; move Z 5mm away so we can carefully hit the limit switch
G161 Z F100 ; home Z slowly
M132 X Y Z ; recall stored home offsets for XYZ axes
;
; wait for heat up
G1 X110 Y-72 Z30 F3300 ; move to waiting position
M116 ; wait for temps
;
; purge and wipe
G92 E0 ; set current extruder position as 0 so that E15 below makes sense
G1 X110 Y-70 Z0.2 F2400.0 ; move to just on the bed
G1 X110 Y70 E15 F1200.000 ; extrude a line of filament along the right edge of the bed
G92 E0 ; set E to 0 again because the slicer's next extrusion is relative to this 0
;
; Sliced at: {day} {date} {time}
; Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
; Print time: {print_time}
; Filament used: {filament_amount}m {filament_weight}g
; Filament cost: {filament_cost}
; -- end of START GCODE --

Edit:  After looking at GPX more I'm not sure what you are doing?  Are you trying to slice something in Cura and use GPX to make the X3G file or use the starting g-code from Cura in Makerware?  The code you posted above is used in Cura to generate the g-code and it appears you should be giving GPX the g-code file made by Cura.

You didn't specify which error you are getting or where but if I had to guess it's from the information in the curly braces. Everything in curly braces "{}" is a variable in the slicer used to generate the g-code.

All the information below is useless to the printer and I would start by removing it to see if you still get an error.

; Sliced at: {day} {date} {time}
; Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
; Print time: {print_time}
; Filament used: {filament_amount}m {filament_weight}g
; Filament cost: {filament_cost}

If you still have an issue after removing that then you could remove {print_bed_temperature} and {print_temperature} and hardcode those values to something to see if the process completes.

If it's successful at that point then look at a different starting g-code and find those variable names and replace them.


Is there a spiral lid mechanism I want to put a spiral lid on top of a container. When the lid opens, then the spiral mechanism will rotate into the container. Is there a name for this mechanism? If not, would something like this be possible?

It sounds like you're talking about an iris diaphragm. This has many parts that slide against each other, and would best be printed as separate parts, then assembled.


How to change pin of thermo sensor? The thermoresistor on my Anycubic Mega displays nonsense temperatures (e.g. 700 °C), since the resistor in the hotend is working fine the problem is 100 % in the board (Trigorilla RAMPS 1.4). Someone suggested switching the pin of the thermoresistor from T0 to T1, so I soldered it this way. Now I have to cook a personalized firmware for making it work. I opened a custom firmware in VSCode but I do not know what parameter I have to change, any idea?

If there are 2 slots for temperature measurements, you don't need to solder anything, just plug the thermistor from one into the other and switch pins in the firmware. This board is basically a RAMPS 1.4 board, it includes the pins_RAMPS.h header file, so in order to switch the T0 with the T1 temperature port, you need to change:
//
// Temperature Sensors
//
#ifndef TEMP_0_PIN
  #define TEMP_0_PIN                          13  // Analog Input
#endif
#ifndef TEMP_1_PIN
  #define TEMP_1_PIN                          15  // Analog Input
#endif

to:
//
// Temperature Sensors
//
#ifndef TEMP_0_PIN
  #define TEMP_0_PIN                          15  // Analog Input
#endif
#ifndef TEMP_1_PIN
  #define TEMP_1_PIN                          13  // Analog Input
#endif


Makerbot Replicator 2 Halts during print I am running a MakerBot Replicator 2. During the print, the printer just stops executing and I am running out of ways to troubleshoot.

After restarting, I can load and extrude filament.

I have replaced the SD card, and even borrowed one from another working replicator, and the freeze still occurs.

Likewise, I've regenerated the x3g file, and that did not work.

The panel does not freeze, I can cancel the print during the freeze.

I've made sure Z pause is off. It tends freezes randomly on the first layer.

In general, it looks as though the print is "in progress" but not making progress (Timer ticks up, % completed does not)

Does anyone have any idea as to what could be causing the problem?

There are a few options. First your board could be overheating etc. That is harder to verify without some overpriced replacements. So to start lets take everything apart (photo and labeling is Strongly recommended). Then simply put it back together. Hopefully it is just a loose connection.


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! :)

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.


Can Polycarbonate be used as heated bed This is more about using polycarbonate with silicon heated pad as the bed itself, and not as a material that goes onto an existing aluminium bed; i.e. I am not intending to use it as a flexible build surface (although that could be an option as well).

Since Polycarbonate (PC) has glass transition point of 147°C (according to wikipedia) where it starts to melt, you could in theory use it as a heated bed for PLA or even PETG. BUT, there are other characteristics:
PC is quite good heat insulator, which would result in uneven heat distribution in the heated bed.
Also it expands quite a lot with rising temperature, which could result in warped bed.
And as per usual with thermoplastic polymers such as PC, heating them and cooling them repeatedly can cause material degradation. That would result in the material becoming brittle, deforming, or changes of other properties....
Next problem would be that it is not stiff enough. Depending on the size of the heated bed you would have to support it on multiple points (I would say at least 5x5 grid for 300x300mm bed) and even then it would be unpredictable.
To sum it up: yes, you probably could use PC as heated bed, but it is much better to stick to traditional materials like aluminium or glass fibre sheets (PCB material), because PC would be very inconsistent and therefore hard to level.
I hope this helps.
Note: I am basing this on my theoretical knowledge, I have not tested it and thus do not know if my assumptions are correct or not.


How to upload my works to Thingiverse without making my real name public I want to upload some of my works to Thingiverse without making my real name public (displaying it on the profile page).

I think it is OK to register my name to the site unless the make it public, and it is required by the terms to provide truthful and accurate information.

I tried creating an account on the site, but I deleted it because I couldn't find the way to hide my name (set another one) from the profile page in a short time.

I see some accounts that doesn't seem showing their real name (for example, their name on profile equals to their account ID, or at least not in two parts: first and last name as required on registration), so I guess this is archivable.

examples:

http://www.thingiverse.com/Darkcheops/about
http://www.thingiverse.com/ruaridh/about
https://www.thingiverse.com/Torleif/about

How can I set my name for profile page on Thingiverse after registration and logging in?

To change your displayed name (as opposed to username) in Thingiverse:

Go to your profile page
Click "Edit Profile" on the info column on the left
At the top, next to "Thingiverse Settings" is another link/tab called "Makerbot Settings". Click that.
Change the First Name and Last Name fields, and save.

Note that neither First nor Last Name is required; if neither is provided, your username will be displayed in place of your display name.


Ugly 3D printing with high precision I am a totally beginner at 3D printing and I have this question: I see many 3D printers (at amazon) with Z precision as low as 0.1mm! To me that's amazing but what does not amaze me is this: when I see the printed objects of those 3D printers you can easily with naked eye see the "vertical steps". How?

A precision of 0.1mm should be really almost impossible to see. If a person printed using 0.1mm precision how can I see the vertical steps?

I know there are some smoothin techniques to make the surface better but that shouldnt even be needed if the printer actually printed at 0.1mm in the first case.

The 0.1mm refers to the thickness of each layer. However, it does not say anything regarding:

How precise the layers are in the XY plane
How precisely each layer is aligned with the previous in the XY plane
How consistent the extrusion is: are all the layers printed with a consistent line thickness

No matter how fine the layers (and these printers that you refer to can definitely print 0.1mm layers just fine); if they're not well-aligned with each other, or the filament extrudes inconsistently, you're going to see the layer lines. It takes a rigid printer, with low-play bearings, a well-calibrated extruder and filament with a consistent diameter to get smooth-looking prints (but you will always see some layering, especially if you look up close). Also, since filament is extruded in a round shape, the sides of the object are not perfectly flat, but consists of many small arcs, which makes it easier to see the layer lines.


Marlin menu navigation slow while printing My Kossel Mini printer (delta) has RAMPS1.4/Arduino Mega electronics configured to use a standard 20x4 LCD display with Marlin during printing.

Often, navigating the menus during print can be painfully slow, and I occasionally end up making the wrong selections due to lag.

Without starving the actual printing process of CPU resources, is there any way of speeding up the menu navigation?

A Delta printer requires constant complex calculations to produce straight lines while printing.  The firmware, therefore, spends most of its time figuring out the step and timing sequence, and only the little remaining time between interrupts and these calculations is given to the user interface.

Marlin doesn't document any configuration parameters that would improve the user interface responsiveness, and in any case such improvement must necessarily come at the cost of printing speed and/or accuracy.  The processor is being used to its maximum capacity.  The only thing you might be able to do is dig into the firmware and try to change it yourself, as this is not a clear option within Marlin.

If working with the user interface while printing is important to you, your next step should probably be to change to a faster 32 bit processor. There are a few firmwares available for ARM and other architectures which may resolve your situation.


Filament Variation Detection I'm trying to find out how "normal" filament (not super expensive filament) varies in diameter (or more accurately cross sectional area) over the length of the filament. I've looked around and the only thing I can find, that many filaments are sold with the tolerances, not how "fast" they vary along the filament. A +- 0.1 mm over 1 meter is after all qite different from the same alteration over 0.1 meter.

I am mainly interested in this, as I want to build a printer with very small Z-height steps, thus a small variation in the filament diameter will lead to a rather large variation in the extrusion width. While I thought over the project, I came to the idea of using some kind of capacitance measuring device to detect the cross-sectional area, however it is only possible (or rather feasible) to measure the average cross-section over a rather long section (10cm+). Hence main part of the question: How "fast" does the filament change diameter?

The other part is obviously: Are there other (cheap) ways to measure the cross-section? I could use light, but then I would only get the diameter at one point (pretty sure the filaments aren't perfectly round) and using multiple sensors would quickly become expensive. And then there's the issue of transparent filaments. Most mechanical solutions have the same issue, only measuring one point and might have issues with certain types of filaments such as very flexible filaments.

You would want a thickness gauge with the ability to communicate via serial. Once you managed to modify Marlin to talk to it, and you engineered a system of rollers for the filament to pass through, then you could automatically compensate for the thickness of the filament.

https://www.amazon.com/Neoteck-Digital-Thickness-Electronic-Micrometer/dp/B07Q33RSH6?th=1


Extruder clogs randomly during print I don't know how to say this but during the print, the printer will randomly have difficulty extruding the filament. I will have to give the filament a boost for it to keep going. Once I done the boost, the extruder keeps going perfectly fine for a while.

I am using a Prusa I3 clone bought second hand. I am using the settings that the previous owner gave me (I personally know him). He previously printed a lot of stuff with those settings and they seem to work well. I also bought the brand of same filament as he did for my first roll.

My question is:

Has anyone had this problem or anything similar and if they did, how did they resolve it?

If anymore precision or clarification is needed, please ask.

EDIT

When I say boost I mean that I have to push it down a bit more for it to countinue extruding.

I am using 3D branche filament (it's a local store in Montreal).

I do sometime hear it click before the print. When it does that. I stop the print and restart it.

Check your retraction settings. I had a similar issue and it was caused by the retraction, It retracted just about enough so the gears couldnt hit the hole properly to feed the filament into the nozzle. To fix that I lowered the value of mm on the retraction settings.


Help installing my Anet A8 printer to my computer I am a complete noob when it comes to the 3d printing world. I just finished assembling my printer and I plug it into my computer with the included usb cable and nothing happens. My computer does recognize the printer being plugged in but it just says "unrecognized device in com 4". Nothing else past that. Somebody please help me with the following steps that need to be taken to get my CPU talking with my printer.

Your question addresses (USB) computer connection, so that will be addressed in this answer. For connection to the printer, you need 2 things (apart from the apparent things as computer, printer and cable):

A working CH340 driver installed on the computer for USB communication with the board,
a piece of software to talk to the computer at a bit transfer rate the printer understands.

The cheap Arduino based boards rely on the CH340 chip for USB communication. You should check whether you have correctly installed this driver. These drivers are erroneous and prone to cause problems. Sometime re-installation works, once did work for me.

The SD card supplied by Anet contains a folder (on my SD card: .\A8\A8资料\Software\CH340G Drive) with the installer file of the driver. Once installed properly, you should be able to connect various applications to the A8, provided you use the correct baud rate of 115200.

All this said, are you asking the correct question? Why do you need to connect to a computer, as you can print just fine by putting sliced .stl files (.gcode files) onto the SD card (when inserted in the computer using the adapter) and reinsert the card again in the printer to select the file using the menu buttons of the printer. Printing from SD card is considered safer then printing via the computer over USB as the print will stop when the PC is shut down or crashes.


Difficult to remove support material I'm having a lot of difficulty removing support material without damaging the print.

Are there any tips/tricks to doing this or is it just a case of sanding, cutting, chopping and then cleaning it up as best I can?

Settings

Printer: Monoprice Ultimate
Filament Temp: 200 °C
Plate Temp: 60 °C
Material:  PLA
Slicer:  Ultimaker Cura

Placement:  Everywhere
Angle:  20°
Pattern:  Concentric

Print/material specific settings
If you are printing too hot with too less distance, the support just fuses to the print object. Extra cooling, lower print temperature and support distance should be in balance to create easy to remove support structures with respect to an acceptable print object surface. If temperature and cooling cannot be balanced to prevent fused support structures (e.g. for high temperature filament materials that cannot take too much cooling as that would result in less structural solid prints), there is an option in Cura to override the fan speed for the first layer above the support (Fan Speed Override). If this fails to produce easy removable supports, you can resort to changing the support distance between the support and the print object.
Support settings
Most of the used slicers have an option to determine how much distance (in terms of layers) you want between your support and your product, you could add an extra layer as space to try out if that works better for you. E.g. the default Cura setting for Support Bottom Distance (which is a sub-setting of Support Z Distance) is the layer thickness specified in Layer Height. If you have a layer height of 0.2 mm, the Support Bottom Distance is also 0.2 mm. For the top, option Support Top Distance this is two layer heights, so 0.4 mm in this example. These options are visible in the expert mode, you can search for them in the search box, see image below.

Why should you want air in between your part and the support?
You'll soon find out when you want to remove supports, if no gap is used, the support will fuse to the print part. This is only interesting (no gap between print part and support structure) when you use a different filament for support like PVA or break-away filament; e.g. PVA dissolves in water in a dual nozzle printer setup (not that you can make the biggest part of the support except the top and bottom layer from the print object material, e.g. PLA for the main part of the support and PVA for the bottom and top layer: settings First Layer Support Extruder, Support Interface Extruder, Support Roof Extruder and Support Floor Extruder).


3d print lean in Y-axis I have made a custom 3d printer with ramps electronics. I have printed benchy(ship) well, but when i try to print any thing with tooth(spiral vase), gears(bearing), or circle(rocket), Y-axis skip steps in a regular rate giving  70:60 degrees skew along the printin the y-direction, but each layer is perfect, this happen when printing gear bearing.

I have checked y-axis ball bearing, motor, tension belt and i have replace my 6mm glass with 1mm without any differnece in shift.
I have once make it work, but I don't why or how(I have lowed speed to 50 and did some random things).
I have printed from pronterface and when I pause it then home-Y, the skipping in y in corrected.
I drive my x/y axis with no microsteeping and the skipping was much larger.
I only use slic3r for G-code generation.

question:

What is the cause for that skipping?
If there is more than one possiblity, how could I check them seperately?

Update:

*I have changed my Y axis motor with no change.

*I have swaped x&y connections with no change still Y skips.

*I have lowered jerk and max speed and it prints gear bearing well and it is spinning, but when I tried to print spiral vase Y motor skipped.

I would assume it is either the stepper driver or the stepper motor. Try switching the motor wires for x and y axis and see if the problem stays with the motor or the driver. If its not physically getting hung up then this is likely. I had the same problem with my y axis and after switching the motor it was gone. It would only skip steps in one direction and that seems to be exactly whats going on. Most likely it was caused by bad windings on 1 of the 2 coils inside the stepper motor.


Ready to use objects instead of 3D-printing them I hope this kind of questions are tolerated here. Otherwise, please tell me in the comment and I will delete the question - no needs to downvote.

For a new job I need to create a lot of objects like this one:

To have an idea of the dimensions:

height: 60 mm
cylinder diameter: 12 mm
inner hole: 3 mm
lateral slots width (2 at 90 degress): 3 mm

I'm able to make such an item with either a 3D printer or even a standard 4-axis CNC.
But because I need to make 100+ of these items I wonder if there are something similar out there.
But I have no idea of how it might be called. I tried with "spacer with slots" without any useful results.

If your printer is reliable enough I would suggest printing multiple parts in one go. Since the cylinders are only 12 mm in diameter you can easily fit over a hundred of them on a standard 20 x 20 cm built plate with a couple of millimeters spacing in between.


Great prints then suddenly terrible quality I've been printing with my Ender 3 for a while now and it's been great. I've had very few problems - depending on my settings, these are my typical first layers:

However with no settings or temperature changes and attempting to print the same files, I am now getting this issue with every print - The lines lay down and adhere fine, but if I watch carefully it looks as if the nozzle is causing the previous line to lift and warp. I have checked belt tensions, calibrated all axes.

The prints come out fine in terms of dimensions - all within 0.1 mm overall size on large prints - but the quality is now terrible. I'm using the same roll. Prints were back-to-back and humidity is at 20 % in the room I store and print in. I've checked the nozzle, checked the belts, tightened everything, rest the printer settings and put them back, regenerated the G-code with multiple slicers... I'm at a loss now.

Any ideas, thoughts, comments, etc would be greatly appreciated.

After watching it countless times, I found out that it was the magnetic mat on the bed that has worn out. It no longer adheres to the bed completely flat and some of the texture was worn down more than in other areas. It wasn't visually detectable - I found it by checking the nozzle height with various feeler gauges in multiple random locations.


Converting .nii file to .stl file I'm trying to convert a .nii file to a .stl file using this tutorial.

Since my computer runs Windows, I'm running FreeSurfer (Linux) on VirtualBox. I was unable to allow Guest Additions, so I downloaded my .nii file by email. I ran this command to extract the data from the file using FreeSurfer: recon-all -s mybrain -all -i /home/fsuser/Desktop/brainscan.nii

Unfortunately, it did not work, and I received this error message:

"WARNING: tcsh v6.17.06 has an exit code bug! Please update tcsh!

ERROR: Flag -i/home/fsuser/Desktop/anat_stripped.nii unrecognized. -s mybrain -all -i/home/fsuser/Desktop/anat_stripped.nii Linux xubuntu-VirtualBox 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:41:14 UTC 2012 i686 i686 i386 GNU/Linux

recon-all -s mybrain exited with ERRORS at Fri Jan 25 20:08:01 EST 2019

For more details, see the log file To report a problem, see http://surfer.nmr.mgh.harvard.edu/fswiki/BugReporting"

I think the problem is that I don't have an application in VirtualBox that can open a .nii file. I tried to download Mango, but when I unzipped the file, there was no executable. What should I do so my .nii file can be converted to a .stl file?

Looks like you didn't include a space between the -i flag and the file, though you did include the space in this question. Try running the command but include spaces between your flags and file directories:

recon-all -s mybrain -all -i /home/fsuser/Desktop/brainscan.nii


Print parts fail mid-print I am trying to understand what could cause a misprint after several layers. It acts as if the extruder head bump to the PLA after a while. Thus moving the parts and then, it fails because it is not printing at the right location anymore.

The expected result, for one "pyramid" is the following:

The whole model is the cube gear:

I checked the extruder multiplier coefficient parameter. The width of the filament is ok: 1.75 mm. The Y axis seems to be properly calibrated, and if it was the problem, I would expect it to fail before anyway. But I don't have any idea of what could cause that aside from that. And the problem seems to general and "quite" repeatable based on this print and some others (I do not guarantee the same height of failure, but...).

I got a better result by printing layers by 0.3 mm with a 0.4 mm nozzle. But this failed print was with a 0.2 mm layer.

My configuration: I have a prusa i3, with a bowden extruder. It has a slight multiplication of the extruder size, because during my calibration, I noticed that not enough material was pushed. I also calibrated my Z axis as carefully as I could. So what could cause the problem?

During my prints, I also have a problem of small strings everywhere, that I didn't manage to solve completely with the hotend temperature, nor the withdrawal parameter set to 2 mm. And I don't have a fan blowing at the end object (I plan to add one eventually). And the bridge speed is supposed to go at 60 mm/s and non print move at 100 mm/s, thus fast enough I think to avoid strings.

Your printer basically has 2 problems;

stringing, and
layer shifting

The second problem is most probably the result of the first issue. Excessive stringing leads to a lot of material outside the print object, when this clutters, the nozzle could get caught up and cause hindering of movement of a certain axis to result in a shifted layer print as the printer is not aware of this shift, it will continue the print from the shifted reference point.

From your second experiment you see that a larger layer height does not show excessive stringing and the print has therefore not been hindered by caught-up material to finish the product without layer shifting.

It is key to solve the stringing issue; stringing is the result of filament being extruded by pressure build-up in the nozzle that "leaks" out of the nozzle on travel movement of the print head. You will probably not see this happening when you print a single product; it is typically seen when printing multiple objects on the build plate. This usually implies that the printer need to be properly tuned. It is up to you to find the correct settings; test print objects, like calibration prints, help you find these correct settings.

Important print parameters to fight stringing are:

retraction, (do you retract enough prior to movement?)
coasting, (do you stop in time with extruding to make use of the overpressure in the nozzle?)
travel speed, (do you move fast enough to minimize the amount of filament leaking out?)
print temperature, (do you print at a temperature where the filament doesn't get too fluid?)
print part cooling, (do you have sufficient cooling?)

Once you optimized this, the stringing should be gone and the change of layer shifting should have reduced.


Weight Reducing Design Change for Extruder Driver I'm considering removing the driver motor from the extruder assembly, and placing it on a stationary mount point instead, and then using a flex-shaft type connector from the motor to the extruder assembly to actually drive the extruder. The motivation for this change is to reduce the overall weight of the extruder driver and hot end assembly, allowing for quicker movement of the carriage on it's associated axis(one of X,Y).

Would it be better to run a pair of drivers (one for each direction) to manage reversing the filament pressure or would it be better to use just one driver and reverse the motor as usual?

Very cool idea,

One motor would definitely be more than capable of producing the required torques even through a flexshaft connector. For any normal sized 3D-printer the torques required, and the speeds you'll need for rapid response are well within the capabilities of any off-the-shelf stepper motor.

Just a note on the idea though, with a normal, 'rigid', connection there is essentially no winding or unwinding, and only the backlash between the gears and the filament to consider, and that is effectively zero. With a flex-shaft though, the stack-up of twists and flexing will be much greater. The system will require more rotations at the source to effect the same amount of torque at the end effector as the flex shaft flexes and bends under the load. For tiny torques with short flex shafts, this wont be an issue as filament pressure is pretty minimal. But if you scale up this project or start working at much higher speeds, you may run into some issues with this design.

I have no idea how big or fast you'd need to be working at for this to begin to become a problem. I'm imagining pretty big though. Just something you might want to keep in mind if you try turning this into a huge, super fast 3D-printer.


How can I see what errors Slic3r have repaird? I have an STL-file that Slic3r thinks has errors. They are not visible in the 3D view. I have had them anazlyzed in both Blender and netfabb. Both of these programs say that the model is good. I don't want to leave this to chance. Since I sell STL-files I need the STL-file perfect.

Is there any way I can find out what the problem is. I encounter this from time to time. Often I can go back into blender and find the error by analyzing the mesh. But not always. It would be very helpful to have slic3r tell me what it repaired.

Slic3r uses ADMesh internally to validate and fix mesh. You could try to use ADMesh directly to see a limited information about what was changed. Note that Slic3r bundles it's own copy of ADMesh and depending on your Slic3r version and edition, the behavior of it's ADMesh might slightly differ from the standalone one. (For example Slic3r Prusa Editon patches it's own ADMesh very heavily.)

Using ADMesh CLI:

$ admesh cube_bad.stl
ADMesh version 0.98.2, Copyright (C) 1995, 1996 Anthony D. Martin
ADMesh comes with NO WARRANTY.  This is free software, and you are welcome to
redistribute it under certain conditions.  See the file COPYING for details.
Opening cube_bad.stl
Checking exact...
Checking nearby. Tolerance= 1.000000 Iteration=1 of 2...  Fixed 0 edges.
Checking nearby. Tolerance= 1.000173 Iteration=2 of 2...  Fixed 0 edges.
Removing unconnected facets...
Filling holes...
Checking normal directions...
Checking normal values...
Calculating volume...
Verifying neighbors...

================= Results produced by ADMesh version 0.98.2 ================
Input file         : cube_bad.stl
File type          : ASCII STL file
Header             : solid cube (repaired)
============== Size ==============
Min X =  0.000000, Max X =  1.000000
Min Y =  0.000000, Max Y =  1.000000
Min Z =  0.000000, Max Z =  1.000000
========= Facet Status ========== Original ============ Final ====
Number of facets                 :    12                  12
Facets with 1 disconnected edge  :     3                   0
Facets with 2 disconnected edges :     0                   0
Facets with 3 disconnected edges :     1                   0
Total disconnected facets        :     4                   0
=== Processing Statistics ===     ===== Other Statistics =====
Number of parts       :     1        Volume   :  1.000000
Degenerate facets     :     0
Edges fixed           :     0
Facets removed        :     1
Facets added          :     1
Facets reversed       :     2
Backwards edges       :     0
Normals fixed         :     2

The statistics should give you some idea about what happened.

Using ADMeshGUI:

Find ADMeshGUI at github.com/admesh/ADMeshGUI.

Open the file and click the REPAIR button in bottom right. See the changes.


Will the TMC2130 V3.0 stepper driver work with the Ramps 1.6 Plus board? I want to buy the board Ramps 1.6 Plus. The description in the link says that is compatible with the driver TMC2130, but I found that there are two versions soldered in SPI mode.

BIGTREETECH TMC2130 V3.0. Where the diagnosis pins are soldered as well
TMC2130 V?. In this other product those pins are not soldered and I believe it will fit in the board

As you can see in the image other boards like the SKR 1.3 have some socket to plug in the diagnosis pins. But I don't see something similar in the Ramps 1.6, which has male pins instead.

Should I remove those pins in order to plug the driver? Or is there a better way to proceed?
I don't really know what the diagnosis pins do, are they really necessary? Should I buy the second option without those pins soldered to avoid problems?

Well I found that I can use a DuPont cable to connect the diag1 pin to the right endstop

There is also a beta functionality in the Marlin firmware I haven't tried: Just uncommenting SPI_ENDSTOPS definition

    * SPI_ENDSTOPS  *** Beta feature! *** TMC2130 Only ***
    * Poll the driver through SPI to determine load when homing.
    * Removes the need for a wire from DIAG1 to an endstop pin.
    *
    * IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
    * homing and adds a guard period for endstop triggering.
*/
#define SENSORLESS_HOMING // StallGuard capable drivers only

#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
    // TMC2209: 0...255. TMC2130: -64...63
    #define X_STALL_SENSITIVITY  8
    #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
    #define Y_STALL_SENSITIVITY  8
    //#define Z_STALL_SENSITIVITY  8
    //#define SPI_ENDSTOPS              // TMC2130 only
    //#define IMPROVE_HOMING_RELIABILITY
#endif


Why does OpenSCAD fail to cut holes in polygon sides that are exactly the width of the wall? I'm trying to make a frame for a lithograph that I plan to 3D print for my wife for Mother's Day.  I typically will have my differences be exactly the right size (rather than oversizing it for the sake of the preview) because it gives me a good feel for how accurate my math is (particularly when I'm accounting for the horizontal margin created by the compressed filament coming out of the nozzle).
In this case, however, it came back to bite me.  I debugged this issue for quite a while assuming I had miscalculated something or that I had confused my order of rotations somehow.
Eventually, I oversized my cutout and sure enough, the holes appeared correctly.  After poking at it, I realized I only need 0.000005 mm on either side of my cutout for it to render correctly!
I've created a minimal reproducible example of my issue here:
outerRadius = 100;
height = 40;

wallWidth = 2;

innerRadius = outerRadius - wallWidth / sin(60);
apothem = innerRadius * cos(180 / 6);

// change this to 0 and see what happens!!
holeSizeCorrection = 0.00001;

module holes() {
    for (face = [0:5]) {
        rotate([0, 0, face * 60 + 30])
            translate([apothem - holeSizeCorrection / 2, 0, height / 2])
                rotate([0, 90, 0])
                    cylinder(h = wallWidth + holeSizeCorrection, r = height / 4, $fn = 4);
    }
}

color("orange") difference() {
    $fn = 6;

    cylinder(h = height, r = outerRadius);

    translate([0, 0, -height/4]) // because if it's exactly right, you can't see inside
        cylinder(h = height * 2, r = innerRadius);

    color("blue") holes();
}

When the holes I'm trying to cut in the polygon are exactly the width of the wall, it renders the preview correctly but the rendered output is incorrect.  To verify that the shape was correct, I moved the holes out of the difference and it looks like this:

The preview (aside from the strange exact cut issue that usually happens) is correct as well.  But, when I render it, it looks like this:

But, if I have the hole shape stick out 0.000005 mm on either side, it renders just fine!

Now that I know to look for this kind of thing, it'll probably save me debugging time in the future. :)  But, it would be nice to know if I've done something wrong as well.

openSCAD simply allows having surface solutions that result in a wall of 0 thickness. The walls appear to clip in those areas and can at times be seen from both sides, like in your example:

A 0 thickness wall is also exportable into an STL as a set of triangles spun up by vertices that are in each other's plane but have inverted normal vectors for the two sides - which means that the construct exists for the computer - and I have used this in 3D designs for a hologram-effect, even if it does not result in a physically possible property set.
An example of that effect is this cube (made in blender), that has the back wall purple, all others are grey - and the internal wall is at the same X-value as the back wall. You see the grey wall clipping despite the normal of it pointing to +X while the normal of the purple wall is into -X.

By having your cookie-cutter extrude not just to but through the back wall, you force a solution that disallows the 0-surface solution and thus solves the problem of creating those artifact walls.
Note that the 0-surface wall persists in the slicer preview:

But rest assured: almost all slicers ignore walls that are too thin to be printed, and a 0 thickness wall especially is ignored: