Various block enquiries¶
Various block enquiries¶
1def extents_to_str(extents):
2 _result = "(" + str(extents.width) + " x " + str(extents.height) + ")"
3 return _result
4
5def block_tests(s, b):
6 impact.gui.output_toolbox.add("== " + str(s) + " ==")
7 impact.gui.output_toolbox.add("Extents: " + str(extents_to_str(b.extents)))
8 impact.gui.output_toolbox.add("Palette Extents <nothing>: " + str(extents_to_str(b.get_palette_extents(None))))
9 impact.gui.output_toolbox.add("Palette Extents ""Cut"": " + str(extents_to_str(b.get_palette_extents("Cut"))))
10 impact.gui.output_toolbox.add("Palette Extents (Cut): " + str(extents_to_str(b.get_palette_extents(active_drawing.palettes.item("Cut")))))
11
12 impact.gui.output_toolbox.add("Palettes Extents (Cut, Crease): " + str(extents_to_str(b.get_palette_extents(p))))
13
14 impact.gui.output_toolbox.add("Length (no recurse): " + str(b.get_length_of_entities(False)))
15 impact.gui.output_toolbox.add("Length (recurse): " + str(b.get_length_of_entities(True)))
16
17 impact.gui.output_toolbox.add("Palette Length (no recurse) <nothing>" + str(b.get_length_of_entities_by_palette(None, False)))
18 impact.gui.output_toolbox.add("Palette Length (recurse) <nothing>" + str(b.get_length_of_entities_by_palette(None, True)))
19
20 impact.gui.output_toolbox.add("Palette Length (no recurse) ""Cut"": " + str(b.get_length_of_entities_by_palette("Cut", False)))
21 impact.gui.output_toolbox.add("Palette Length (recurse) ""Cut"": " + str(b.get_length_of_entities_by_palette("Cut", True)))
22
23 impact.gui.output_toolbox.add("Palette Length (no recurse) (Cut): " + str(b.get_length_of_entities_by_palette(active_drawing.palettes.item("Cut"), False)))
24 impact.gui.output_toolbox.add("Palette Length (recurse) (Cut): " + str(b.get_length_of_entities_by_palette(active_drawing.palettes.item("Cut"), True)))
25
26 impact.gui.output_toolbox.add("Palettes Length (no recurse) (Cut, Crease): " + str(b.get_length_of_entities_by_palette(p, False)))
27 impact.gui.output_toolbox.add("Palettes Length (recurse) (Cut, Crease): " + str(b.get_length_of_entities_by_palette(p, True)))
28
29 enquire = b.enquire_lengths
30
31 # enquire.palettes = "Cut"
32 enquire.palettes = p
33
34 # enquire.palette_types = ipPaletteType.ptCut
35 # enquire.palette_types = pt
36 # enquire.rule_types = ipRuleType.rtNormal
37 # enquire.rule_types = rt
38 enquire.entity_types = ipEntityType.etLine
39
40 # enquire.entity_types = et
41 enquire.recurse = True
42
43 # enquire.block_or_symbol_name = "Block1"
44
45 enquire.perform()
46
47 impact.gui.output_toolbox.add("EnquireExtents: " + str(extents_to_str(enquire.extents)))
48 impact.gui.output_toolbox.add("EnquireLengths (Total): " + str(enquire.length))
49
50 for palette in p:
51 impact.gui.output_toolbox.add(" Palette: " + palette.full_name + ": " + str(palette.enquire_length))
52
53 inserts = b.enquire_insertions
54
55 inserts.recurse = False
56 inserts.perform()
57
58 for insert in inserts:
59 impact.gui.output_toolbox.add("Insert: " + insert.name + " Type: " + str(insert.type) + " Count: " + str(insert.count) + " Scale: " + str(insert.scale) + " Area: " + str(insert.area))
60
61 impact.gui.output_toolbox.add("")
62
63p = [None] * 2; pt = [None] * 2; et = [None] * 2; rt = [None] * 2
64
65p[0] = active_drawing.palettes.item("Cut")
66p[1] = active_drawing.palettes.item("Crease")
67
68pt[0] = ipPaletteType.ptCut
69pt[1] = ipPaletteType.ptCrease
70
71et[0] = ipEntityType.etLine
72et[1] = ipEntityType.etArc
73
74rt[0] = ipRuleType.rtWave
75rt[1] = ipRuleType.rtZigZag
76
77impact.gui.output_toolbox.clear()
78
79block_tests("ActiveLayer.RootBlock", impact.active_drawing.active_layer.root_block)
80
81for layer in active_drawing.layers:
82 block_tests("Layer: " + layer.full_name, layer.root_block)
83
84if not active_drawing.layers.item("B").isNone():
85 if not active_drawing.layers.item("B").blocks.item("Block1").isNone():
86 block_tests("Layer B: Block1", active_drawing.layers.item("B").blocks.item("Block1"))