Acetone Smoothing an ABS Cone - (New to 3D printing) Today marked my first time using a 3D printer - have to admit I was originally skeptical but am now incredibly impressed and am having to hold myself back from purchasing one for myself! Was a great experience.

Anyway, I build rockets, and decided to 3D print a bespoke nose cone (Link 1) to fit my rocket. However the sliced layers probably won't do great for aerodynamics, so I've looked into ways to smooth the cone out. I was wondering, using an acetone vapour bath as seen in Link 2, is it possible to smooth the surface of my print without loosing shape? It's only small (12x4x4 cm), and I'm worried that the acetone that smooths the surface could misshape the cone (which I would rather keep perfectly symmetrical!) or cause ABS to melt and pool around the base.

Will the acetone disfigure the print, or is it possible to give it a vapour bath without it pooling and melting?

Link 1: Thingiverse - Ogive Nose Cone

Link 2: Simple way to make ultra-smooth 3D prints at home

is it possible to smooth the surface of my print without loosing shape?

That is by definition impossible. Smoothing the surface implies that the geometry is changed. Rather, the question is: how much does acetone smoothing change the shape, and is that change within the tolerances of your application?

Acetone smoothing is a fickle process, and how (much) the geometry is changed depends on a lot of factors, such as the concentration of the acetone vapor, the amount of time the print is exposed to it, the exact composition of the plastic, geometry of the print, etc... It is definitely possible to overdo it and melt your print into a puddle, but it is also possible to smooth it out without affecting the geometry significantly.

I would recommend experimenting with the process and seeing whether you can tune the process (time/concentration) so that you get a smooth enough part without affecting the geometry too much.


Ender 3 Pro with BLtouch + BigTreeTech Auto level not compensating As the title says, I have an Ender 3 Pro + BLtouch v3.1 and BigTreeTech SKR mini E3 v2.0. I have the SKR loaded with "firmware-bltouch-for-z-homing.bin" but my printer does not seem to be auto leveling. I'm fairly new to 3D printing and I have no idea what I am missing. My bed seems pretty warped but that isn't an issue for small print. For larger prints I think I think I need to enable mesh bed leveling but I'm not sure how.
I have my start G-code setup as:
; Ender 3 Custom Start G-code
M140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature
M190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature
M104 S160; start warming extruder to 160
G28 ; Home all axes
G29 ; Auto bed-level (BL-Touch)
M420 S1; enable auto bed-level?
G92 E0 ; Reset Extruder
M104 S{material_print_temperature_layer_0} ; Set Extruder temperature
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
M109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature
; G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
; End of custom start GCode

It heats up the bed, does the 5x5 auto level and then heats the extruder but when printing I do not see the Z axis moving throughout the first layer to compensate for the warped bed.
Any help would be greatly appreciated.
Should I be using "firmware-bltouch.bin" instead and reinstall my Z switch?

Again another nightmare for 3d printer users - it took me days to figure it out.
My Ender 3 bed was warped in the middle. I got a glass bed, which helped.
I installed the BLTouch and used the Ender 3 Pro firmware. It gives you the options in the menu. I also added the G29 code to G-code.
But it's not perfect. I needed to manually adjust the Z-probe.


Enclosure Ventilation I am building an enclosure for my 3D printer (Anycubic i3 Mega) and I'm wondering about heat and ventilation for my machine. My enclosure is is build from five 50x50x50 cm Plexiglass frames glued together. Currently I'm using only PLA for printing.

Does my enclosure need ventilation so my 3D printer would not overheat?
If yes, what type of ventilation?

Is only drilling holes enough? or
Do I need to add some ventilator?

If I would print with ABS in the future would it change the answer?

When printing PLA you do not require an enclosure! PLA does not shrink as much as e.g. ABS. When printing PLA you should definitely ventilate your casing. I guess your steppers are also located in the enclosure, so you should be careful of not overheating the enclosure. Not only the steppers, but also think of the cold end cooling, too much heat in the enclosure means that the cold end cannot cool enough to prevent the filament to melt prematurely; this can lead to clogs. Also note that the printer electronics board may become too hot too (too hot stepper drivers will cause steppers to miss steps).

  I once tried a towel over a Ultimaker 3 Extended to print a difficult filament to keep some heat in the enclosure; I encountered the above
  problems when I was young(er) and inexperienced :) We learn by trial and error some times!

However, ABS, requires control over the temperature during printing. Draft or uneven temperatures may lead to problems related to layer separation or heat bed separation. Many of the high-end box printers have doors available to enclose the front, this results in an enclosure with an open top (sometimes even for the top there are covers available). The heat of the bed then heats up the enclosure. A constant temperature of 45°C should not be too high to cause problems. When boxing it up completely, you could use a temperature sensor to monitor the enclosure temperature and schedule a fan to ventilate when it gets too hot.


My printer is printing a messy ball. CTC prusa from Ebay I bought this cheap prusa i3 variation from eBay. I setup everything and now I'm trying to print some gcode file from the SD card. Using PLA.

Here is a video of the mess! How can so fix this situation?:

https://youtu.be/Vz46tCcrtMI

I have no clue about how to generate gcode files, so I just took the ones from the manufacturer CD.

Are there any gcode files I can download for correctly tuning and calibrating my printer. I would like to know that my hardware setup is right, before getting into the software stuff

Thanks.

Looks like you need to adjust the print bed level. When z=0, the nozzle should be 0.1mm above the printing surface - and that needs to be at every point of the printing area. Instructions on how to adjust this should come with your printer.

Essentially, the procedure is as follows (you should be able to issue these commands directly on your printer, so no gcode is needed):

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

Finally, when the nozzle is at 0.1mm above the print bed in z=0, you should be able to print and the filament should adhere to the bed.

A heated bed also helps.

P.S.: For generating gcode files, you need a slicer. For the very first steps, I found Cura quite easy to use: you feed it with .stl files and it will slice it internally. Currently, I am using slic3r (and pronterface for controlling the printer itself).


Filament doesn't retract for some travel movements using PrusaSlicer The printer does not retract the filament for some travel moves result in scrape printing part as shown in picture.

This is my printer setting. Not sure which part be the problem.

I want my printer to retract the filament as I have set it to. Where to check and what could be the problem?

Minimum Travel after Retraction is exactly what it says on the tin: if the travel after a retraction would be less than 2 mm, it does not retract. You'll want that to be short, but not 0, because retraction can lead to under extrusion at the start of a new line, and every swap from one shell to the next shell right next to it is classed as travel.


Is using a hair dryer on my M3D build plate safe? I often have trouble with prints being especially difficult to remove from the build plate on my Micro3D printer.  My wife suggested using a hair dryer on the underside of the plate.  I was initially appalled at the idea, but now I think she may be on to something.  Is this safe?  Good idea? Bad idea?  Heresay?

Typically, people cool down their build plates to get parts to release, rather than heat them up. That said, I doubt a hair drier will get hot enough to do any damage to the build plate. You could try it with no harm done.


See G-code before exporting When using Slic3r I noticed that Slice now and Export G-Code do different things. While Slice now is nice, it does not show any tool paths etc.

Is there an actual way to generate and visualize the G-code in Slic3r without saving the exported G-Code first? When aligning seams etc., it is quite annoying to always save the file to see a difference because Slice now seems to make little difference.

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


Is the Sparkmaker good enough to print OO/HO small detail objects? I don't want this to be a specific producer question, but I would like to know if the Sparkmaker is good enough to print small details in OO/HO scale objects.
I'm referring here to objects like furniture, and other house appliances at scale.
I wasn't able to find any visuals with very small objects for this printer.

In general, resin printers can provide a level of detail that has to be viewed with a magnification device. The technology used in the printer will limit the resolution of the printed object. Laser based SLA printers will give the smallest resolution, while LCD panel based printers can be slightly more coarse.

The specifications on the web site for that printer indicate an X/Y resolution of 57 microns, which is 0.057 millimeters. One-sixteenth of a millimeter is quite a high resolution when it comes to 3D models.

According to the 'net HO scale is 1:87, described as 3.5 mm per foot, a peculiar comparison. Directly related to the resolution of the printer, 0.057 mm becomes 0.20 inches approximately. I suspect that an HO scale model does not require one-fifth of an inch detail level.

OO scale is slightly larger and would pose even less of a concern regarding fine resolution objects.


Replicator+ Experimental Extruder Filament Slipping Error I'm experimenting with MakerBot's new "Experimental Extruder" which essentially opens their software (MakerBot Print) to change traditionally "behind-the-scenes" settings like retract rate/distance, nozzle diameter, etc.

I am currently attempting to print with the following conditions:

0.8mm nozzle (brass)
0.6mm layer height
2 shells
5% infill
212 °C-215 °C extruder temperature
The part is pretty much all an outer shell (see image)

I know that the results of testing the Experimental Extruder with a larger nozzle often required a lower extrusion temperature and the retract rate/distance to be increased. While testing the Experimental Extruder, personally, I found success increasing the retract distance to 0.850mm.

I know that this issue can be resolved by adjusting the extruder profile, but I'm continually running into issues with self-resolving "Filament Slip" errors which inevitably result in "Filament Jam" errors. So, I'm obviously not making adjustments to the correct settings.

Here's the PrintMode file for reference:

{
    "version": "0.1.0",
    "name": "TBM0115 Draft 0.8mm Nozzle 0.6mm LH",
    "settings": {
        "brimsModelOffset": 0.02,
        "doBrims": true,
        "doRaft": false,
        "extruderProfiles>0>defaultTemperature": 215,
        "extruderProfiles>0>extrusionProfiles>bridges>feedrate": 50,
        "extruderProfiles>0>extrusionProfiles>floorSurfaceFills>fanSpeed": 0.2,
        "extruderProfiles>0>extrusionProfiles>floorSurfaceFills>feedrate": 50,
        "extruderProfiles>0>extrusionProfiles>roofSurfaceFills>feedrate": 60,
        "extruderProfiles>0>extrusionVolumeMultiplier": 1,
        "extruderProfiles>0>nozzleDiameter": 0.8,
        "floorThickness": 1.2,
        "layerHeight": 0.6,
        "maxSparseFillThickness": 0.4,
        "modelFillProfiles>sparse>density": 0.05,
        "modelFillProfiles>sparse>pattern": "linear",
        "extruderProfiles>0>retractDistance": 0.9,
        "extruderProfiles>0>restartExtraDistance": 0.15,
        "doFixedShellStart": false,
        "extruderProfiles>0>extrusionProfiles>outlines>feedrate": 30,
        "numberOfBrims": 3,
        "numberOfInternalBrims": 3
    }
}

As the comment section doesn't allow to use too many characters, I've converted the comment into a proper answer.

In the question is stated that:

  ... results of testing the Experimental Extruder with a larger nozzle
  often required a lower extrusion temperature...

This is in contradiction with expectations. When the filament feed rate or volume increases, generally a higher temperature is required to heat up the filament because the resident time of the filament in the heatbreak and nozzle decreases.

As the filament heat up time is shortened by the increased feed rate you should either:

increase the temperature to get the filament center to also heat up. In fact, all your problems could be related to not heating up the filament too fast (filament jam or slip). When the center of the filament is not soft enough, it will be harder to push through the nozzle, hence the slip and the clogging, or
decrease the print speed, decreasing the print speed will increase the filament resident time.

As an example, a nozzle/layer height combo of respectively 0.4/0.3 lays down 4 mm³ per 100 mm, a 0.8/0.6 combo delivers about 30 mm³ for that same distance! This is a lot of heat that is dissipated and needs to be replenished. A reduction of print speed by a factor of 7.5 (30/4) will also address the increase in heat up time.


How do I calibrate the extruder of my printer? For my DIY coreXY printer I use 2.85 mm filament that is fed into an E3D clone hotend using a Bowden tube and a custom designed extruder with belt reduction centered around an Aluminium Bulldog extruder with an MK8 extruder gear. The reduction is necessary to create more torque to feed the filament correctly to prevent skipping and filament slipping and grinding.

The prints show under-extrusion (e.g. shell lines and bottom layer lines not or barely touching).

How can I calibrate my extruder to extrude just enough filament?

Basic process

To calibrate the extruder you would need to verify that the
requested amount of filament is actually what is being moved by the extruder.

Structural or temporary problem
A first thing to check when under or over-extrusion is encountered for a fresh spool of filament on a normally good working printer is to check the diameter of the filament with a caliper (see image below) and change this value accordingly in the slicer software of your choice and make a test print. If the problem persists or is present from the start of your purchase or build, please proceed. Note that there are two ways to change the extrusion, a simple solution is changing the extrusion multiplier in the slicer software, the better one is to fix the extrusion rate in the firmware.

Please note that you should measure the filament diameter at several positions

3D printer
There is a difference between DIY and commercial printers. Usually a commercial printer of decent quality rarely needs to be adjusted (as this is the job of the manufacturer). But cheap, commercial clones of well known printers, may need adjusting. Depending on the ability to change the settings of the software/firmware (closed or open source, or type of firmware), the user may (or may not) be allowed to change the values through configuration files or G-code commands.
For DIY printers, the builder is responsible for the printer as a whole and thus entrusted with the software/firmware setup of the printer controller board. The chosen printer firmware and its configuration should be done based on the printer layout and used hardware (also electronics like stepper drivers, remember the micro steps setting) which e.g. determines the amount of steps that are required to move an axis a certain amount of millimeters (steps/mm). This also applies to the extruder stepper. To start with a value of steps per mm, you could search the internet for your extruder type and recalculate the steps/mm roughly keeping your specifically used micro step value of the used stepper driver (which is set by dip switches or jumper caps an the printer board) in mind. With this basic setting you will be able to do a test.

Calibrate extruder (hot or cold)
When you have a printer, or build a printer and uploaded a rough setting for the extruder steps per mm, please test the amount of extruded filament. It is customary to mark the filament with respect to a certain reference point, then extrude e.g. 100 mm, and then check the distance the mark on the filament has traveled. The distance should be 100 mm, if not, you should change the value of the steps/mm in the firmware. To extrude 100 mm you will need to send instructions to your printer over USB connection using a terminal or graphical user interface typically found in freeware applications as Pronterface, Repetier-Host, OctoPrint, etc. or by creating .gcode text files with specific instructions and load the models through the menu of the printer from e.g. SD-card.
The G-code G1 E100 F100 commands the extruder stepper to move 100 mm in 100 mm per minute (please lookup if these G-codes are supported by your firmware!). Be sure that you have preheated the nozzle prior to extruding, many firmware's have built in protection to disallow extrusion below a certain temperature of the nozzle. For SD-card printing, e.g. for PLA you should preheat the nozzle to e.g. 195 °C with M109 S195 and as such must be placed before the actual extrusion command.
If the measured distance is different than the instructed length, a simple calculation will determine your follow up actions. E.g. if the instructed length of 100 mm is in reality 95 mm, the extruder should extrude (100 - 95) / 95) * 100 = 5.2 % more, or similarly said, the extrusion needs to be multiplied by 1.052. This could be applied in the slicer, but when this is a structural problem you should fix this in the firmware itself. This can be done by adjusting the printer configuration file and uploading new firmware (and settings) or for some printer firmware solutions use the same method as previously used to instruct to extrude filament. The G-code for setting the extruder steps in Marlin firmware is M92 if done with codes. If the original value (can be obtained with the command M503) is e.g. 400 steps per mm, the value should be changed to 100/95 * 400 = 421 steps/mm. The command M92 E421 will set the new value which can be saved to memory (so that it is available after a printer power off/on cycle) using M500.
When the configuration file approach is used, the following line in the configuration:
/**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 100, 100, 200, 400 }
needs to be adjusted to:
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 100, 100, 200, 421 }
You can do this a few times to fine tune the extrusion process.
For people that have a Bowden setup and firmware that supports altering the minimum extrusion temperature, you could disconnect the Bowden tube to ignore the hotend heat up by temporarily disabling the cold extrusion limit (M302 will display the current value) with M302 S0. After calibration please remember to set it back, e.g. M302 S170. Do note that temperature and extrusion speed do influence the extrusion process, so you might want to fine tune the extrusion process at temperature.
Now you printer extruder is tuned and should extrude the exact amount as instructed.

Fine tuning
Although the extruder may now be correctly tuned to extrude exactly the amount as instructed, the slicer may have a different view. Be sure to set the slicer extrusion multiplier to 1.0 when fine tuning the extruder/slicer combination. The ultimate fine tuning starts with printing an object with zero bottom and top layers and a single perimeter with a fine layer height (0.1 or 0.15 mm).

Measure the thickness of the wall and adjust your slicer extrusion multiplier accordingly. The rationale behind this is that the extrusion of a hot polymer through a nozzle suffers from an effect called die swell where the extruded polymer diameter is larger than the nozzle diameter (see figure below); decreasing the multiplier counteracts this effect.

Now your extruder and slicer should be optimally fine-tuned!


How to get rid of deforming small prints? When printing a big base on the bed, I got no warping, but once I print small part (3 or less inches wide), there is a bit of warping on my piece as I remove it.

It is 2 inches wide by 1 mm thick by the base. It seems to be well sticked to the bed while printing, but once removed, it bends a bit. I tried multiple times and it bends at a different place.

I was wondering if it may be thicker if it won't bend at all.

Can you guys help me with it?

Here my Slic3r settings:

# generated by PrusaSlicer 2.1.0+win64 on 2019-10-19 at 11:38:38 UTC
avoid_crossing_perimeters = 0
bed_temperature = 60
bottom_fill_pattern = rectilinear
bottom_solid_layers = 7
brim_width = 5
cooling = 1
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
end_gcode = M104 S0 ; turn off temperature\nG28 X0 Y0 ; home X and Y axis\nG1 Z210 F5000 ; Send Z to top\nM84     ; disable motors\n
ensure_vertical_shell_thickness = 1
external_perimeter_extrusion_width = 0.45
external_perimeter_speed = 50%
extrusion_multiplier = 1
extrusion_width = 0.45
fan_always_on = 1
filament_diameter = 1.75
filament_settings_id = "FlyingBear Ghost 4"
filament_type = PLA
fill_angle = 45
fill_density = 20%
fill_pattern = stars
first_layer_bed_temperature = 65
first_layer_extrusion_width = 0.42
first_layer_height = 0.2
first_layer_speed = 30
first_layer_temperature = 200
infill_extrusion_width = 0.45
infill_overlap = 25%
infill_speed = 80
layer_height = 0.1
nozzle_diameter = 0.4
perimeter_extruder = 1
perimeter_extrusion_width = 0.45
perimeter_speed = 45
print_settings_id = FlyingBear Ghost 4
printer_settings_id = FlyingBear Ghost 4
printer_technology = FFF
retract_before_travel = 1
retract_before_wipe = 0%
retract_layer_change = 1
retract_length = 0.8
retract_length_toolchange = 10
retract_lift = 0
retract_lift_above = 0
retract_lift_below = 209
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 40
seam_position = aligned

As I said, I got no problem adhering to the bed, it's when I remove it from the bed it becomes deformed.

Pla is flexible and can be shaped at temperatures as low as 50 deg C. To prevent deforming your prints in removing them, you should wait for the bed to reach room temperature. This takes about 5 minutes after a print ended.


Ender 5 hotend and bed cooling down while auto bed leveling I have an Ender 5 with an auto bed leveling sensor (TRU-LEV 600).
It is working fine, however, as the sensor probes the bed, the nozzle and the bed cool down and are not staying heated as it is getting the points, even though they were heated up in the first place.
How do I stop the bed and hotend from cooling down while the bed is being probed?
Here is my start G-code:
M75; Start Print Timer and Engage Fil Sensor if USB Printing
G92 E0; Reset Extruder distance to 0
G1 E-2; Retracts filament to prevent blobs during probing
M84 E; Disable E Motor for probe accuracy on direct drive systems
G28; home all axes
G28 Z; home Z to get more accurate Z position
G29; TRULEV mesh generation
G4 S10; wait for heaters to recover
M117 Purge extruder
G92 E0; reset extruder
G1 X0.1 Y20 Z0.3 F5000.0; move to start-line position
G1 Z1.0 F3000; move z up little
G1 X0.1 Y100.0 Z0.3 F750.0 E15; draw 1st line
G1 X0.4 Y100.0 Z0.3 F5000.0; move to side a little
G1 X0.4 Y20 Z0.3 F750.0 E30; draw 2nd line
G92 E0; reset extruder
G1 Z1.0 F3000; move z up little
M117 Printing.....

For Marlin firmware, you should check the setting PROBING_HEATERS_OFF in Configuration.h file:
//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
#if ENABLED(PROBING_HEATERS_OFF)
  //#define WAIT_FOR_BED_HEATER     // Wait for bed to heat back up between probes (to improve accuracy)
#endif
//#define PROBING_FANS_OFF          // Turn fans off when probing
//#define PROBING_STEPPERS_OFF      // Turn steppers off (unless needed to hold position) when probing
//#define DELAY_BEFORE_PROBING 200  // (ms) To prevent vibrations from triggering piezo sensors

It is probably enabled in your case. You may want to switch this off and reinstall firmware to maintain constant heating during probing.
However, you may want to take into account possibility of electrical or magnetic intereferences during probing from heaters and their circuits. Disabling them for a while may eliminate these influences and give more reliable measurements. Unless the bed ot hotend are unable to maintain stable temperature for a while and cool down too much (e.g. bed changing shape). So may want to experiment what works the best in your case, maybe including other settings listed in given section.


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

The extruder is not a single component, but a collection of components. From the top, you may have a bowden tube or a direct feed type of design. If the former, there's the bowden tube which extends into the heat sink. If it is a direct feed and not an all-metal design, there will be PTFE tubing inside the heat sink.

The heat sink is a finned assembly, usually cylindrical, sometimes other shapes. Attached below that will be a threaded coupling called a heat break. Both the heat sink and heat break will be configured to have the same inside diameter, to allow the filament to pass through to the next stage.

The heat break passes into the heater block. The nozzle passes into the heater block from the opposite side. The two items contact each other when properly assembled.

If your nozzle is not blocked, but there is a blockage somewhere else, it would indicate that the PTFE tubing has become damaged or a piece of debris has managed to fall into the opening when filament was removed.

The items are easily disassembled and the pathway for the filament can be cleared with a suitable tool.

If a portion of the extruder assembly has previously filled with filament, the nozzle was not solidly secured to the heat break, or the PTFE filament had slipped back or was not fully inserted into the heat sink.


Fusion 360 Design Best Practices Question (Am I on the right track?) So I've designed a few components in Fusion 360, but I'm kinda new to CAD.  I did the tutorials AutoDesk have on YouTube, modelled an Arduino enclosure, a shampoo bottle, a lamp shade, etc. but what I'm doing now isn't as straightforward...
Before I used to create solids, but what I'm doing right now is essentially a flimsy plastic part, just a sheet of plastic with a rim, and some other "rib" features, and doing solids you have to make a sketch, and every line has to be doubled because of the thickness of the material.
Today I'm trying surfaces after being clued by the "Thicken" command, I figured maybe that was more efficient, but I'm not sure if I'm on the right track.
When I work with solids, I end-up with the option to join whatever new feature to the main body, but with surfaces I end-up with a bunch of bodies that are essentially supposed to be one, and I don't know how to join them together after.
I guess they could be put together in a "component", but I think components are more like a nut is a solid, a bolt is a solid, and a component is a nut and a bolt, not a bolt head, and a threaded cylinder...  So the way the software is made right now at this point, while it clued me to use surfaces, now it's cluing me that there's something I'm missing, or nor doing right...
There's no CAD Stack Exchange site, and I realize this might be a bit specific, but the part is to be 3D printed, I bought a new 3D printer not long ago for a project, but I need to get better at CAD before I can make it...
Attached is a screenshot of what I worked on, it's paths that I've extruded to create surfaces (tall edges), thickened those surfaces to create bodies, patched some surfaces to fill areas, thickened those as well (ended-up with stair-shaped corners that I fixed somehow), then I cut some bodies from the bodies below to end-up with that you see now...
I think I'm on the right path with surfaces, but I don't think my workflow is right, and I was wondering if anyone could help me...
Right now, there's supposed to be two screw wells in two corners of the circle, essentially wells with a hole in the bottom for a thumbtack to go through, and there's going to be a cap to cap it off, it's kind of the same process as what I've done so far, but like I said, I don't think I'm doing it right...

Ok, let's go down the main two ways to a part, and in practice you usually use both to design for 3D printing. Only for machining, you try to keep to the cutting method only.

Cutting Method
Building Method

Cutting Method
You start with a piece of "stock". A cube or cylinder created by extruding the simple shape. Now you go and create profiles that you either extrude into the part or rotate around the axis - your profile "cuts" the "stock". When doing this, you think of parts like a machinist: you remove the material as a mill or lathe would.

Buildup Method
You start with the profile of the piece, then extrude it, then add the next detail and so on. I work a lot with that, and you can have a lot of sketches in the end:


Cooling time query ABS I printed Thingiverse "Benchy" at the default Anet settings for ABS, hot end and bed, as a first test. The result was fair but needs a bit of tweeking. The model was removed from the "hot bed" and set aside to cool (room temp 23degC). However when I took the model to work next day (to show off obviously) the poor wee soul looked more like the wreck of the Hesparus with cracking across many of the layers. Any thoughts? Splitting was on the side closest to the fan.

As you may already know, ABS is one of the trickiest materials to print with, partly because of its high thermal coefficient, which in turns leads with warping and cracks when not dealt with properly.

The keys to successfully deal with this aspect of ABS are two: cooling it slowly and cooling it uniformly. Typically you achieve this by using an enclosure.

Enclosures can range in quality and price dramatically: there are professional grade ones that are fire and sound proof, maintain a negative pressure, filter the exhaust air and cost a few thousands euros... or you could get away with something as simple as using a cardboard box.  Probably, one of the most common solutions is to use an IKEA lack table and some acrylic or wooden panes as it provides a durable, effective solution at a very low cost.

Anyway: the reason why an enclosure works is because it traps the air that has been heated by your heating bed, thus "immersing" the full print (not just the bottom layer) in it.  In turn, this means that:

The difference between the extruded temperature and the final one is less.
The gradient of temperatures across the height of the printer volume is also less.
The print is shielded by random air drafts, like the one you would generate by approaching the printer to check it
When you stop applying heat (print is over, heating bed off) the print will cool very gently.

Now, about that fan...  Using a fan actually increases the speed at which your part cools, so - intuitively - one may believe a fan is a bad idea with ABS.  However a fan is essential if your print has any type of non-trivial overhangs, and - in general - prints done using a fan (in any material) have better details.  Again, with an enclosure, using a fan is seldom a problem as your fan will cool the ABS rapidly but only down to the temperature of the air in the enclosure (most commonly somewhere between 50°C and 80°C).

If your print is very small (like a benchy) and you don't want to try with an enclosure, you could still try to improve your situation by:

simply reducing the speed of the fan (so to only "partially cool" the part)
using a fan duct that distributes the air jet more heavenly around the extruded filament.  Typically these are 3D printable parts that you find in forums and groups of a given printer model users.  Here's a semi-circular one for the Anet A8, for example.


Is there a more efficient methods of removing support in a model? Is there a way of reducing the amount and strength of Model support when slicing in Cura?
Cleaning a model with large amounts of support can consume large amounts of time.

There's a lot that can be done to improve the removability of supports, and much of this is not widely known/published.
One big wrong default in Cura that contributes to problems with support is Limit Support Retractions, which defaults to on. This causes heavy stringing between components of the support structure that should be separate, and poor layer adhesion between layers of the support and between layers of whatever is printed right after the support (!!), making support more brittle and difficult to remove in clean chunks. This setting should be turned off.
I find Enable Support Brim is also useful. Its nominal purpose is to make supports adhere to the bed better, but it also gives them more of a solid bottom so that the structure is rigid and admits snapping off as a chunk.
A nonzero Support Wall Line Count (it's zero by default for zigzag and most support patterns, but one by default for support tree and others) can make chunks of support easier to remove by making them more rigid.
Connect Support Lines (also called zig_zaggify_infill) helps with rigidity too, and with reducing time wasted on retractions once you turn off Limit Support Retractions.
Aside from these less-well-known tunables, the obvious ones are Support Z Distance and Support X/Y Distance, especially Z. You can increase this slightly from the default to make supports easier to remove, but it will hurt the quality of the surface just above the support (making it less flat, more stringy like a bridge). And the biggest one of all is Support Angle. Generally increase it as high as you can go, after doing some test prints to determine the maximum overhang angle you can print without support. This will save material and make it easier to remove what supports remain.
Finally, aside from support options, you want to make sure you don't have underlying print problems causing oozing, bulging, or other dimensional-accuracy/extrusion-accuracy issues. This is because any material that is printed or expands into the wrong place will, if it's adjacent to support material, bond to the support material and make it hard to remove.


What should I consider before buying a 3D printer? I am currently looking to buy a 3D printer. I've done some research about which technologies and materials they use. I've seen some models seems good so far but my concern is 'Are they mechanically solid?'. I don't want it to become a scrap after some usage. Since there are a lot of enthusiasts here that use 3D printer regularly, I would like to get use of your experience with 3D printers and their producer brands.

I am not buying it for hobby. I'll mostly use it to make cases for circuit boards.

Not surprisingly, your question is a difficult one to pin down in a precise manner. I'm going to pull one line from your post as the focus for my answer.

  I would like to get use of your experience with 3D printers and their producer brands

I would suggest that you isolate a few models (or more) that hold your interest. A good example of a popular, quality printer is the Prusa i3 MK2s, although some would consider it to be expensive. It's available in kit form, as well as fully assembled, another topic entirely.

Find the forums specific to the printer models you've selected and read as many posts as you can. Look for user postings describing problems and suggested solutions. Look for user postings describing modifications which implies a problem that had to be solved by the user or community before the printer performed satisfactorily.

I've assisted in the building of a Prusa i3 MK2s recently and am currently assisting in a home-spun design based on a number of other generic printers. The owner of this model is incorporating as many modifications as he can find. That tells me that this model, although not yet completed, is likely to be a handful to tune and operate to his/my satisfaction.

On the flip side, everything I've read about the Prusa told me that for the public library for which it was destined, it would be the lowest level of trouble for any model I researched. I was asked to make a recommendation and performed the suggested research via all the forums I could find.

The above sounds like a direct recommendation, and it could be, but you have not provided too many specifics. The Prusa i3 MK2s (genuine, not clone) would likely print well for your circuit board cases, but there certainly would be other models to do the same job well enough.

Watch out for print bed size, based on your board size requirements. Heated beds usually mean more money, but greater variety of materials can be used as a result.

If you plan to limit your use specifically to circuit board cases, you may not have to be concerned about "expandability" from a feature standpoint. Single extruder models are fine for almost all 3D printing, but it's handy sometimes to have dual nozzle capacity. That's another plus for the Prusa i3 MK2s with an add-on kit, but not a big deal for case building, I think.

Look in the various forums that provide general support for 3D printing (such as this one) for other posts from people who use Brand X 3D printer and have had a problem with, for example, bed adhesion, filament quality, layer shifts, nozzle clogging, just about anything.

As with many things, high quality usually means higher price. The library Prusa has been zero problems for me to support on a volunteer basis, hence my recommendation. The makerspace also enjoyed the building process by buying the kit, saving US$200 in the process and learning more about the printer.

Keep an eye out for users who have experienced broken components or typically troublesome components. You would not want to buy a printer model that ships with a junky hot-end assembly if the suggested modification is to upgrade to an E3D V6 to make it work properly. A user who posts about a continuing belt breakage (rare!) could have a user-induced problem or a printer design problem, which means you'll want to cull out some of the information you see.

Good luck, it's a tough decision, to be sure.


Pause, rehome X/Y, resume Every now and then I'll have a problem with layer shift. Solving this is a separate issue, but it occurred to me: most of the time when this happens I notice right away because of the noise. What if there were an easy to to pause the print, re-home the X/Y axis (not Z), and then resume. I'd only have one layer that was a bit off. Sometimes that's enough to ruin the print but sometimes I could clean up with a razor knife later and just live with the small scarring and weakness.
Is there a way to do this during a print? I suspect it might require support within the printer (or print tool like OctoPrint), and might also depend on how the print is sliced in terms of knowing absolute vs relative coordinates at any given moment.

Have you tried this? It should just work, at least if you're using software like Octoprint to control the printer over serial interface rather than print-from-SD-card on the printer itself. In such a setup you're free to submit whatever commands (in particular, G28 X Y) you like while the print is paused. You'll need it setup to save and restore position across pause/resume, or the next command executed might start from the wrong starting position; this would be no problem if it's a travel command, but if it's an extrusion move it would make a mess.
If you're using the printer's builtin pause/resume functionality, I'm not sure whether it will work. It mainly depends on whether it lets you access the homing function while paused. If not this is more of a logic limitation than any fundamental incapability, and could be fixed in the firmware.


Delta printer nozzle not moving square with a perfectly level bed (as if the bed is bent... but it isn't) I've been having this problem with my delta 3D printer where my nozzle isn't moving flat with my print bed (as if the bed is bent) but I have used the edge of my steel ruler and it seems to be perfectly flat. I have properly leveled my bed with a piece of paper and have checked the whole printer to make sure it's square but the problem continues.
What else could be the problem?
Addition info (from comments)
The gap grows and shrinks in a parabolic manner and it makes it impossible to get a good first layer. the printer is a FLsun Delta Kossel. The links don't appear to be loose. Is there a way I could share a video?
Upon further inspection I found a bit of play in one of the links, I tightened the bolt and the play is gone but it didn't fix the problem.
I have been playing around a bit and I found that the nozzle is closer to the bed in the center than it is near the edge.
I did some research and it's a calibration issue but I have no idea how to fix it. Does anyone know a quick and easy way to calibrate a Kossel Delta 3D printer?

Delta radius controls how the print head moves from the outside to the center.  From the comment you posted, it sounds like your radius is too large which is causing it to hit in the center and you need to make it smaller to bring the center up.  This is not always a number you can directly change as it is sometimes calculated using other offsets so you will need to find that in your firmware.  Also after doing this you're likely going to need to adjust endstops for each tower again or the Z travel to fix your 0 point.

I would recommend following the steps listed here for your calibration.


Order of a HEPA filter and Carbon filter in a filter-stack I am going to make a filter for the enclosure of a 3D printer and want to remove both VOC's (with activated carbon) and Ultra Fine Particles (with a HEPA filter). But in what order should the filters be?
I am thinking that if I put the HEPA first, one will get carbon dust into the air (and that is probably not harmful), and if I put the carbon filter first the carbon will be clogged up with UFP faster and the HEPA will be clogged up with carbon dust.

The easiest way is to look at a profesional dry filter stack first to learn how a filter stack is usually made. So, let me grab my Dyson vacuum cleaner. On the intake side I get the following stack:

large particle trap
foam filter for medium particles
HEPA filter

Incidentally, that's the same setup as my Shop-Vaccum has (though the foam filter gets replaced by a paper bag)
When I googled other dry filters, I found these filter stacks as common:

large particle wavy paper filter then combined Carbon-HEPA filter (carbon first)
2 x Nylon-Mesh, Carbon, HEPA

The idea is to reduce the particulate grain the deeper you go into the filter. The rough filter is cleanable, the carbon filter traps chemicals and odor that might damage the HEPA filter, the HEPA filter catches any remaining particles.
If you want to know more about various filter types and applications, you might want to read an article on engineering 360.
Safety pointer
Carbon dust is not not harmful - it is both flammable to explosive, as well as resulting in Black Lung (Coalworker's pneumoconiosis) if it is thrown into the air like in a mine.
However, commercially produced carbon filters don't usually release any coal dust: after making the activated coal, the product is shaped (as you can see in this manufacturer video) and sorted into various grains, like in the photo below. These granulate are then put into the carbon filter and trapped in a mesh that is small enough to keep them even after having been broken apart some. Very fine grains like the Bead Barbon are usually used in wet applications.

In a kitchen, you have sticks of 3-4 mm diameter, often trapped in a metal mesh. ABC-Mask filters usually use very porous carbon-grains in the half to millimeter grain size, trapped between paper sheets.


Bonding PETG to glass I'm thinking of trying my hand at fabricating microfluidic devices. I'll be using a filament based on PETG (Zortrax's Z-glass filament, which is translucent and resistant to acids and bases). For my plan to work, I'll need to find a good way to bond the PETG model onto a glass microscope slide.

What is the best technique for doing this? Should I use epoxy resin or some other adhesive, or can I solvent bond it? I've heard stories about PETG permanently bonding to a glass print bed, so it seems plausible that solvent bonding might work. Will it work, and if so, what solvent should I use?

The solvents that can dissolve PET are pretty nasty -- I wouldn't personally handle any of them outside a lab fume hood. If you have that, a 50/50 mix of MEK and methylene chloride should work. (Increase MEK ratio if you want faster adhesion / less working time, and vice versa.)

First thing I would try is printing directly onto the (super clean) glass. Print the first layer at high temp to try to get a good bond. Then over-extrude to get watertight perimeters. It MIGHT be better to print on a cold bed to keep the PET from popping off when the glass cools, but you would need to do some experimenting.

You could also try heating the slide to the melting temp of PET on a hot plate and then attaching the printed part.

Failing that, a transparent superglue could be a good approach.


Choosing the most high quality, reliable 3D printer I work in a biological laboratory where we have been using the FABtotum personal fabricator for several months now. The machine is good, however not flawless, and has set us back from doing experiments.

I have overcome many common 3D printing issues, which I find necessary to do when becoming proficient in this technique. However the printer has also had its own personal mechanical and software issues.

Our lab is seeking a printer that is more reliable, can produce parts relatively quick, good resolution, and it is nice if it has multiple modes (i.e FDM, SLA, and even 3D scanning is nice). This is what we figured we were getting with the FABtotum, but as I mentioned it has produced setbacks.

Now I would love to tinker with the printer and modify it to my needs, but unfortunately our lab is strapped for time, however we have funding for a higher quality printer if there is one.

Can you anyone recommend a printer fitting these needs in these budget categories?:

3000 USD
5000 USD
8000 USD or more

I know price doesn't equate quality, but I am saying that we are willing to pay more if that is where the quality lies.

For example, I have come across the Form 2, Ultimaker, and BCN3D sigma printers which seem quite nice. Any opinions are very appreciated.

At work we have a Stratasys Polyjet.  It prints using UV cured gel; so, it is kind of a cross between FDM and SLA.  I have not used it personally, it is mostly used byt the ME group.  The parts I have seen that it produces are VERY good and it support different materials and even multiple materials.  They have a lot of different product levels so they can support different price points.  The only complaint I have heard is the material cost.

It can print some amazing stuff

Here is a nice video https://www.youtube.com/watch?v=HMMJnn_gHWw


How to calculate the strength of a printed object? If I'm working with standard PLA, and I want to print a box that I can stand on without any risk of it breaking, is there any good way to calculate the appropriate print settings?

I know that structural strength comes from the infill.  Knowing this, and knowing the dimensions of the box, the weight of my body, the surface area of my shoes, and the material I'm working with, is there any good way to determine the minimum infill percentage I'd want to use in order to safely bear my weight?

Strictly speaking, it is difficult to do calculations on these materials, but not impossible (I've heard about a few commercial analysis tools that do that). The FDM process (Fused Deposition Modeling) creates a product based of fused slices of material causing an anisotropic material (this means that the properties of the material are different in different dimensions). Basically, your product will be quite strong and similar in the X and Y directions, but fragile in the Z direction (layering direction). You can imagine that every layer may be a seed for cracks to grow when you're pulling at the part.

When applying a compression load on a product like in your example, the walls need to be strong enough to hold the pressure (not all of the load as, based on the type of infill, the infill also can/should take part of the load!) and need to be of sufficiently high percentage, not only to take part of the load, but also support the walls to prevent buckling. I remember that stress calculations for buckling are difficult and require FEA (Finite Element Analysis) for more complex objects other than bars or beams.

I think it is difficult to determine or calculate the infill percentage based on the compression load beforehand as you do not know the exact material properties and the buckling behavior. You do know that a 100% infill will give you enough strength and support, you could try to print at a lower infill, e.g. 75%, and test if that works for you.


How to make a steel mold from a 3D print in high detailed resin? I'm looking for information on how to make a steel mold from 3D print model using high detailed Resin.

My model is a custom made figurine/mininature of 6 inch.

Can anyone share companies that can make high detailed steel molds either in US or China.

Thanks,
-Uday.

Unless you have proven demand, you should start with aluminum tooling. It's much cheaper than steel, and (I'm assuming you want this for injection molding) you can produce quite a decent amount of parts from aluminum tooling if you handle it carefully.

Why do you want your tooling to be based on a 3D print model? Typically, for greatest accuracy, the tool and die company works from your original CAD work that you printed the 3D model from.

In terms of companies, Protolabs does plastic injection molding: https://www.protolabs.com/injection-molding/plastic-injection-molding/


Is it possible to attach a laser engraver to a SLA / resin 3D printer? While trying to figure out if I should start 3D printing with FDM (Creality Ender 3) or with SLA (Elegoo Mars), I got hooked on the bonus feature of attaching a laser upgrade on the 3d printer to make paper cutouts and cards. I read that its quite easy for the Ender 3 and dozens of other FDM printer, but I could not find anything about adding a laser to resin printers.

Question: Is it possible at all to attach a laser engraving module to a SLA 3D Printer like it can be done to FDM?

Additional information about pro/cons regarding this topic would be nice and are truly welcome.

Not with consumer equipment.
FDM printers are functionally three-axis motion control machines: "extrude quantity W material at position X Y Z, continue to next W, X, Y, and Z."
Adapting it to control a laser position is a relatively simple task, because most of the logic is the same. "fire laser for W duration" instead of "extrude quantity W material". Moving the laser around is functionally similar to moving the print head around.
Consumer SLA (aka "DLP" or "mSLA") is an entirely different logic, a different process. It is effectively layer-by-layer snapshots, rather than multi-axis motion control. They do a whole layer at a time, then lift the whole object up for the next layer: "flash layer 1 for W duration, lift bed Z, proceed to layer 2."
Professional/industrial SLA printers that use lasers exist (like SLS), but they're tuned to precisely cure photopolymer resins, not cut things.


Why is glass a widely recommended option for the print bed? Glass is really bad at transferring heat. Therefore using it with heated bed seems to be a strange solution since it will not be transferring heat from bed to the print.
However every article I see says it is actually good solution for printing.
The reason I am concerned is that I have pretty large bed (500x500 mm) which is pretty hard to keep flat. And in this case glass would be a good top surface that will keep bed rather flat. But same time I am concerned that it will kill the benefit of heated bed (PCB style) and will require higher bed temperature to get glass surface to equal temperature.

I suggest to look at a similar question, but just the glass question here:

Glass is a very smooth surface
Glass shrinks when cooling to a degree it pops the print free on itself
Glass is virtually impossible to scratch with metal scrapers
Glass stays fairly flat under heating
Refurbishing of the bed isn't needed but for applying your adhesion solution (Woodglue, Gluestick, Hairspray, 3DLac, ABS-Slurry... pretty much ANY glue can work
Glass is one of the few surfaces upon which almost all materials can be printed without risking ruining your print surface on removal

PETG is one of the few that demands some sort of extra adhesion material with glass, most others don't need anything.
POM and some other materials love to rip PEI apart
I had a huge PLA-print stick so well to a BuildTak that I had to cut the sheet off the bed to get it off

The problems are fairly evident on the other hand:

Glass is brittle and shatters on impact or thermal stress.
Good glass can become rather expensive if you want a super flat sheet in non-standard sizing and a specific type.
Large glass sheets need a very even heater to prevent thermal stress.

Borosilicate?
Borosilicate glass ("labware" glass) is more resistant to thermal stress but also does not pop free from the print the same way as normal glass does. It is also more sturdy but MUCH more expensive. It also comes with its own problems:
Some people have experienced spalling in combination with PETG, as it created a perfect airtight seal, making an adhesive as a separation layer mandatory. This behavior was also reported for normal glass, which is why an adhesive material is strongly suggested for this material.


OpenSCAD render (F6) fails with "ERROR: CGAL error in CGAL_Nef_polyhedron3()" I built a model and it previewed correctly.  When rendering for STL export (F6), I got an assertion error:

ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation! Expr: e->incident_sface() != SFace_const_handle() File:
/mxe/usr/x86_64-w64-mingw32.static.posix/include/CGAL/Nef_S2/SM_const_decorator.h
Line: 329

Most of the model rendered correctly, but one component disappeared.
Moving the object didn't change the problem, but isolating just the disappearing part gave me a correct render of that part.

Reading between the lines on other forums, I found that the GCAL renderer will render a malformed object, but it will fail when a binary operator, such as union or intersection, is applied to that object.
There was a discussion about degenerate points (two points in a polygon list that were the (nearly) the same values.  I had this situation, but fixing it did not solve the problem.
I rederived the face lists, and found that for one face the vertices were listed in the opposite order from the others.  Rather then using right-hand-rule, I had used left-hand-rule.
Reordering the vertices for the one face fixed the problem.  There was no way to see the problem from the preview.
A more useful diagnostic message would have been helpful, or a tool for checking polyhedra for being manifolds could have saved me hours of experimenting and failing.


Getting better support than Slic3r generates I found a nice model for a ship from the game "Eve". It doesn't have a flat bottom, so it needs support material. But Slic3r generates several dozen tiny support pillars, and one by one they break loose from the build plate. As they get tall, the leverage of course increases, and since they're so tiny they don't have much area in contact with the bed, so they separate. Eventually the whole model broke free, turned a bit, and since I had gone to dinner it kept printing... see below. I think the main problem is the poor support material geometry, but the controls in Slic3r for support material don't seem to give many options.

How can I get better support material layout? Oh, this is PLA, by the way.

(appending to question to be able to put in the picture)

I tried a bunch of things, and the MeshMixer support, plus fiddling with several settings, got it to come out pretty well. Thanks to all, esp. @Tormod!

I know many Slic3r users - myself included - add support material to the model itself before importing it into Slic3r.

I personally favour MeshMixer for support generation, as the supports are much more predictable and easily removable. In complicated cases I also add supports in my CAD software.

Although a not free, the support generation in Simplify3D is supposed to be great, allowing for custom placement.

I also found this review that compares support settings in Meshmixer, Slic3r and Cura fairly well. Here is the summary:

  Meshmixer

  This support was the most efficient in material use however it required the most manual tweaking to print properly. In addition the marks it left once removed were more noticeable than Cura and (sometimes) Slic3r. While the settings could probably be further modified to improve the performance this support type appears the most limited for future improvements.

  Slic3r

  The support's performance was variable - by far the best in some situations (fox's head and tale) however the worst to remove with the most obvious marks in other areas of the same model. This may be down to my chosen settings and with some more tweaking I may get better results. The most obvious general flaw is that it does not leave a big enough gap between the support and the unsupported areas of the model (like the foxes legs or the lower roots of the planter)

  Cura

  While some of the support left marks, overall it was the easiest to generate support which performed consistently well. Once again though slight tweaks could improve this further for specific models.

  Overall Cura wins my "no time to tweak - got to make it work now" award.


At which point does a delta 3d printer change the G-code in order to work in its non-cartesian design? For example, to make a DIY cartesian 3d printer you could use/do the following:

Create G-code using a program of your choice.
Load it into Universal G-code Sender (GRBL).
Pass it into an Arduino with GRBL.
The arduino can pass the instructions to the drivers through a GRBL arduino uno shield.
The drivers will control the steppers.

If you want to make a DYI delta 3d printer, which point of this whole process needs to be altered in order for the delta printer to work properly? Is there an existing open source software for delta printers/cncs?

EDIT: This question could be asked about any kind of non-cartesian 3d printer, including Delta, SCARA, Polar, etc.

The short answer is that the handling of the non-cartesian design is done by the motion-control firmware running on the Arduino.

The long answer:

I don't believe GRBL supports non-cartesian designs, and it is not commonly used for printers. It is more often used for mills, routers, or laser machines. 3D printers will typically use a firmware such as Marlin, which supports several printer designs, including Delta machines.

At no point is the g-code itself changed. The motion control firmware running on the Arduino or other controller interprets the g-code and determines which way and when to step each motor to accomplish the motion.

With a simple cartesian machine, commands for the X-axis only relate to the X-axis motor, but for a non-cartesian machine the axis and motors have complex relationships. The firmware must be programmed and configured to control the motors correctly.

The g-code itself is never passed to the drivers. The commands to the driver are simple electrical signals to "enable" (to energize the motor power - even to just hold position), "direction" (which way to rotate the motor shaft), and "step" (which causes the motor to rotate by one step in the selected direction).


What is the difference between STL and OBJ files and which one should I use? One of the CAD programs I use is called TinkerCAD, which lets you export your design in either STL or OBJ form. What is the difference between these two file types? And which one is better to use?

STL is the de facto standard in consumer-grade 3D printing.  It is a bare-bone format that describes the shape of the object by defining the coordinates of all the vertices of all triangles that a surface may be subdivided into.

This means that in STL any curved surface is represented with an approximation of many very small faces.

OBJ is also somewhat common, but it was originally developed for computer graphics, not manufacturing, and as such is capaple to store information like the texture images to be applied to the surface, which are of no use in the 3D printing world.

In terms of geometry description, OBJ is more capable than STL, as it can describe "real" curves, without the need to approximate them to a series of polygons.  The benefit of this feature is however more theoretic than practical, as:

most entry-level CAD software don't make use of that feature and create a STL-equivalent OBJ file (so, still with polygons)
a typical STL model for 3D printing will have enough resolution to give the illusion of perfect curves (the same way a high-res screen gives the illusion of perfect curves, despite its pixels being arranged in a squared matrix),
the slicer/printer's firmware may themselves approximate an accurate curve to a series of segments

Short said, I would suggest you use STL unless you have a specific reason not to.

If you would find yourself in need to accurately describe curves I would rather use the STEP file format, as that has been specifically created for manufacturing, rather than "borrowed" from computer graphics.


Cleaning E3D hotend and tuning with Cura? I just received my E3D v6 hotend and I am installing it on the open source design of a Prusa i3. How do I clean my hotend after each print and after using different filaments?

Usually there is no need to clean the hotend, as filament sticks well to itself rather than to the inside of the hotend. If there are remains - the simplest way to clean it up is to extrude 5-10 cm of new filament, which will gather all remainings clean the hotend.

The above concerns changing filament in the same group of plastic. So if you print PLA you can switch colors/manufacturers and so on without issues. The same goes for ABS.

There is also usually no problem when switching from PLA to ABS.

The worst scenario is to switch from ABS to PLA. This is because the extruding temperature of these two materials is different. Unfortunately ABS can have such a high melting temperature that the PLA will burn. So having a dirty hotend with ABS remainings, there is no way to extrude PLA to clean the hotend because the PLA temperature will not result in melting ABS. It can eventually lead to total plug of HE.

So what can you do when you are in such a situation (ABS -> PLA)?

You can clean the hotend first with ABS. Extrude some, wait until it is cold, ease the springs and pull or tear out the filament from the hotend.

If you are stuck you can use special drills to clean the nozzle.

But to totally omit the issue you can have two hotends :) One for ABS and one for PLA ;) But I think you can manage cleaning if you apply what I've written above.


Software to record hot end temperature? Is there a software package that when I have my printer connected directly to my PC via USB could record and export hot end temperature data overtime?

Ideally this data would be recorded in a way that I could export it and manipulate it in the likes of Excel.

E.g. I see Pronterface has a temperature graph but it doesn't seem possible to export this. I know Simplify3D has a temperature plot in the machine control panel, anyone know if you can export from this?

I don't know if using OctoPrint is an option. If so, there is a plugin that claims to do exactly this. And you could probably find a few more if you looked for them. Note that I have no first hand experience with this plugin, but I can vouch for OctoPrint being convenient and by default it shows a temperature graph.

It might even be relatively easy to write your own plugin to accomplish this. This will mostly depend on your comfort with coding in Python/JavaScript.

As a sidenote: if your printer is connected directly to your computer via USB, chances are pretty high it is a simple serial connection. Having multiple programs use this connection at once is not possible as far as I know.

This implies that you will not be able to have your current software send it G-code lines while having another one recording the temperature values sent back from the printer.


Stuck filament in the extruder of Infitary M508 Model: Infitary M508

Details: The filament is stuck in the extruder preheated for PLA (the filament is PLA 1.75 white). The extruder's motor works and the filament is in the hole of the extruder (not somewhere else). I took the fan covering the motor apart, to show what is inside, so you might see it on the attached image:

You might also see this video for details: https://www.youtube.com/watch?v=R8rYGhuYWvc

I'm able to pull the filament out, when I uncouple the motor's gear, but it doesn't go through the extruder when I push it in.

What can I do to fix this? Thanks!

P.S. It's the first start of the printer.

The hot end can clog in two places.

Heat distortion can cause the filament above the nozzle, at the level of the cooling fins, to melt, expand and prevent further passage.
The nozzle itself may be clogged by impurities.

There are two methods available, depending on the type of clogging.

If the hot end is blocked at the level of the cooling fins, a so-called "Atomic Pull" helps. This is also a convenient method of changing filaments. The hot end is heated to approx. 90°C and the filament is pulled out of the hot end with a bold jerk. The filament does not melt completely and remains tough. Thus the complete plastic is pulled out of the hot end.
If the nozzle is clogged, an "Atomic Pull" only helps to a limited extent.
To clean a nozzle, the hot end should be removed from the holder and the heating block unscrewed. You need a gas burner. With the gas burner the brass nozzle is heated until the plastic is completely carbonized. Wait until it has cooled down and reassemble the hotend.

Post-cleaning advice:
Be sure that the hotend is cooled enough that no heat can creep up the hotend and melt the plastic before it enters the heat block. Without sufficient cooling clogging pre-nozzle is very likely.


How to heat up a Printrbot's hotend using an SD card My Printrbot simple metal's extruder is jammed and I need to heat it up to unjam it. Unfortunately, the printer does't want to connect to my laptop regardless of the program I'm using (Repetier-Host or Cura 15).

Is there a way to use a micro SD card to heat up the printer hotend but not print anything?

Sure there is. As you use Cura, you can grab any G-code file (you already have) and use it to set hotend temperature (delete the actual printing part from the file) to get something like this:

;FLAVOR:Marlin
;TIME:102
;Filament used: 0.0573674m
;Layer height: 0.2
;Generated with Cura_SteamEngine 3.3.1
; M190 S60 ;-> this sets the bed temperature so we can comment it out
; the next line sets the hotend to 200 degrees Celsius
M104 S200

As every line that starts with a semi-colon is a comment and is ignored by the printer, M104 S200, would be the only line you need in the printout file.

If you're interested in knowing more - look here: G-codes on reprap wiki


Knocking/Clicking sound when Y-Carriage passas trough the middle of rods Here is a video about 30MB, that shows my printer and it's sound during printing: https://drive.google.com/file/d/1wj5_Uwv4X8SoLaouxBi1FHFi4x4Uoegd/view?usp=drivesdk

I guess the reason of this sound is the bed. Because I couldn't level my bed with screws and upper=left and bottom-right corners of the bed were about 1.5mm lower than the opposite sides. So I added two nuts behind the springs of these two sides! I don't know really if it could help but know I can print almost good.

So i think the knocking sound is because of these nuts and my bed carriage is not 100% flat(although it seems flat by eyes). Or maybe my rods aren't parallel(although they seems parallel by simple ruler measurement).

By the way, I like to know does anyone experimented same problem? or can guess the real problem or suggest a way to solve it?

And IMPORTANT question: May this problem break my heated-bed? Or causes new problems in future?

I don't think the sound is coming from nuts and springs.

I can think of 3 possible sources.

Y axis rod bearings

Those four bearings that are mounted onto your bed frame may be binding through rough spots on the smooth rods. Usually printer kits don't give you the best quality stuff and those rods may not be perfectly the same diameter throughout its length or may be bent so slightly. Your best bet to test if this is the problem is to remove the belt from your bed and slide the bed back and forth and see if you can recreate the sound trying different speeds and pressure while doing so.

Y axis pulley/idler

I think it's probably this because I have heard a similar noise and this part has failed on me. Usually these are either a plastic pulley, two bearings, two bearings inserted into a plastic pulley, or one larger bearing inserted into a plastic pulley. If your printer uses a bearing here, I recommend taking that part off and inspecting that bearing. I've had mine destroyed and the little balls went everywhere. You can test this by just trying to hear for it. Turn off the printer motors and move the bed manually, see if it sounds like it is coming from the idler.

Nozzle hitting print

I doubt this but sometimes when prints are over extruded or curl up, the nozzle hits the print as it passes over so maybe your hearing individual collisions clicking. Again I really doubt this.

Will this break your heated bed? Probably not. Will it cause problems in the future? If it is a fault with the bearings, most likely they will fail eventually but nothing else should get damaged in the process. But no worries, parts are cheap and readily available online or even at some hardware stores.

Note : My mechanic taught me this when trying to figure out which bearing was making noise in a car. Take a long screw driver, preferably with a wooden handle, and place the tip on the part you think is making noise and place the handle to your ear. Usually this amplifies the noise when your making contact with the faulty part. Using this I was able to figure out which bearing was squeaking among the half dozen points where the belt would spin. Not sure how well this works for a printer and be careful not to have the mechanical moving parts(such as your printer bed) hit the screwdriver into your face.


How to improve this Benchy? BIQU B1 I have just acquired my first 3D printer, a BIQU B1. Overall I'm quite pleased with the printing results but I'm having minor defects on the Benchy test. I'm not sure what the problem is, but I guess it's related to the overhang and maybe vibrations.
My print settings are:

Software: Ultimaker Cura
Temp: 205 °C
Heatbed temp: 60 °C
Height: 0.2 mm
Print speed: 60 mm/s
Travel speed: 150 mm/s
Flow: 94 %

From the Benchys, it is apparent that the temperature is quite high or that there is not enough part cooling flow. This can be seen from the sagging of unsupported overhanging structures. Considering the bow of the Benchy is quite fine, the most probable cause is the temperature, usually with too less part cooling flow, the bow shows defects.
Please note that a Benchy is a gimmick that does show defects, but it isn't a calibration object, there are many other different test prints available.


Ender 5 with 8-bit Creality 1.1.4 board- Issue with speed of extruder motor spinning too slow The issue I'm having is that the extruder motor is not spinning fast enough so the filament doesn't come out as fast as I would like it to.
In terms of the specs, the printer is an Ender 5 that has the Creality V1.1.4 8-bit motherboard in it. The only issue I need to fix is the rpm of the motor (Nema 17 stepper motor) because it doesn't spin fast enough.
I have tried changing the feed-rate settings in the Marlin firmware code but that didn't fix the problem. I found this video yesterday where a guy said that you have to change the steps per unit value in the code which depends on the micro-stepping value that's set for the stepper driver in the motherboard.
However, I don't know how to check or change this driver value so I searched up and found that usually for the A4988 drivers which are in the 1.1.4 board they're set to 1/16th micro-stepping. Online it says for 1/16th micro-stepping you need to change the extruder steps per mm value to 409 (rough estimate) in the marlin code (it was 93 before so I am wondering if changing this value would increase motor speed).
I don't know if this is a software issue or if it's because the stepper motor just isn't getting enough current due to the 8-bit board so if I swapped out the 8-bit board with a 32-bit board can I change the motor speed by increasing the amount of current that is sent to the stepper motor? Or does the board not really matter?
Sorry if the details aren't clear or something I said doesn't make sense as I am new to this.

I think you might be asking how to adjust your steps per mm, but if the motor is moving the correct distance, but at a slow speed, then it might just be a speed problem with settings, or whatever it might be. I have an Ender 3 but I think I might be able to show you how to calculate the steps per mm. There is a simple equation for this.
New E-steps=(target distance/actual distance moved)*current E-steps
You can use this equation with a couple steps.
Step 1.   Make your printer extrude 100 mm of filament, then measure with a digital caliper how much it actually extruded (or moved). Plug this measurement into your equation in the part "actual distance moved", and put 100 in the part "target distance". You can control the motors by going to: prepare then move axis.

step 2.  Go to the steps per mm section.

Then use this value to fill in the "current E-steps"(but on your printer of course)

In the end your equation should look like this:
New E-steps=(100/your measurement)*your current E-steps.
After you solve the equation, put the answer into the printer. To save your changes, go back two pages from "Steps per mm" and click the "store settings" button. This will save your changes onto your sd card, so make sure that it is in the slot when you do this. Also make sure that your sd card is in the printer at start-up, because it needs to boot up with the settings. (at least on the Ender 3)


How to avoid warping when using supports I find when printing with supports there will almost always be cracking/warping where the object intersects the support material (i.e. the areas that needed supports). Is there a way to avoid this?

Here is an example of one of my first ever PLA prints that exhibited this behavior. As can be seen, the top part printed fine; the bottom part that had supports attached--not so much.

If I am iterpreting your picture correctly, what you are referring to as "cracking and warping" is simply the irregularities of the plastic where it rested on (and partially bonded with) the support material.

Unluckily, apart from upgrading to a dual extruder printer (and use water-soluble filament for the support) or switching printing technology entirely (e.g.: using a sintering printer) you can only mitigate the problem, but the defects will remain, and will require post-processing to be rectified.

So, in no particular order, here's a list of the most common way to tackle this:

Use a slicer that allows you to place support only where strictly needed.  I have never used it myself as I am a FLOSS enthusiast, but - at the time of writing - among the mainstream ones only Simplify 3D offers this feature.
If your slicers does not support that, tweak your support material settings.  In Cura (and for my printer/filament) - for example - it helps using "support interfaces" and leaving quite a XY gap between model and support.
Instead of printing your model in one go, print it in multiple parts that you can then glue or assemble together.  For example: the spaceship you took pictures of could be printed without any support at all if you were to cut it in half (back and front of the ship, the cylinder connecting cockpit and wings also cut in two).
Use a material that can be chemically smoothed.  Traditionally that would be ABS + acetone vapour, both of them cheap and toxic, but more recently it polysmooth has hit the market with a safer (and way more expensive) system.  This approach will also improve the look and finish of the rest of the print (as also the layer marks will be smoothed out).

Again though... support material marks are sort of part of the game, when using FDM technology, so you should expect some sanding in most prints that required support.


Custom Infill Pattern Based on Self-Generated Geometry I am trying to look for my options for generating a custom infill pattern which complies to a geometry that I want to repeat. I can get the geometrical coordinates too in order to make the final shape. Has anyone done so previously?

From my experience, this is hard, particularly because slicers are not made to handle it well. They generally do their infill generation efficiently in terms of 2D geometry, built as a function of the layer height and the outline(s) in the layer. Of course you can actually make the infill pattern part of your model geometry, or use a separate model intersected with the interior of your model as the infill, but having the infill structure be 3D geometry means that the slicer will be quantizing it to layers, and will have a hard time generating exactly-one-line-thickness extrusions that print will for the infill cross sections.
If you do want to do this anyway, OpenSCAD provides the tools to do the necessary intersection of your generated geometry pattern with the model interior.


Does cheap "plasticy" blue painter tape actually melt when printed upon? Leading on from Darth Pixel's photographically informative answer to Why does the painters tape have to be blue?, which showed close up the plastic fibers of cheaper versions of painters tape... as Darth Pixel himself questions:

  is such tape melted in any way in contact with extruded filament?

In other words, does such cheap, low quality, tape use fibres made from a plastic which has a melting point lower than that of PLA or ABS? If so, does this cause the tape to stick to the 3D print?

Obviously the higher quality (manila/paper) based tapes would not suffer from this potential melting issue.

Does anyone have real-world experience of this? Any photos showing melting would be great.

It really depends on the tape. In my case, I've used various types of blue painters tape in bed adhesion situations and have only had one occasion where it sticks to the part. (All experience is with PLA) Best advice I can give is give it a shot, and be sure to wait for the part to cool before removing it from the bed for the best chance at not having tape stuck to the part.


Proof that Slicing Plane/STL intersection will only produce Closed-Loop Polygons? I am writing my own slicer and wonder if there is a mathematical proof that proves that the intersection of the slicing plane with the STL file will only produce closed-loop polygons for every given slicing plane?

Thanks!

You can't prove that because it isn't true. An STL file is just a collection of triangles. There is no guarantee that an intersection with the slicing plane will consist of closed-loop polygons. To be suitable for 3D printing an STL file should represent one or more closed, disjoint polyhedra (which would yield closed-loop polygons) but this is not always the case. Many slicers have heuristics to try and "fix" bad STL files on a best-effort basis. Especially considering the possibility of rounding errors, it is important to at least detect polygons that are almost (but not quite) closed and connect their endpoints together.


Can I print my own Lego bricks? Assuming I've 3D design (or I've created one) which looks very similar to Lego bricks, I am allowed to 3D print them for my personal use?

Do I need to obtain some permission to do so, because of some patents? Or how does it work?

The patents that cover Lego bricks have expired, so you are free to print bricks using the same interlocking system. You are even allowed to offer such prints commercially.

What is not allowed (and a violation of trademark law) is to call them "Lego bricks" or use Lego's logo. "Compatible with Lego" on the other hand, would be fine.


Trouble printing small thin pole 3D-printing newbie here. I have a Geeetech's Prusa i3 mk2 B.

I'm trying to print this: https://www.thingiverse.com/thing:1358311

That's a mold, with 2 external parts and a core. The exterior prints wonderful. But the core is too messy. Take a look at this:

What riddles me is that the side parts, and the pole's base, print fine; so this does not look like a bad calibrated printer, but something else entirely. My guess is this is some precise tuning I don't know yet.

I've been trying to print that little pole without success for over a week now. Tried all this:

Changing the slicer program (I've used Ultimaker Cura and Slic3r prusa edition)
Tuning the e-steps for avoiding over-extrusion.
Tuning the z-steps, so the nozzle doesn't melt the last layer when printing a new one.
In the same sense, changed the nozzle heat.
Tried lots of different layering, speed, walls, bridging, and quirks configurations.

So far, the best I got is a little pole not-too-deformed so I can make my part anyway, even when the pole is not well printed. But after seeing lots of videos and reading lots of tips online, I still don't understand how to tune my print for that simple little pole.

Other that tips, what I would really like to ask is if somebody has a name for that problem I'm facing, so it would be much more easy to search for my tuning options.

So... any clue how to fix this?

Basically, you print too hot (and fast) without enough cooling. The deformed small pin in your image is a perfect example of depositing new layers onto too hot (not cooled down enough) prior layers.

You can easily solve this by printing two identical parts spaced apart from each other. This allows the layers to cool before the next is deposited.

From mastering Ultimaker Cura:

  When printing a series of small parts, print them all together. The
  travel time between the parts is often enough time for the layers to
  cool without changing your settings.

If you do want this to print as a single piece, you need to:

tune down hotend temperature (use the minimum temperature that gives good print results, printing a temperature tower will help to determine this),
increase minimal layer time (may not always work as speed will not be lowered under the minimum printing speed) and
increase part cooling fan percentage (or print a better fan duct that allows for more cooling air to reach the print; many fan ducts are too convergent, the pressure increase is then too big for the fan to effectively push air through it).


Increasing rigidity of curved, long, thin parts I'm attempting to model and print a globe.  The semi-circular arm that holds the globe has an outer diameter of 98mm and inner diameter of 92mm, so the arm is fairly thin.  The arm has a small hole on either end that fits around a protrusion at each pole of the globe to hold it in place.  The hole extends into the arm only a few millimeters, so it doesn't go all the way through.

I printed the arm in ABS and it ended up being a bit too flexible to hold the globe securely.  Obviously I could do things like making the arm thicker or extending the globe's protrusions all the way through the arm, but I'd prefer not to if I don't have to (you know, artistic integrity or whatever).

Would printing in PLA result in a more rigid part?  I've tried to do some googling on this, but couldn't really find a definitive answer.  Most comparisons focus on strength which I assume doesn't necessarily correlate to flexibility.

I'd also welcome any other suggestions for making the part more rigid.

The flexibility of 3d plastics has a lot to do with the additives manufacturers use.  The same base material with additive X may have very different properties than the one with additive Y.

That said, generally speaking PLA is known to be more rigid (and brittle) than ABS, but less strong.  So: you have a fair chance at giving it a go with PLA, albeit you my end up with a more delicate object in the end.

There is a well known youtube channel, whose author has performed a lot of quasi-scientific testing on common brands of filament (PLA and not) where you can get an idea of the relative rigidity of the filaments.  You can find the table with the results here (look for the "bend test" columns).

However the very firs thing that came to mind when reading your post, is that you could simply swap pins and holes by putting the holding pins on the arm, and the holes on the globe instead.  This would allow you to preserve your design and to have longer pins.

Things you could try when it comes to printing (unless you are already doing them):

Print the arm flat so that the layers stretch from pole to pole uninterrupted.
Print with near solid infill (solid infill can be problematic if your extrusion calibration is not perfect), like 95% and cubic infill (for more uniform properties along the full length of the axis.

Finally, you could try to anneal the arm in your kitchen oven.  This process works by warming the part until it becomes pliable and then letting it cool very slowly.  The end result is that the molecules arrange themselves in a more "crystal-like" way and the part becomes stronger and more rigid.  Beware that annealing changes your part dimensions so you should definitively do some experiments with a test cube and find out the direction and percentage of the shrinking before going "all out" on the arm.


In OctoPrint when receiving temperature data (M105) what is T0? I've setup OctoPrint with the goal to log temperature data of my hot end. So, I've enable serial logging and examined the serial log file.
The Output for an example line is as follows:

Send: M105
Recv: ok T:20.7 /50.0 B:20.0 /0.0 T0:20.7 /0.0 @:0 B@:0

So, from what I understand:
T = Thermistor temp of hot end °C
In the example, current temp is 20.7 and target temp is 50.0
B = temp of bed °C
In the example, current temp is 20.0 and target temp is 0.0
But what is T0?
Or the @ and B@?

T is the selected tool, T0 is the first hotend tool. If you only have one hotend, T and T0 are exactly the same.

Do note that G-codes are described on the G-code wiki page, for M105 you can find:

  The parameters mean the following:
   - T, T0, ..., Tn - extruder temperature. In a single extruder setup, only T will be reported. Some firmware variants will report no T0 in multi extruder setups - in that case T is to be considered the temperature of the first tool. Otherwise, T should be considered the temperature of the currently selected tool (which will be repeated in one of the Tn entries)
   - B - bed temperature
   - C - chamber temperature
   - @ - Hotend power (Prusa only)
   - B@ - Bed power (Prusa only)
   - P - PINDAv2 actual (Prusa MK2.5/s MK3/s only)
   - A - Ambient actual (Prusa MK3/s only)


Prusa I3x and repetier host heat problems I've saved settings in the slicer for pla and abs, set the default bed temp to 90 and extruder to 185. No matter what settings I select to print with, the bed temp sets to 110 and the extruder to 230 when I send a job to print which I don't want. If I then control the heat manually, repetier or the printer  seems to ignore my requests.
If I try to kill the job I keep getting a box coming up asking me to switch the heats off; I select yes and nothing happens.

If I use the emergency stop the heats switch off.

You may set the temp in Repetier but when you run the gcode it will send any of the temp settings in the file. So you may set 210 °C first but if 200 °C is in the G-code the printer will take that (as the gcode is sent one instruction at a time). However I also noticed that after the automatic bed leveling any manual settings on the printer are reset to the G-code (I assume the file is re-stating the temp after bed leveling) So I have to override the file temp after the bed leveling is complete.
I now use OctoPrint and it has a cool feature : temp offsetting, you can specify an offset for every temperature the OctoPrint server sends to printer; e.g. in your file it is set to bed: 110 °C and extruder: 230 °C you can tell OctoPrint to take 20 °C off all bed temps sent and 45 °C off any extruder tempperatures sent. It's great for tweaking the temperatures of your G-code without editing or re slicing, just change the temperature offset and reprint.
I noticed on a previous firmware version for the I3 mk2s Repetier did not connect properly to the printer this problem disappeared in the latest Prusa firmware (v3.1).  One of the symptoms I noticed was the temperature settings were not taken by the printer.
Some slicers have a setting to have sticky parameters, i.e. set temperature once don't bother re-sending. However if this was turned off, it is possible that the generated G-code repeatedly send the temperature settings with every instruction, continuously resetting and overriding these values. (OctoPrint temperature offsets would correct this)


Exhaust air solution Can you think of a preferably cheap solution for me? I need a machine that pumps air out of my 3d printing enclosure, about 4 meters of pipe length. (From enclosure to window) What kind of pump or fan can pump air out of the enclosure (4m pipe length) at the lowest possible price and low volume?

I need it for cooling purposes and for better general air quality in my room after opening the printer enclosure.

It doesn't need to be top notch equipment, just enough for my purposes.

Air flows from places of higher pressure to those of less.
Minimal setup
I propose to look at a very simple setup which works for short lengths of pipe:

Choose if you want a radial fan of a direct passing fan. get one, measure the intake and the outlet side holes
cut a fan inlet-sized hole directly into the back of the enclosure.
mount your fan onto it, most likely with some kind of foam to keep the airstream in.
get a flexible air vent hose (I have seen ~$10/10€ for a 100mm one) and measure the inner diameter.
print an adapter from the fan outlet to the vent hose.
mount the adapter, then the hose, use clamps to secure it.
lead the air vent hose to the window and out or into a wall through.

Even if the airstream doesn't seem to be very fast, you could test it with smoke to see that it will blow out the air on the other end of the hose. The large diameter lets quite some air out with just a "gentle" airstream. This is not a very efficient system though, as we build up a pressure in the pipe the fan wors against.
efficiency gains
To gain efficiency, we should move the fan away from the machine and closer to the outlet. That means, we need to increase the fan power. If you can get your hand on, for example, an in-pipe motor, that would be a solution, but usually an expensive one. If you are good with electrics, you could use a blower from an electric cloths-drier. You might get a clothes-drier to strip the motor from really cheap, for example from a renovation, recycling facility or Craigslist, e-bay or any other auction or classifieds-page.
Or you build your own from an electric motor (you could use your machine's power supply here), a housing made from wood and an impeller, which you can get as a "Dryer Blower Wheel" spare part for under $50. If you connect the power for its motor through a regulatable resistor, you could even control its spinning speed.
To cope with the suction, we need to use aluminium flex pipe on the arm between machine and exhaust.
go big
If you want to go industrial like if you want to run a laser cutter, you will need to go industrial in the vent size too. You use pretty much the same diameter aluminium flex pipe and a much stronger motor than the drier one, and you don't mount the motor directly to the machine back but somewhere downstream as it's rather loud. For what to look for in that case, I found a very good article here. Note though, that this is not a small setup, but you could possibly vent a whole batch of printers through one pump, using some airstream cutoffs to control which ones get currently evacuated.


SLA printing: piece does not stick to supporting structures I am trying to print a box shaped object with an ELEGOO Mars SLA printer. I positioned the piece rotating it on X and Y axis 35 and 30 degrees.
However, the print fails because the piece does not stick to the supporting structure (see picture).

Do you think that it could be a problem of the piece sticking to the display due to overexposure or deteriorated film? Or is it something else?
I tried two prints, lowering the exposure time from 8 to 6 seconds, the second print still failed but at least the piece is not totally stuck to the display.

Any other idea?

First failed print with 8 seconds exposure: the film was completely jammed and all the resin was stuck there (this is why there is no piece on top of the supporting material)

Second failed print with 6 seconds exposure: the film was perfectly clean, but the object did not stick to the supporting materials therefore collapsing.

This is the 3D drawing

I have tried to print the piece upside-down with the cave part facing down and it worked.
Since the printer prints upside down, positioning the cave part facing up creates a suction-cup effect on the printer display that makes the whole structure stick to the lcd and detach from the supporting structure, thus making the print fail.


How to directly send G-code to printer from a Linux terminal? Should it be possible to directly send G-code to the printer serial connection using pipes under Linux?

Example:

echo M106 > /dev/ttyUSB0

My controller runs at 250000 baud, I have tried setting the TTY baud rate to 250 kBd with:

stty -F /dev/ttyUSB0 250000

But, unfortunately, this particular baud rate appears to be unsupported under Ubuntu, giving the error:

stty: invalid argument ‘250000’

For direct low-level printer control from a terminal, without specific software, I found the following solution with full credit thanks to user: http://stackexchange.com/users/6463673/meuh

Sharing here as may be of use to other users in the 3d Printing community, and I was unable to source a "complete" solution to this elsewhere.

Step 1)
Create a custom python script that allows you to set arbitrary baud rates (make executable with chmod u+x).

#!/usr/bin/python
# set nonstandard baudrate. Original Question: http://unix.stackexchange.com/a/327366/119298
import sys,array,fcntl

# from /usr/lib/python2.7/site-packages/serial/serialposix.py
# /usr/include/asm-generic/termbits.h for struct termios2
#  [2]c_cflag [9]c_ispeed [10]c_ospeed
def set_special_baudrate(fd, baudrate):
    TCGETS2 = 0x802C542A
    TCSETS2 = 0x402C542B
    BOTHER = 0o010000
    CBAUD = 0o010017
    buf = array.array('i', [0] * 64) # is 44 really
    fcntl.ioctl(fd, TCGETS2, buf)
    buf[2] &= ~CBAUD
    buf[2] |= BOTHER
    buf[9] = buf[10] = baudrate
    assert(fcntl.ioctl(fd, TCSETS2, buf)==0)
    fcntl.ioctl(fd, TCGETS2, buf)
    if buf[9]!=baudrate or buf[10]!=baudrate:
        print("failed. speed is %d %d" % (buf[9],buf[10]))
        sys.exit(1)

set_special_baudrate(0, int(sys.argv[1]))

Step 2) Run the script to set your baud rate.
./set_custom_baud_rate.py <> /dev/ttyUSB0 250000

Step 3) You can now monitor your printer output in a terminal window simply with:
 tail -f /dev/ttyUSB0

Step 4) And finally, open up a new terminal window, and you can directly send M or Gcode to your printer; example:
echo "M115" >> /dev/ttyUSB0