MCPcopy Index your code
hub / github.com/CadQuery/cadquery / test_text

Function test_text

tests/test_free_functions.py:507–562  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

505
506
507def test_text():
508
509 r1 = text("CQ", 10)
510
511 assert len(r1.Faces()) == 2
512 assert len(r1.Wires()) == 3
513 assert r1.Area() > 0.0
514
515 # test alignment
516 r2 = text("CQ", 10, halign="left")
517 r3 = text("CQ", 10, halign="right")
518 r4 = text("CQ", 10, valign="bottom")
519 r5 = text("CQ", 10, valign="top")
520
521 assert r2.faces("<X").Center().x > r1.faces("<X").Center().x
522 assert r1.faces("<X").Center().x > r3.faces("<X").Center().x
523 assert r4.faces("<X").Center().y > r1.faces("<X").Center().y
524 assert r1.faces("<X").Center().y > r5.faces("<X").Center().x
525
526 # test single letter
527 r6 = text("C", 1)
528
529 assert isinstance(r6, Face)
530 assert len(r6.Faces()) == 1
531 assert len(r6.Wires()) == 1
532
533 # test text on path
534 c = cylinder(10, 10).moved(rz=180)
535 cf = c.faces("%CYLINDER")
536 spine = c.edges("<Z")
537
538 r7 = text("CQ", 1, spine) # normal
539 r8 = text("CQ", 1, spine, planar=True) # planar
540 r9 = text("CQ", 1, spine, cf) # projected
541 r10 = text("C", 1, spine, planar=True) # single letter, planar
542 r11 = text("C", 1, spine, cf) # single letter, projected
543
544 assert r7.faces(">>Z").Center().z > 0
545 assert r7.faces("<<X").normalAt().dot(Vector(0, 0, 1)) == approx(0)
546 assert r7.faces("<<X").geomType() == "PLANE"
547
548 assert r8.faces(">>Z").Center().z == approx(0)
549 assert (r8.faces("<<X").normalAt() - Vector(0, 0, 1)).Length == approx(0)
550 assert r8.faces("<<X").geomType() == "PLANE"
551
552 assert r9.faces(">>Z").Center().z > 0
553 assert r9.faces("<<X").normalAt().dot(Vector(0, 0, 1)) == approx(0)
554 assert r9.faces("<<X").geomType() == "CYLINDER"
555
556 assert isinstance(r10, Face)
557 assert len(r10.Faces()) == 1
558 assert len(r10.Wires()) == 1
559
560 assert isinstance(r11, Face)
561 assert len(r11.Faces()) == 1
562 assert len(r11.Wires()) == 1
563
564

Callers

nothing calls this directly

Calls 13

textFunction · 0.85
cylinderFunction · 0.85
VectorClass · 0.85
WiresMethod · 0.80
dotMethod · 0.80
FacesMethod · 0.45
AreaMethod · 0.45
CenterMethod · 0.45
facesMethod · 0.45
movedMethod · 0.45
edgesMethod · 0.45
normalAtMethod · 0.45

Tested by

no test coverage detected