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)