Writing Database Values (Python)

Writing Database Values (Python)
 1# This script shows how to write database values into a project,
 2# template or symbol. It also shows how to write values into
 3# a layer including using qualified LAYER columns
 4
 5drawing = impact.active_drawing
 6
 7if not drawing.isNone():
 8    values = drawing.database_values
 9
10    if drawing.drawing_type == ipDrawingType.dtProject or drawing.drawing_type == ipDrawingType.dtStandard:
11
12        # You can set impact.drawings columns directly
13        values.save("D_CODENUM", "P00001")
14        values.save("D_NAME", "COM Test 1")
15
16        # You can set the CUSTOMER by specifying D_CUSTOMER
17        values.save("D_CUSTOMER", 1)
18
19        # or by setting the customer property of the drawing
20        drawing.customer = impact.active_database.customers.find_by_code("(DEFAULT)")
21        layerValues = drawing.active_layer.database_values
22
23        # To set LAYERS columns you must qualify the column names
24        layerValues.save("LAYERS.L_NAME", "My Layer")
25
26        # You can set columns in the L_EXTRA table directly
27        layerValues.save("LENGTH", "100.00mm")
28        layerValues.save("WIDTH", "15.0in")
29        layerValues.save("HEIGHT", "10.250m")
30
31        # You can use strings or reals to assign distance/angle/real values
32        layerValues.save("BLANKX", 100.00)
33
34    elif drawing.drawing_type == ipDrawingType.dtTemplate:
35
36        values.save("D_CODENUM", "T00001")
37
38    elif drawing.drawing_type == ipDrawingType.dtSymbol or drawing.drawing_type == ipDrawingType.dtStandardPart:
39
40        values.save("S_CODENUM", "S00001")
41        values.save("S_CANSCALE", True)