()
| 320 | |
| 321 | |
| 322 | def test_modifiers(): |
| 323 | |
| 324 | s1 = Sketch().push([(-2, 0), (2, 0)]).rect(1, 1).reset().vertices("<X").fillet(0.1) |
| 325 | |
| 326 | assert len(s1._faces.Faces()) == 2 |
| 327 | assert len(s1._faces.Edges()) == 10 |
| 328 | |
| 329 | s2 = Sketch().push([(-2, 0), (2, 0)]).rect(1, 1).reset().vertices(">X").chamfer(0.1) |
| 330 | |
| 331 | assert len(s2._faces.Faces()) == 2 |
| 332 | assert len(s2._faces.Edges()) == 10 |
| 333 | |
| 334 | s3 = Sketch().push([(-2, 0), (2, 0)]).rect(1, 1).reset().hull() |
| 335 | |
| 336 | assert len(s3._faces.Faces()) == 3 |
| 337 | assert s3._faces.Area() == approx(5) |
| 338 | |
| 339 | s4 = Sketch().push([(-2, 0), (2, 0)]).rect(1, 1).reset().hull() |
| 340 | |
| 341 | assert len(s4._faces.Faces()) == 3 |
| 342 | assert s4._faces.Area() == approx(5) |
| 343 | |
| 344 | s5 = ( |
| 345 | Sketch() |
| 346 | .push([(-2, 0), (0, 0), (2, 0)]) |
| 347 | .rect(1, 1) |
| 348 | .reset() |
| 349 | .faces("not >X") |
| 350 | .edges() |
| 351 | .hull() |
| 352 | ) |
| 353 | |
| 354 | assert len(s5._faces.Faces()) == 4 |
| 355 | assert s5._faces.Area() == approx(4) |
| 356 | |
| 357 | s6 = Sketch().segment((0, 0), (0, 1)).segment((1, 0), (2, 0)).hull() |
| 358 | |
| 359 | assert len(s6._faces.Faces()) == 1 |
| 360 | assert s6._faces.Area() == approx(1) |
| 361 | |
| 362 | with raises(ValueError): |
| 363 | Sketch().rect(1, 1).vertices().hull() |
| 364 | |
| 365 | with raises(ValueError): |
| 366 | Sketch().hull() |
| 367 | |
| 368 | s7 = Sketch().rect(2, 2).wires().offset(1) |
| 369 | |
| 370 | assert len(s7._faces.Faces()) == 2 |
| 371 | assert len(s7._faces.Edges()) == 4 + 4 + 4 |
| 372 | |
| 373 | s7.clean() |
| 374 | |
| 375 | assert len(s7._faces.Faces()) == 1 |
| 376 | assert len(s7._faces.Edges()) == 4 + 4 |
| 377 | |
| 378 | s8 = Sketch().rect(2, 2).wires().offset(-0.5, mode="s") |
| 379 |
nothing calls this directly
no test coverage detected