Page 1 of 2

[ADDED] Smarter Bridging

Posted: Tue Apr 28, 2015 8:00 pm
by furicks
Why doesn't the software have a setting to choose the shortest distance between 2 supported walls for the bridging. I've added an example of a place where the software selected the hardest possible bridge and caused less than desirable results. If this bridging had gone the other way it would have worked much better.
Capture.PNG

Re: Smarter Bridging

Posted: Wed Apr 29, 2015 8:22 am
by tonyno
+1

This has frustrated me, also.

Re: Smarter Bridging

Posted: Wed Apr 29, 2015 10:28 am
by JFettig
100% agreed! Its quite annoying!

Re: Smarter Bridging

Posted: Wed Apr 29, 2015 11:10 am
by JoeJ
I imagine the problem here is that there isn't anything to bridge between. There is nothing below your infill to support it!

If this part truly had something to support the bridging infill from below, then it would choose the correct distance. For example, try to slice this part (http://www.thingiverse.com/thing:124879). Notice that the software does adjust the infill direction to line up with the best supported direction.
bridge1.png
As another example, download the test file I attached (bridge2.stl). That part has support along all sides of the infill, and the software correctly chooses the best direction to bridge (see screenshot).
bridge2.png
So the software already does quite a bit of bridging calculations and will choose the best direction for your infill to minimize the length of each extrusion. However, if there is nothing at all to support the infill, then I guess there's not much it can do.

Edit: just in case any other users are having this problem, go to "edit process settings", select the Other tab, and make sure that your bridging area threshold is somewhere around 50 sq mm. If it is a larger value like 500 sq mm, it probably won't do any bridging for these small parts that I posted since the bridging regions are all too small.

Re: Smarter Bridging

Posted: Wed Apr 29, 2015 9:49 pm
by furicks
I'm not sure what you mean. The example I added is a hollow box tube. It's actually a model made out of box tube steel scaled down so there are walls on either side that would support the material. The perimeter which is double walled is jumping the gap in the shortest distance possible in the image. In an ideal scenario the bridge would go on the X axis perpendicular to the walls instead on along the Y Axis parallel to the walls. This is a great example because it's a bridge of just ~10 mm's vs a bridge of almost 80mm's.

I did try adjusting the infill angles in an attempt to change the behavior but it seems the bridging rules are following different guidelines. I have another example which is radial where the bridging chose what seems to be a less than optimal solution.

Edit:
I double checked the model you posted just to make sure I wasn't crazy. In some orientations the bridging still choose the long distance rather than the short distance (Rotate 90* on the Z Axis) In my example it wasn't possible to rotate the part 90* because of the build plate restrictions.
Capture.PNG

Re: Smarter Bridging

Posted: Sat May 02, 2015 4:34 pm
by JFettig
A simple fix for some parts is to change orientation, but if you have a bunch of bridges at different orientations, it'll usually just pick one orientation and go with it for all of them. It should always be the shortest distance IMO.

Re: Smarter Bridging

Posted: Sun May 03, 2015 9:45 pm
by mushoo
It'd also be nice if we could adjust the... start overlap? I'm not sure what to call it. But when bridging with S3D, it usually places a very small amount of the filament overlayed on the model before bridging (I'm assuming about one nozzle size). It'd be nice if we could adjust this, so that we could cause bridges to have a full millimeter or two of support overlap.

IE, instead of:

Code: Select all

     _______
|||||       |||||
we could have:

Code: Select all

  _____________
|||||       |||||

Re: Smarter Bridging

Posted: Wed Jul 08, 2015 9:20 am
by furicks
Version 3 does seem to have added some intelligence to the bridging. In some scenarios the bridging doesn't take the "shortest" path but it does take a very short path and essentially never does anything completely absurd. I'm assuming this is a balance between keeping the extruder moving / print speed and simplicity of bridging. However in the example I posted earlier the same absurd behavior exists. Because it is a long skinny bridge it should take the shortest path between the 2 support walls. This would result in an almost perfect bridge.

Instead it takes the longest path between the 2 far walls which are themselves only bridges.

Step 1 Build long walls along side of box tube.
Step 2 Draw outlines across gap to create a complete rectangular perimeter.
Step 3 SHOULD BE continue drawing directly across gap to create a bridge
Step 3 IS Attempt to connect the 2 perimeter bridges to each other using the longest possible bridge

I suspect this example is uniquely situated to trick the software. Perhaps it's unable to identify it as a bridge and so it just following a normal "floor" process. I have tried adjusting the "Unsupported area threshold" setting which seems to have no impact. It's really a problem for printing this kind of part and I'm sure it's not uncommon.

Re: Smarter Bridging

Posted: Wed Jul 08, 2015 9:38 am
by JoeJ
I just re-sliced the model you had referenced above after rotating 90 degrees. It behaves correctly now in v3 and doesn't take the longer path. So as far as I can see, every example in this thread is now working correctly in v3.0.

Honestly, if you're having trouble with a new part, I would probably start a new thread. People should probably making new threads at this point since so many things have changed in 3.0

Re: Smarter Bridging

Posted: Wed Jul 08, 2015 11:20 am
by furicks
The sample STL that was uploaded is working correctly now in all rotations I've tested. This is good news! Huzza 3.0 I will start a new thread for this other use case which appears to be something of an edge case.

Basically it's a rectangle tube. See you in the new thread!