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