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))