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 text_entity = IText(text_entity._com_obj)
52 impact.gui.output_toolbox.add(" ")
53 impact.gui.output_toolbox.add("TEXT ENTITY")
54 impact.gui.output_toolbox.add(" ")
55
56 impact.gui.output_toolbox.add("Caption: " + str(text_entity.caption))
57 impact.gui.output_toolbox.add("Anchor X: " + str(text_entity.anchor.x))
58 impact.gui.output_toolbox.add("Anchor Y: " + str(text_entity.anchor.y))
59 impact.gui.output_toolbox.add("Horizontal Position: " + str(text_entity.horizontal_position))
60 impact.gui.output_toolbox.add("Vertical Position: " + str(text_entity.vertical_position))
61
62 # impact.gui.output_toolbox.add() "X Anchor Offset: " + TextEntity.x_anchor_offset
63 # impact.gui.output_toolbox.add() "Y Anchor Offset: " + TextEntity.y_anchor_offset
64 impact.gui.output_toolbox.add("Bounded: " + str(text_entity.bounded))
65 impact.gui.output_toolbox.add("Bound Height: " + str(text_entity.bound_height))
66 impact.gui.output_toolbox.add("Bound Width: " + str(text_entity.bound_width))
67 impact.gui.output_toolbox.add("Constrained: " + str(text_entity.constrained))
68 impact.gui.output_toolbox.add("Wordwrapping: " + str(text_entity.word_wrapping))
69 impact.gui.output_toolbox.add("Vertical Alignment: " + str(text_entity.vertical_alignment))
70
71 # impact.gui.output_toolbox.add() "Command: " + TextEntity.command
72
73 if text_entity.text_style.font.font_type == ipFontType.ftLine:
74 describe_line_text_style(text_entity.text_style)
75 else:
76 describe_true_type_text_style(text_entity.text_style)
77
78
79impact.gui.output_toolbox.clear()
80
81entities = active_block.entities
82
83for entity in entities:
84 if entity.entity_type == ipEntityType.etText:
85 describe_text(entity)