What makes this script useful is that not only can it do standard bridges between edges, faces, and borders (in both Editable Poly and Edit_Poly modes), but it can also bridge two connected edges to form a triangle; something normal bridge can't do. Sure this could be done with the create tool but I find it much nicer to have as many functions on one hotkey as possible.
From quite a bit of use I can say the script is bug-free afaik, but if anyone ends up using it and has problems let me know.
macroScript BridgeReplace category: "GregsScripts" ( erStat = showEndResult showEndResult = false setCommandPanelTaskMode #modify --Needed for the next command to work. curSelStack = modpanel.getCurrentObject() --Gets the current modifier. if (superClassOf $ == GeometryClass) then modClass = classOf (modPanel.getCurrentObject()) ------------------------------------------ if (modClass == Editable_Poly) then ( --NOTE: bridging border edges in edge mode tends to give more twisted results then in border mode. if ((subObjectLevel==2 or subObjectLevel==3) and ($.selectedEdges.count >= 2)) then ( $.bridgeAdjacentAngle = 0 Edgs= polyop.GetEdgeSelection $ as array EdgA=PolyOp.getEdgeVerts $ Edgs[1] EdgB=PolyOp.getEdgeVerts $ Edgs[2] tmperf=0 if (EdgA[2]==EdgB[1] and Edgs.count==2) do ($.CreateFace #(EdgA[1], EdgA[2], EdgB[2]) ; tmperf=1) if (EdgB[2]==EdgA[1] and Edgs.count==2) do ($.CreateFace #(EdgB[1],EdgB[2],EdgA[2]) ; tmperf=1) if (tmperf==0) then ($.EditablePoly.Bridge ()) ) else if ((subObjectLevel == 4) and ($.selectedFaces.count >= 2)) then ($.EditablePoly.Bridge ()) ) ------------------------------------------ if (modClass == Edit_Poly) then if ((subObjectLevel==2 or subObjectLevel==3) and ((((curSelStack.getSelection #Edge) as array).count) >= 2)) then ( Edgs= ((curSelStack.getSelection #Edge) as array) EdgA=PolyOp.getEdgeVerts $ Edgs[1] EdgB=PolyOp.getEdgeVerts $ Edgs[2] tmperf=0 --FlipFace is just to get around a weird selection bug with the EditPoly modifier. if ((EdgA[2]==EdgB[1]) and (Edgs.count==2)) then ( curSelStack.CreateFace #(EdgA[1],EdgA[2],EdgB[2]) curSelStack.ButtonOp #FlipFace curSelStack.ButtonOp #FlipFace tmperf=1 ) if ((EdgA[1]==EdgB[2]) and (Edgs.count==2)) then ( curSelStack.CreateFace #(EdgB[1],EdgB[2],EdgA[2]) curSelStack.ButtonOp #FlipFace curSelStack.ButtonOp #FlipFace tmperf=1 ) if ((EdgA[1]==EdgB[1]) and (Edgs.count==2)) then --This is an extra step for problem geometry just in the EditPoly modifier. ( curSelStack.CreateFace #(EdgB[1],EdgB[2],EdgA[2]) curSelStack.ButtonOp #FlipFace curSelStack.ButtonOp #FlipFace tmperf=1 ) if (tmperf==0) then (curSelStack.ButtonOp #BridgeEdge) ) else if ((subObjectLevel==4) and (((($.Edit_Poly.getSelection #Face) as array).count) >= 2)) then (curSelStack.ButtonOp #BridgePolygon) showEndResult = erStat; CompleteRedraw() )