slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.35k stars 1.29k forks source link

Infill not joining internal perimeters; perimeters for small holes #4409

Open arrickg opened 6 years ago

arrickg commented 6 years ago

-Slic3r Version 1.2.9 -Windows 64-bit OS, x64-based processor -Similar issue(s): #1144 -- "Option for improving perimeter + infill sticking together"

I am having problems with infill joining the internal perimeters. I have tried increasing the overlap percentage, changing the nozzle size and settings, and changing temps. My current parameters work well for the external perimeters. However, the smaller, internal perimeters remain unconnected. This is problematic as I often print small parts with many cavities and holes.

I suspect that this has something to do with the accuracy limitations and mechanical backlash of my machine (a Hyrel Hydra 640); however, having additional flexibility with the gcode generation would be helpful. Would it be possible to create two distinct overlap percentage settings -- one for the internal perimeters, and one for the externals?

I am currently using a .30mm nozzle with ABS. Head temp is 250 degC, bed is 125 degC, heated chamber at 60 degC. Speeds are all 10mm/s, and I am using two perimeters with 100% infill (perimeters before infill). For more details, please refer to the attached a copy of my config as well as the sample STL. The subject holes are clearance holes for a 4-40 screw.

Arrick_Slic3r_Issue.zip

Below is a screen shot of a layer from Slic3r, as well as a picture of the print in progress...

arrick_05 11 2018_infill

img_1130

lordofhyphens commented 6 years ago

Try either 1.3.0 or 1.3.1-dev.

A 3d preview screenshot is better data for this kind of thing than the 2d one.

Tinchus2009 commented 6 years ago

can this be related to #4396?

arrickg commented 6 years ago

Hello @lordofhyphens, 1.3.0 does not seem to offer infill overlap settings for external and internal perimeters respectively, and the problem persists with infill not joining.

@Tinchus2009, the slicing and g-code generation appears to be correct (slightly different than #4396)

I have increased the flow parameter on my printer (a setting external to Slic3r), and this seems to have helped. Having said that, It would still be nice to have the feature I suggested above.

Any other suggestions?

Thank you all for your help so far.

lordofhyphens commented 6 years ago

Could you clarify what you mean by "external" perimeters?

For me it means the perimeter furthest away from the local model area.

foreachthing commented 6 years ago

I have tried increasing the overlap percentage...

Note1: some infill-patterns do not respect that setting!! Note2: trying different overlap settings ... none seem to do anything anymore in 1.3.1.! Note2: Nevermind! Latest build works as expected.

arrickg commented 6 years ago

@lordofhyphens, your definition of "external perimeters" seems fine to me (although, I'm honestly not sure how the local model area is determined). Also, to be clear, when I say internal perimeters, I am referring to round and/or rectangular holes with diameters less than 5mm. These features' perimeters seem to contract during deposition and cooling. The resulting perimeter is 10 to 20% smaller than spec. I can compensate for the size difference by changing the hole design, however, the subject issue persists.

@foreachthing, thanks for the input. Is there an optimal setting and/or version that you could recommend?

foreachthing commented 6 years ago

@arrickg, I just tried Slic3r-master.2018.05.09.1682.8dc6eca.64bit and there it works.

mrvn commented 6 years ago

Note: ABS shrinks as it cools. And printing small holes can pull the filament towards the iside of the hole giving smaller holes. So by the time the infill is printed the inner hole might have shrunk and the infill overlap then doesn't overlap anymore.

Have you tried the same model with PLA or a heated enclosure for your printer? Have you checked the designed and actual diameter of the holes?

arrickg commented 6 years ago

@mrvn Thank you for your reply. Yes, I think that what you described is what's happening in my setup. As I noted above, the deviation between my designed and measured spec is =< 20%. I have tried using PLA, and is has the same problem. My chamber is heated to 60 degC

I believe that a fix could be a software feature that detects small perimeters and allows the user to bump the overlap for those specific perimeters. Not sure how easy this would be to implement.

mrvn commented 6 years ago

I don't think the overlap is the problem. The shrinkage is. Imagine your inner hole 10-20% bigger and everything would be fine. A fix would be to model the amount of distortion you get from tension while printing and shrinkage from cooling. And I'm not sure this wouldn't be highly filament and temperature specific.

For example what if you raise your temperature 5° so the extruded filament is more liquid and isn't pulled inward as much when printing small holes? Or go faster or slower? How much does the distortion change with that?