Saving Projects2¶
Saving Projects2¶
1impact.gui.output_toolbox.clear()
2drawing = impact.active_drawing
3database = impact.active_database
4
5if not drawing.isNone():
6 if drawing.drawing_type == ipDrawingType.dtProject:
7 save_opts = impact.creator.drawing_save_options()
8 db_item = drawing.database_item
9
10 # Here, if ONE_UP.ou_cadnum is required, these should fail and report OU_CADNUM is missing.
11 # or if there is an existing project having same D_CODENUM, this should fail and report duplicate.
12 if db_item is None:
13 folder = database.projects.find("COMTests")
14 drawing.database_values.save("D_GROUP", folder.key)
15 drawing.database_values.save("D_CUSTOMER", "3")
16 drawing.active_layer.database_values.save("OU_CADNUM", "")
17 drawing.active_layer.database_values.save("LAYERS.L_NAME", "a")
18 drawing.database_values.save("D_CODENUM", "P071429")
19 drawing.save_as2(save_opts)
20 else:
21 drawing.active_layer.database_values.save("OU_CADNUM", "")
22 drawing.save2(save_opts)
23
24 if save_opts.error_type == ipDrawingSaveErrorType.seNone:
25 impact.gui.output_toolbox.add("Successfully saved '" + drawing.full_name + "'")
26 elif save_opts.error_type == ipDrawingSaveErrorType.seUnknown:
27 impact.gui.output_toolbox.add("Unable to save " + drawing.full_name + " - unknown error")
28 else:
29 impact.gui.output_toolbox.add("Unable to save " + str(drawing.full_name))
30 columns = save_opts.error_column_names
31
32 if save_opts.error_layer.isNone():
33 obj_name = "in project data:"
34 else:
35 obj_name = "in " + str(save_opts.error_layer.layer_type) + " layer '" + save_opts.error_layer.full_name + "' data:"
36
37 if save_opts.error_type == ipDrawingSaveErrorType.seDuplicateData:
38 impact.gui.output_toolbox.add("Duplicate value " + str(obj_name))
39 else:
40 impact.gui.output_toolbox.add("Missing values " + str(obj_name))
41
42 for column in columns:
43 impact.gui.output_toolbox.add(" " + str(column))
44
45else:
46 impact.gui.output_toolbox.add("Current drawing is not a project")
47
48
49