MCPcopy
hub / github.com/CadQuery/cadquery / test_modifiers

Function test_modifiers

tests/test_sketch.py:322–381  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

320
321
322def 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

Callers

nothing calls this directly

Calls 15

SketchClass · 0.90
resetMethod · 0.80
pushMethod · 0.80
EdgesMethod · 0.80
hullMethod · 0.80
segmentMethod · 0.80
offsetMethod · 0.80
filletMethod · 0.45
verticesMethod · 0.45
rectMethod · 0.45
FacesMethod · 0.45
chamferMethod · 0.45

Tested by

no test coverage detected