Reading Layer Values¶
Reading Layer Values¶
1db = impact.active_database
2
3proj_name = "DB Mac Test 1"
4
5
6def describe_values(values):
7 for i in range(1, values.field_count + 1):
8 field = values.field_name(i)
9 val = values.load(field)
10
11 if val:
12 impact.gui.output_toolbox.add(str(field) + ": Array of " + str(len(val) - 1 - 0) + " bytes")
13 else:
14 impact.gui.output_toolbox.add(str(field) + ": " + str(val))
15
16def describe_item(db_item):
17 if db_item is None:
18 return
19
20 describe_values(db_item.values)
21
22 for layer in db_item.layers:
23 impact.gui.output_toolbox.add("**** Layer: " + layer.name + " ****")
24 impact.gui.output_toolbox.add("Layer Key: " + str(layer.key))
25 impact.gui.output_toolbox.add("Layer Type: " + str(layer.type))
26 impact.gui.output_toolbox.add("Layer Type Key: " + str(layer.type_key))
27 impact.gui.output_toolbox.add("Field Count: " + str(layer.values.field_count))
28
29 describe_values(layer.values)
30
31
32impact.gui.output_toolbox.clear()
33
34impact.gui.output_toolbox.add("**** Finding Project by Name '" + str(proj_name) + "' ****")
35describe_item(db.find_item_by_name(ipDrawingType.dtProject, proj_name))