|   | 213 |  | 
                  
                          |   | 214 |  | 
                  
                          |   | 215 | == Rebro s spremenljivo zaokrožitvijo == | 
                  
                          |   | 216 | [[Image(elbow7.png,right)]] | 
                  
                          |   | 217 | Ker si nismo točno zastavili velikost rebra, je le ta podan kar v enaki velikosti | 
                  
                          |   | 218 | kot zunanji radi. Za izdelavo rebra je potrebno podati črto `aWire` in ravnino, ki | 
                  
                          |   | 219 | seka model in iz katere je potem v smeri dveh vektorjev izvečeno. | 
                  
                          |   | 220 | {{{ | 
                  
                          |   | 221 | #!python | 
                  
                          |   | 222 | # Izdelamo navadno rebro | 
                  
                          |   | 223 | rib_thickness = 6.0 # polovica debeline rebra | 
                  
                          |   | 224 | rib1 = gp_Pnt(2*R,R,0) | 
                  
                          |   | 225 | rib2 = gp_Pnt(R,2*R,0) | 
                  
                          |   | 226 | aPlane = Geom_Plane(0,0,1.0,0.0) | 
                  
                          |   | 227 | edge1 = BRepBuilderAPI_MakeEdge(rib1, rib2).Edge() | 
                  
                          |   | 228 | aWire = BRepBuilderAPI_MakeWire(edge1) | 
                  
                          |   | 229 | rib = BRepFeat_MakeLinearForm( myShp4.Shape(), aWire.Wire(), aPlane.GetHandle(), \ | 
                  
                          |   | 230 |                 gp_Vec(0.,0.,rib_thickness), gp_Vec(0.,0.,-rib_thickness), 1, True ) | 
                  
                          |   | 231 | rib.Perform() | 
                  
                          |   | 232 | }}} | 
                  
                          |   | 233 | V vogal želimo dodati tudi zaokrožitev z naraščajočim radijem.  | 
                  
                          |   | 234 | Poiščemo vse štiri robove na obeh debelinah rebra, ki imajo začetno in končno Z isto | 
                  
                          |   | 235 | in so vzporedni z osjo X ali Y ter jim dodamo spremenljivo debelino zaokrožitve. | 
                  
                          |   | 236 | Z nekaj sreče, ker je začetek in konec robov pravilno orientiran, lahko dodamo  | 
                  
                          |   | 237 | vsem najdenim robovom še naraščajočo zaokrožitev. | 
                  
                          |   | 238 | [[Image(elbow8.png,right)]] | 
                  
                          |   | 239 | {{{ | 
                  
                          |   | 240 | #!python | 
                  
                          |   | 241 | TOL=1E-6 | 
                  
                          |   | 242 | with_fillet = BRepFilletAPI_MakeFillet(rib.Shape()) | 
                  
                          |   | 243 | topology_traverser = Topo(rib.Shape()) | 
                  
                          |   | 244 | for aEdge in topology_traverser.edges():   | 
                  
                          |   | 245 |     first, last = TopExp().FirstVertex(aEdge), TopExp().LastVertex(aEdge) | 
                  
                          |   | 246 |     first_vert, last_vert = BRep_Tool().Pnt(first), BRep_Tool().Pnt(last) | 
                  
                          |   | 247 |     if abs(abs(first_vert.Z())-rib_thickness) < TOL and \ | 
                  
                          |   | 248 |        abs(first_vert.Z() - last_vert.Z()) < TOL and \ | 
                  
                          |   | 249 |       (abs(first_vert.X()-last_vert.X())<TOL or abs(first_vert.Y()-last_vert.Y())<TOL): | 
                  
                          |   | 250 |         with_fillet.Add(25, 0.0, aEdge) | 
                  
                          |   | 251 | }}} | 
                  
                          |   | 252 | Končni program z dodanim rebrom je podan v priponki kot [attachment:elbow.py] | 
                  
                          |   | 253 |  |