Describing all text entities in the drawing¶
Describing all text entities in the drawing¶
1# This example iterates all the entities in the active block
2# and describes the properties for each text entity and the
3# text style of the text entity
4
5
6entities = active_block.entities
7
8
9# Describe a font
10def describe_font(font):
11 impact.gui.output_toolbox.add("font Name: " + str(font.full_name))
12
13 if font.font_type == ipFontType.ftLine:
14 impact.gui.output_toolbox.add("font Type: Line font")
15 else:
16 impact.gui.output_toolbox.add("font Type: True Type font")
17
18# Describes common properties for text styles
19def describe_text_style(text_style):
20 describe_font(text_style.font)
21 impact.gui.output_toolbox.add("Height: " + str(text_style.height))
22 impact.gui.output_toolbox.add("Justification: " + str(text_style.justification))
23 impact.gui.output_toolbox.add("Orientation: " + str(text_style.orientation))
24 impact.gui.output_toolbox.add("Angle: " + str(text_style.angle))
25 impact.gui.output_toolbox.add("MirrorX: " + str(text_style.mirror_x))
26 impact.gui.output_toolbox.add("MirrorY: " + str(text_style.mirror_y))
27 impact.gui.output_toolbox.add("Leading: " + str(text_style.leading))
28
29# Describes properties relevant for line text styles
30def describe_line_text_style(text_style):
31 impact.gui.output_toolbox.add(" ")
32 impact.gui.output_toolbox.add("Width: " + str(text_style.width))
33 impact.gui.output_toolbox.add("Average Width: " + str(text_style.average_width))
34 impact.gui.output_toolbox.add("Tracking: " + str(text_style.tracking))
35 impact.gui.output_toolbox.add("Shear: " + str(text_style.shear))
36
37 describe_text_style(text_style)
38
39# Describes properties relevant for True type text styles
40def describe_true_type_text_style(text_style):
41 impact.gui.output_toolbox.add(" ")
42 impact.gui.output_toolbox.add("font Style: " + str(text_style.font_style))
43 impact.gui.output_toolbox.add("Outline: " + str(text_style.outline))
44 impact.gui.output_toolbox.add("Underline: " + str(text_style.underline))
45 impact.gui.output_toolbox.add("Strikethrough: " + str(text_style.strikethrough))
46
47 describe_text_style(text_style)
48
49# Describes the properties of the text entity
50def describe_text(text_entity):
51 impact.gui.output_toolbox.add(" ")
52 impact.gui.output_toolbox.add("TEXT ENTITY")
53 impact.gui.output_toolbox.add(" ")
54
55 impact.gui.output_toolbox.add("Caption: " + str(text_entity.caption))
56 impact.gui.output_toolbox.add("Anchor X: " + str(text_entity.anchor.x))
57 impact.gui.output_toolbox.add("Anchor Y: " + str(text_entity.anchor.y))
58 impact.gui.output_toolbox.add("Horizontal Position: " + str(text_entity.horizontal_position))
59 impact.gui.output_toolbox.add("Vertical Position: " + str(text_entity.vertical_position))
60
61 # impact.gui.output_toolbox.add() "X Anchor Offset: " + text_entity.x_anchor_offset
62 # impact.gui.output_toolbox.add() "Y Anchor Offset: " + text_entity.y_anchor_offset
63 impact.gui.output_toolbox.add("Bounded: " + str(text_entity.bounded))
64 impact.gui.output_toolbox.add("Bound Height: " + str(text_entity.bound_height))
65 impact.gui.output_toolbox.add("Bound Width: " + str(text_entity.bound_width))
66 impact.gui.output_toolbox.add("Constrained: " + str(text_entity.constrained))
67 impact.gui.output_toolbox.add("Wordwrapping: " + str(text_entity.word_wrapping))
68 impact.gui.output_toolbox.add("Vertical Alignment: " + str(text_entity.vertical_alignment))
69
70 # impact.gui.output_toolbox.add() "Command: " + text_entity.command
71
72 if entity.text_style.font.font_type == ipFontType.ftLine:
73 describe_line_text_style(entity.text_style)
74 else:
75 describe_true_type_text_style(entity.text_style)
76
77
78impact.gui.output_toolbox.clear()
79
80entities = active_block.entities
81
82for entity in entities:
83 if entity.entity_type == ipEntityType.etText:
84 describe_text(entity)