Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


#18 It's easy to accidentally print hollow prints

Jeff Keegan

A problem that several of us have independently run into is a misunderstanding about how the extruder tabs in the Preferences window work, especially with respect to infill. This is something that once understood by the user isn't a problem anymore, but is an easy stumbling block for new users to the RepRap host software.

Here's the pattern that leads to the problem:
1) User installs RepRap Host software, and sees multiple extruder tabs.
2) User mistakes the multiple extruder tabs as support for multiple physical extruders, rather than what it actually is, support for multiple extruder PROFILES, which may or may not map to the same physical extruder.
3) User changes the NumberOfExtruders preference to 1, since they have one physical extruder on their RepRap.
4) User attempts to print an object, and seems to have success (because at least the perimeter is being printed), but misses the fact that infill isn't being printed. (The fact that a mininug is our traditional first print object doesn't help, as it's easy to miss that layers 1, 2, and 3 are missing infill)

The reason that the pattern above results in hollow prints is because the default value for Extruder0_MaterialType(name) is "PLA", and the default value for Extruder0_InFillMaterialType(name) is "PLA-infill". Even when the value of Extruder2_MaterialType(name) is "PLA-infill", it seems that the Extruder2 profile isn't seen, because NumberOfExtruders is set to 1.

At the very least, when trying to generate gcode, if the current extruder profile's "Extruder0_InFillMaterialType(name)" value doesn't map to an existing profile, a warning or error dialog/alert should be thrown up informing the user, rather than generating a potentially misleading gcode file which is missing any infill.

Workaround (for anyone reading this pre-fix): either set Extruder0_InFillMaterialType(name) to the same value as "Extruder0_MaterialType(name)" (if you've set NumberOfExtruders to 0), or restore NumberOfExtruders to a value high enough to include the default preference values for the named infill profile.